declare module 'astro:content' {
	interface Render {
		'.mdx': Promise<{
			Content: import('astro').MarkdownInstance<{}>['Content'];
			headings: import('astro').MarkdownHeading[];
			remarkPluginFrontmatter: Record<string, any>;
		}>;
	}
}

declare module 'astro:content' {
	interface Render {
		'.md': Promise<{
			Content: import('astro').MarkdownInstance<{}>['Content'];
			headings: import('astro').MarkdownHeading[];
			remarkPluginFrontmatter: Record<string, any>;
		}>;
	}
}

declare module 'astro:content' {
	export { z } from 'astro/zod';
	export type CollectionEntry<C extends keyof typeof entryMap> =
		(typeof entryMap)[C][keyof (typeof entryMap)[C]];

	// TODO: Remove this when having this fallback is no longer relevant. 2.3? 3.0? - erika, 2023-04-04
	/**
	 * @deprecated
	 * `astro:content` no longer provide `image()`.
	 *
	 * Please use it through `schema`, like such:
	 * ```ts
	 * import { defineCollection, z } from "astro:content";
	 *
	 * defineCollection({
	 *   schema: ({ image }) =>
	 *     z.object({
	 *       image: image(),
	 *     }),
	 * });
	 * ```
	 */
	export const image: never;

	// This needs to be in sync with ImageMetadata
	export type ImageFunction = () => import('astro/zod').ZodObject<{
		src: import('astro/zod').ZodString;
		width: import('astro/zod').ZodNumber;
		height: import('astro/zod').ZodNumber;
		format: import('astro/zod').ZodUnion<
			[
				import('astro/zod').ZodLiteral<'png'>,
				import('astro/zod').ZodLiteral<'jpg'>,
				import('astro/zod').ZodLiteral<'jpeg'>,
				import('astro/zod').ZodLiteral<'tiff'>,
				import('astro/zod').ZodLiteral<'webp'>,
				import('astro/zod').ZodLiteral<'gif'>,
				import('astro/zod').ZodLiteral<'svg'>
			]
		>;
	}>;

	type BaseSchemaWithoutEffects =
		| import('astro/zod').AnyZodObject
		| import('astro/zod').ZodUnion<import('astro/zod').AnyZodObject[]>
		| import('astro/zod').ZodDiscriminatedUnion<string, import('astro/zod').AnyZodObject[]>
		| import('astro/zod').ZodIntersection<
				import('astro/zod').AnyZodObject,
				import('astro/zod').AnyZodObject
		  >;

	type BaseSchema =
		| BaseSchemaWithoutEffects
		| import('astro/zod').ZodEffects<BaseSchemaWithoutEffects>;

	export type SchemaContext = { image: ImageFunction };

	type BaseCollectionConfig<S extends BaseSchema> = {
		schema?: S | ((context: SchemaContext) => S);
	};
	export function defineCollection<S extends BaseSchema>(
		input: BaseCollectionConfig<S>
	): BaseCollectionConfig<S>;

	type EntryMapKeys = keyof typeof entryMap;
	type AllValuesOf<T> = T extends any ? T[keyof T] : never;
	type ValidEntrySlug<C extends EntryMapKeys> = AllValuesOf<(typeof entryMap)[C]>['slug'];

	export function getEntryBySlug<
		C extends keyof typeof entryMap,
		E extends ValidEntrySlug<C> | (string & {})
	>(
		collection: C,
		// Note that this has to accept a regular string too, for SSR
		entrySlug: E
	): E extends ValidEntrySlug<C>
		? Promise<CollectionEntry<C>>
		: Promise<CollectionEntry<C> | undefined>;
	export function getCollection<C extends keyof typeof entryMap, E extends CollectionEntry<C>>(
		collection: C,
		filter?: (entry: CollectionEntry<C>) => entry is E
	): Promise<E[]>;
	export function getCollection<C extends keyof typeof entryMap>(
		collection: C,
		filter?: (entry: CollectionEntry<C>) => unknown
	): Promise<CollectionEntry<C>[]>;

	type ReturnTypeOrOriginal<T> = T extends (...args: any[]) => infer R ? R : T;
	type InferEntrySchema<C extends keyof typeof entryMap> = import('astro/zod').infer<
		ReturnTypeOrOriginal<Required<ContentConfig['collections'][C]>['schema']>
	>;

