declare module 'astro:content' { interface Render { '.mdx': Promise<{ Content: import('astro').MarkdownInstance<{}>['Content']; headings: import('astro').MarkdownHeading[]; remarkPluginFrontmatter: Record; }>; } } declare module 'astro:content' { interface RenderResult { Content: import('astro/runtime/server/index.js').AstroComponentFactory; headings: import('astro').MarkdownHeading[]; remarkPluginFrontmatter: Record; } interface Render { '.md': Promise; } export interface RenderedContent { html: string; metadata?: { imagePaths: Array; [key: string]: unknown; }; } } declare module 'astro:content' { type Flatten = T extends { [K: string]: infer U } ? U : never; export type CollectionKey = keyof AnyEntryMap; export type CollectionEntry = Flatten; export type ContentCollectionKey = keyof ContentEntryMap; export type DataCollectionKey = keyof DataEntryMap; type AllValuesOf = T extends any ? T[keyof T] : never; type ValidContentEntrySlug = AllValuesOf< ContentEntryMap[C] >['slug']; /** @deprecated Use `getEntry` instead. */ export function getEntryBySlug< C extends keyof ContentEntryMap, E extends ValidContentEntrySlug | (string & {}), >( collection: C, // Note that this has to accept a regular string too, for SSR entrySlug: E, ): E extends ValidContentEntrySlug ? Promise> : Promise | undefined>; /** @deprecated Use `getEntry` instead. */ export function getDataEntryById( collection: C, entryId: E, ): Promise>; export function getCollection>( collection: C, filter?: (entry: CollectionEntry) => entry is E, ): Promise; export function getCollection( collection: C, filter?: (entry: CollectionEntry) => unknown, ): Promise[]>; export function getEntry< C extends keyof ContentEntryMap, E extends ValidContentEntrySlug | (string & {}), >(entry: { collection: C; slug: E; }): E extends ValidContentEntrySlug ? Promise> : Promise | undefined>; export function getEntry< C extends keyof DataEntryMap, E extends keyof DataEntryMap[C] | (string & {}), >(entry: { collection: C; id: E; }): E extends keyof DataEntryMap[C] ? Promise : Promise | undefined>; export function getEntry< C extends keyof ContentEntryMap, E extends ValidContentEntrySlug | (string & {}), >( collection: C, slug: E, ): E extends ValidContentEntrySlug ? Promise> : Promise | undefined>; export function getEntry< C extends keyof DataEntryMap, E extends keyof DataEntryMap[C] | (string & {}), >( collection: C, id: E, ): E extends keyof DataEntryMap[C] ? Promise : Promise | undefined>; /** Resolve an array of entry references from the same collection */ export function getEntries( entries: { collection: C; slug: ValidContentEntrySlug; }[], ): Promise[]>; export function getEntries( entries: { collection: C; id: keyof DataEntryMap[C]; }[], ): Promise[]>; export function render( entry: AnyEntryMap[C][string], ): Promise; export function reference( collection: C, ): import('astro/zod').ZodEffects< import('astro/zod').ZodString, C extends keyof ContentEntryMap ? { collection: C; slug: ValidContentEntrySlug; } : { collection: C; id: keyof DataEntryMap[C]; } >; // Allow generic `string` to avoid excessive type errors in the config // if `dev` is not running to update as you edit. // Invalid collection names will be caught at build time. export function reference( collection: C, ): import('astro/zod').ZodEffects; type ReturnTypeOrOriginal = T extends (...args: any[]) => infer R ? R : T; type InferEntrySchema = import('astro/zod').infer< ReturnTypeOrOriginal['schema']> >; type ContentEntryMap = { "blog": { "10-essential-web-development-tools-for-building-stunning-websites.mdx": { id: "10-essential-web-development-tools-for-building-stunning-websites.mdx"; slug: "10-essential-web-development-tools-for-building-stunning-websites"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "benefits-of-headless-cms-development-with-directus.mdx": { id: "benefits-of-headless-cms-development-with-directus.mdx"; slug: "benefits-of-headless-cms-development-with-directus"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "comparing-mvc-frameworks.mdx": { id: "comparing-mvc-frameworks.mdx"; slug: "comparing-mvc-frameworks"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "debugging-tips-for-astrojs.mdx": { id: "debugging-tips-for-astrojs.mdx"; slug: "debugging-tips-for-astrojs"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "dockerizing-front-end-development.mdx": { id: "dockerizing-front-end-development.mdx"; slug: "dockerizing-front-end-development"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "essential-frontend-tools-for-astro-js-developers.mdx": { id: "essential-frontend-tools-for-astro-js-developers.mdx"; slug: "essential-frontend-tools-for-astro-js-developers"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "exploring-nodejs-development-trends-2024.mdx": { id: "exploring-nodejs-development-trends-2024.mdx"; slug: "exploring-nodejs-development-trends-2024"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "getting-started-with-astrojs.mdx": { id: "getting-started-with-astrojs.mdx"; slug: "getting-started-with-astrojs"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "mastering-markdown.mdx": { id: "mastering-markdown.mdx"; slug: "mastering-markdown"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "modern-web-frameworks-introduction.mdx": { id: "modern-web-frameworks-introduction.mdx"; slug: "modern-web-frameworks-introduction"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "this-is-a-draft.mdx": { id: "this-is-a-draft.mdx"; slug: "this-is-a-draft"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "top-10-ides-for-astrojs.mdx": { id: "top-10-ides-for-astrojs.mdx"; slug: "top-10-ides-for-astrojs"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; "unleasing-the-power-of-astro-js-for-better-web-development.mdx": { id: "unleasing-the-power-of-astro-js-for-better-web-development.mdx"; slug: "unleasing-the-power-of-astro-js-for-better-web-development"; body: string; collection: "blog"; data: InferEntrySchema<"blog"> } & { render(): Render[".mdx"] }; }; }; type DataEntryMap = { }; type AnyEntryMap = ContentEntryMap & DataEntryMap; export type ContentConfig = typeof import("../../src/content/config.js"); }