declare module 'astro:content' { export { z } from 'astro/zod'; export type CollectionEntry = (typeof entryMap)[C][keyof (typeof entryMap)[C]] & Render; 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; type BaseCollectionConfig = { schema?: S; slug?: (entry: { id: CollectionEntry['id']; defaultSlug: string; collection: string; body: string; data: import('astro/zod').infer; }) => string | Promise; }; 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 InferEntrySchema = import('astro/zod').infer< Required['schema'] >; type Render = { render(): Promise<{ Content: import('astro').MarkdownInstance<{}>['Content']; headings: import('astro').MarkdownHeading[]; remarkPluginFrontmatter: Record; }>; }; const entryMap: { "articles": { "en/2022.md": { id: "en/2022.md", slug: "2022", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "en/after-effects-expressions.mdx": { id: "en/after-effects-expressions.mdx", slug: "after-effects-expressions", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "en/faq.md": { id: "en/faq.md", slug: "faq", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "en/gratuiste.md": { id: "en/gratuiste.md", slug: "gratuiste", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "en/sci-hub-blocage.mdx": { id: "en/sci-hub-blocage.mdx", slug: "sci-hub-unblock", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "en/the-day-I-jamd.mdx": { id: "en/the-day-I-jamd.mdx", slug: "the-day-I-jamd", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "en/video-compression.mdx": { id: "en/video-compression.mdx", slug: "video-compression", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "fr/2022.md": { id: "fr/2022.md", slug: "2022", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "fr/after-effects-expressions.md": { id: "fr/after-effects-expressions.md", slug: "after-effects-expressions", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "fr/faq.md": { id: "fr/faq.md", slug: "faq", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "fr/gratuiste.md": { id: "fr/gratuiste.md", slug: "gratuiste", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "fr/sci-hub-blocage.mdx": { id: "fr/sci-hub-blocage.mdx", slug: "sci-hub-blocage", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "fr/the-day-I-jamd.mdx": { id: "fr/the-day-I-jamd.mdx", slug: "the-day-I-jamd", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, "fr/video-compression.md": { id: "fr/video-compression.md", slug: "video-compression", body: string, collection: "articles", data: InferEntrySchema<"articles"> }, }, "fragments": { "en/acme-sh-tls-cert.md": { id: "en/acme-sh-tls-cert.md", slug: "acme-sh-tls-cert", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "en/array-vs-array.md": { id: "en/array-vs-array.md", slug: "array-vs-array", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "en/buttons.md": { id: "en/buttons.md", slug: "buttons", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "en/image-full.mdx": { id: "en/image-full.mdx", slug: "image-full", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "en/nuxt-graphql-static.md": { id: "en/nuxt-graphql-static.md", slug: "nuxt-graphql-static", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "en/super-cookies.md": { id: "en/super-cookies.md", slug: "super-cookies", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "en/toulouse-fun.md": { id: "en/toulouse-fun.md", slug: "toulouse-fun", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "fr/acme-sh-tls-cert.md": { id: "fr/acme-sh-tls-cert.md", slug: "acme-sh-tls-cert", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "fr/array-vs-array.md": { id: "fr/array-vs-array.md", slug: "array-vs-array", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "fr/buttons.mdx": { id: "fr/buttons.mdx", slug: "buttons", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "fr/image-full.mdx": { id: "fr/image-full.mdx", slug: "image-full", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "fr/nuxt-graphql-static.md": { id: "fr/nuxt-graphql-static.md", slug: "nuxt-graphql-static", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "fr/super-cookies.md": { id: "fr/super-cookies.md", slug: "super-cookies", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, "fr/toulouse-fun.md": { id: "fr/toulouse-fun.md", slug: "toulouse-fun", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> }, }, }; type ContentConfig = typeof import("../src/content/config"); }