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: { "articles": { "en/2022.md": { id: "en/2022.md", slug: "2022", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".md"] }, "en/2023.md": { id: "en/2023.md", slug: "2023", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".md"] }, "en/after-effects-expressions.mdx": { id: "en/after-effects-expressions.mdx", slug: "after-effects-expressions", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".mdx"] }, "en/faq.md": { id: "en/faq.md", slug: "faq", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".md"] }, "en/gratuiste.md": { id: "en/gratuiste.md", slug: "gratuiste", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".md"] }, "en/sci-hub-blocage.mdx": { id: "en/sci-hub-blocage.mdx", slug: "sci-hub-unblock", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".mdx"] }, "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"> } & { render(): Render[".mdx"] }, "en/video-compression.mdx": { id: "en/video-compression.mdx", slug: "video-compression", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".mdx"] }, "fr/2022.md": { id: "fr/2022.md", slug: "2022", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".md"] }, "fr/2023.md": { id: "fr/2023.md", slug: "2023", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".md"] }, "fr/after-effects-expressions.md": { id: "fr/after-effects-expressions.md", slug: "after-effects-expressions", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".md"] }, "fr/faq.md": { id: "fr/faq.md", slug: "faq", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".md"] }, "fr/gratuiste.md": { id: "fr/gratuiste.md", slug: "gratuiste", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".md"] }, "fr/sci-hub-blocage.mdx": { id: "fr/sci-hub-blocage.mdx", slug: "sci-hub-blocage", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".mdx"] }, "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"> } & { render(): Render[".mdx"] }, "fr/video-compression.md": { id: "fr/video-compression.md", slug: "video-compression", body: string, collection: "articles", data: InferEntrySchema<"articles"> } & { render(): Render[".md"] }, }, "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"> } & { render(): Render[".md"] }, "en/array-vs-array.md": { id: "en/array-vs-array.md", slug: "array-vs-array", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".md"] }, "en/buttons.md": { id: "en/buttons.md", slug: "buttons", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".md"] }, "en/image-full.mdx": { id: "en/image-full.mdx", slug: "image-full", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".mdx"] }, "en/nuxt-graphql-static.md": { id: "en/nuxt-graphql-static.md", slug: "nuxt-graphql-static", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".md"] }, "en/super-cookies.md": { id: "en/super-cookies.md", slug: "super-cookies", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".md"] }, "en/toulouse-fun.md": { id: "en/toulouse-fun.md", slug: "toulouse-fun", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".md"] }, "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"> } & { render(): Render[".md"] }, "fr/array-vs-array.md": { id: "fr/array-vs-array.md", slug: "array-vs-array", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".md"] }, "fr/buttons.mdx": { id: "fr/buttons.mdx", slug: "buttons", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".mdx"] }, "fr/image-full.mdx": { id: "fr/image-full.mdx", slug: "image-full", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".mdx"] }, "fr/nuxt-graphql-static.md": { id: "fr/nuxt-graphql-static.md", slug: "nuxt-graphql-static", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".md"] }, "fr/super-cookies.mdx": { id: "fr/super-cookies.mdx", slug: "super-cookies", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".mdx"] }, "fr/toulouse-fun.md": { id: "fr/toulouse-fun.md", slug: "toulouse-fun", body: string, collection: "fragments", data: InferEntrySchema<"fragments"> } & { render(): Render[".md"] }, }, }; type ContentConfig = typeof import("../src/content/config"); }