declare module 'astro:content' { export 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; }; } type Flatten = T extends { [K: string]: infer U } ? U : never; export type CollectionKey = keyof DataEntryMap; export type CollectionEntry = Flatten; type AllValuesOf = T extends any ? T[keyof T] : never; export type ReferenceDataEntry< C extends CollectionKey, E extends keyof DataEntryMap[C] = string, > = { collection: C; id: E; }; export type ReferenceLiveEntry = { collection: C; id: string; }; export function getCollection>( collection: C, filter?: (entry: CollectionEntry) => entry is E, ): Promise; export function getCollection( collection: C, filter?: (entry: CollectionEntry) => unknown, ): Promise[]>; export function getLiveCollection( collection: C, filter?: LiveLoaderCollectionFilterType, ): Promise< import('astro').LiveDataCollectionResult, LiveLoaderErrorType> >; export function getEntry< C extends keyof DataEntryMap, E extends keyof DataEntryMap[C] | (string & {}), >( entry: ReferenceDataEntry, ): E extends keyof DataEntryMap[C] ? 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] ? string extends keyof DataEntryMap[C] ? Promise | undefined : Promise : Promise | undefined>; export function getLiveEntry( collection: C, filter: string | LiveLoaderEntryFilterType, ): Promise, LiveLoaderErrorType>>; /** Resolve an array of entry references from the same collection */ export function getEntries( entries: ReferenceDataEntry[], ): Promise[]>; export function render( entry: DataEntryMap[C][string], ): Promise; export function reference< C extends | keyof DataEntryMap // 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. | (string & {}), >( collection: C, ): import('astro/zod').ZodPipe< import('astro/zod').ZodString, import('astro/zod').ZodTransform< C extends keyof DataEntryMap ? { collection: C; id: string; } : never, string > >; type ReturnTypeOrOriginal = T extends (...args: any[]) => infer R ? R : T; type InferEntrySchema = import('astro/zod').infer< ReturnTypeOrOriginal['schema']> >; type InferLoaderSchema< C extends keyof DataEntryMap, L = Required['loader'], > = L extends { schema: import('astro/zod').ZodSchema } ? import('astro/zod').infer['loader']['schema']> : any; type DataEntryMap = { }; type ExtractLoaderTypes = T extends import('astro/loaders').LiveLoader< infer TData, infer TEntryFilter, infer TCollectionFilter, infer TError > ? { data: TData; entryFilter: TEntryFilter; collectionFilter: TCollectionFilter; error: TError } : { data: never; entryFilter: never; collectionFilter: never; error: never }; type ExtractEntryFilterType = ExtractLoaderTypes['entryFilter']; type ExtractCollectionFilterType = ExtractLoaderTypes['collectionFilter']; type ExtractErrorType = ExtractLoaderTypes['error']; type LiveLoaderDataType = LiveContentConfig['collections'][C]['schema'] extends undefined ? ExtractDataType : import('astro/zod').infer< Exclude >; type LiveLoaderEntryFilterType = ExtractEntryFilterType; type LiveLoaderCollectionFilterType = ExtractCollectionFilterType; type LiveLoaderErrorType = ExtractErrorType< LiveContentConfig['collections'][C]['loader'] >; export type ContentConfig = never; export type LiveContentConfig = never; }