	const entryMap: {
		"talk": {
"about-drupal-association.md": {
  id: "about-drupal-association.md",
  slug: "about-drupal-association",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"automated-testing-test-driven-development-drupal-8.md": {
  id: "automated-testing-test-driven-development-drupal-8.md",
  slug: "automated-testing-test-driven-development-drupal-8",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"building-presenting-slide-decks-rst2pdf.md": {
  id: "building-presenting-slide-decks-rst2pdf.md",
  slug: "building-presenting-slide-decks-rst2pdf",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"building-static-websites-sculpin.md": {
  id: "building-static-websites-sculpin.md",
  slug: "building-static-websites-sculpin",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"configuring-all-the-things-drupal-8.md": {
  id: "configuring-all-the-things-drupal-8.md",
  slug: "configuring-all-the-things-drupal-8",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"dancing-for-drupal.md": {
  id: "dancing-for-drupal.md",
  slug: "dancing-for-drupal",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"decoupling-drupal-vuejs.md": {
  id: "decoupling-drupal-vuejs.md",
  slug: "decoupling-drupal-vuejs",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"deploying-drupal-fabric.md": {
  id: "deploying-drupal-fabric.md",
  slug: "deploying-drupal-fabric",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"deploying-php-ansible-ansistrano.md": {
  id: "deploying-php-ansible-ansistrano.md",
  slug: "deploying-php-ansible-ansistrano",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"deploying-php-fabric.md": {
  id: "deploying-php-fabric.md",
  slug: "deploying-php-fabric",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"drupal-8-module-development.md": {
  id: "drupal-8-module-development.md",
  slug: "drupal-8-module-development",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"drupal-8-php-libraries-drupalorg-api.md": {
  id: "drupal-8-php-libraries-drupalorg-api.md",
  slug: "drupal-8-php-libraries-drupalorg-api",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"drupal-8-rejoining-the-herd.md": {
  id: "drupal-8-rejoining-the-herd.md",
  slug: "drupal-8-rejoining-the-herd",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"drupal-8.md": {
  id: "drupal-8.md",
  slug: "drupal-8",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"drupal-ldap-module.md": {
  id: "drupal-ldap-module.md",
  slug: "drupal-ldap-module",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"drupal-vm-generator.md": {
  id: "drupal-vm-generator.md",
  slug: "drupal-vm-generator",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"drupal-vm-meet-symfony-console.md": {
  id: "drupal-vm-meet-symfony-console.md",
  slug: "drupal-vm-meet-symfony-console",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"drupalorg-2015.md": {
  id: "drupalorg-2015.md",
  slug: "drupalorg-2015",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"drush-make-drupalbristol.md": {
  id: "drush-make-drupalbristol.md",
  slug: "drush-make-drupalbristol",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"getting-your-data-into-drupal-8.md": {
  id: "getting-your-data-into-drupal-8.md",
  slug: "getting-your-data-into-drupal-8",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"git-flow.md": {
  id: "git-flow.md",
  slug: "git-flow",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"goodbye-drush-make-hello-composer.md": {
  id: "goodbye-drush-make-hello-composer.md",
  slug: "goodbye-drush-make-hello-composer",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"introduction-to-mob-programming.md": {
  id: "introduction-to-mob-programming.md",
  slug: "introduction-to-mob-programming",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"it-all-started-with-a-patch.md": {
  id: "it-all-started-with-a-patch.md",
  slug: "it-all-started-with-a-patch",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"modern-drupal-development-with-composer.md": {
  id: "modern-drupal-development-with-composer.md",
  slug: "modern-drupal-development-with-composer",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"out-of-the-box-initiative-update.md": {
  id: "out-of-the-box-initiative-update.md",
  slug: "out-of-the-box-initiative-update",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"so-what-is-this-drupal-thing.md": {
  id: "so-what-is-this-drupal-thing.md",
  slug: "so-what-is-this-drupal-thing",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"taking-flight-with-tailwind-css.md": {
  id: "taking-flight-with-tailwind-css.md",
  slug: "taking-flight-with-tailwind-css",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"tdd-test-driven-drupal.md": {
  id: "tdd-test-driven-drupal.md",
  slug: "tdd-test-driven-drupal",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"test-drive-twig-with-sculpin.md": {
  id: "test-drive-twig-with-sculpin.md",
  slug: "test-drive-twig-with-sculpin",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"things-you-should-know-about-php.md": {
  id: "things-you-should-know-about-php.md",
  slug: "things-you-should-know-about-php",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"upgrading-your-site-drupal-9.md": {
  id: "upgrading-your-site-drupal-9.md",
  slug: "upgrading-your-site-drupal-9",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"using-illuminate-collections-outside-laravel.md": {
  id: "using-illuminate-collections-outside-laravel.md",
  slug: "using-illuminate-collections-outside-laravel",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"working-with-workspace.md": {
  id: "working-with-workspace.md",
  slug: "working-with-workspace",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
"working-without-workspace.md": {
  id: "working-without-workspace.md",
  slug: "working-without-workspace",
  body: string,
  collection: "talk",
  data: InferEntrySchema<"talk">
} & { render(): Render[".md"] },
},

	};

	type ContentConfig = typeof import("../src/content/config");
}