declare module 'astro:content' { interface Render { '.mdx': Promise<{ Content: import('astro').MarkdownInstance<{}>['Content']; headings: import('astro').MarkdownHeading[]; remarkPluginFrontmatter: Record; }>; } } declare module 'astro:content' { interface Render { '.md': Promise<{ Content: import('astro').MarkdownInstance<{}>['Content']; headings: import('astro').MarkdownHeading[]; remarkPluginFrontmatter: Record; }>; } } declare module 'astro:content' { export { z } from 'astro/zod'; export type CollectionEntry = (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').ZodDiscriminatedUnion | import('astro/zod').ZodIntersection< import('astro/zod').AnyZodObject, import('astro/zod').AnyZodObject >; type BaseSchema = | BaseSchemaWithoutEffects | import('astro/zod').ZodEffects; export type SchemaContext = { image: ImageFunction }; type BaseCollectionConfig = { schema?: S | ((context: SchemaContext) => S); }; export function defineCollection( input: BaseCollectionConfig ): BaseCollectionConfig; type EntryMapKeys = keyof typeof entryMap; type AllValuesOf = T extends any ? T[keyof T] : never; type ValidEntrySlug = AllValuesOf<(typeof entryMap)[C]>['slug']; export function getEntryBySlug< C extends keyof typeof entryMap, E extends ValidEntrySlug | (string & {}) >( collection: C, // Note that this has to accept a regular string too, for SSR entrySlug: E ): E extends ValidEntrySlug ? Promise> : Promise | undefined>; export function getCollection>( collection: C, filter?: (entry: CollectionEntry) => entry is E ): Promise; export function getCollection( collection: C, filter?: (entry: CollectionEntry) => unknown ): Promise[]>; type ReturnTypeOrOriginal = T extends (...args: any[]) => infer R ? R : T; type InferEntrySchema = import('astro/zod').infer< ReturnTypeOrOriginal['schema']> >; const entryMap: { "talks": { "about-drupal-association.md": { id: "about-drupal-association.md", slug: "about-drupal-association", body: string, collection: "talks", data: any } & { 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: "talks", data: any } & { 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: "talks", data: any } & { render(): Render[".md"] }, "building-static-websites-sculpin.md": { id: "building-static-websites-sculpin.md", slug: "building-static-websites-sculpin", body: string, collection: "talks", data: any } & { 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: "talks", data: any } & { render(): Render[".md"] }, "dancing-for-drupal.md": { id: "dancing-for-drupal.md", slug: "dancing-for-drupal", body: string, collection: "talks", data: any } & { render(): Render[".md"] }, "decoupling-drupal-vuejs.md": { id: "decoupling-drupal-vuejs.md", slug: "decoupling-drupal-vuejs", body: string, collection: "talks", data: any } & { render(): Render[".md"] }, "deploying-drupal-fabric.md": { id: "deploying-drupal-fabric.md", slug: "deploying-drupal-fabric", body: string, collection: "talks", data: any } & { render(): Render[".md"] }, "deploying-php-ansible-ansistrano.md": { id: "deploying-php-ansible-ansistrano.md", slug: "deploying-php-ansible-ansistrano", body: string, collection: "talks", data: any } & { render(): Render[".md"] }, "deploying-php-fabric.md": { id: "deploying-php-fabric.md", slug: "deploying-php-fabric", body: string, collection: "talks", data: any } & { render(): Render[".md"] }, "drupal-8-module-development.md": { id: "drupal-8-module-development.md", slug: "drupal-8-module-development", body: string, collection: "talks", data: any } & { 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: "talks", data: any } & { 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: "talks", data: any } & { render(): Render[".md"] }, "drupal-8.md": { id: "drupal-8.md", slug: "drupal-8", body: string, collection: "talks", data: any } & { render(): Render[".md"] }, "drupal-ldap-module.md": { id: "drupal-ldap-module.md", slug: "drupal-ldap-module", body: string, collection: "talks", data: any } & { render(): Render[".md"] }, "drupal-vm-generator.md": { id: "drupal-vm-generator.md", slug: "drupal-vm-generator", body: string, collection: "talks", data: any } & { 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: "talks", data: any } & { render(): Render[".md"] }, "drupalorg-2015.md": { id: "drupalorg-2015.md", slug: "drupalorg-2015", body: string, collection: "talks", data: any } & { render(): Render[".md"] }, "drush-make-drupalbristol.md": { id: "drush-make-drupalbristol.md", slug: "drush-make-drupalbristol", body: string, collection: "talks", data: any } & { 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: "talks", data: any } & { render(): Render[".md"] }, "git-flow.md": { id: "git-flow.md", slug: "git-flow", body: string, collection: "talks", data: any } & { 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: "talks", data: any } & { render(): Render[".md"] }, "introduction-to-mob-programming.md": { id: "introduction-to-mob-programming.md", slug: "introduction-to-mob-programming", body: string, collection: "talks", data: any } & { 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: "talks", data: any } & { 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: "talks", data: any } & { 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: "talks", data: any } & { 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: "talks", data: any } & { 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: "talks", data: any } & { render(): Render[".md"] }, "tdd-test-driven-drupal.md": { id: "tdd-test-driven-drupal.md", slug: "tdd-test-driven-drupal", body: string, collection: "talks", data: any } & { 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: "talks", data: any } & { 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: "talks", data: any } & { 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: "talks", data: any } & { 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: "talks", data: any } & { render(): Render[".md"] }, "working-with-workspace.md": { id: "working-with-workspace.md", slug: "working-with-workspace", body: string, collection: "talks", data: any } & { render(): Render[".md"] }, "working-without-workspace.md": { id: "working-without-workspace.md", slug: "working-without-workspace", body: string, collection: "talks", data: any } & { render(): Render[".md"] }, }, }; type ContentConfig = typeof import("../src/content/config"); }