import type { MarkdownHeading } from '@astrojs/markdown-remark'; import { type AstroComponentFactory } from '../runtime/server/index.js'; import type { ContentLookupMap } from './utils.js'; type LazyImport = () => Promise; type GlobResult = Record; type CollectionToEntryMap = Record; type GetEntryImport = (collection: string, lookupId: string) => Promise; export declare function defineCollection(config: any): any; export declare function createCollectionToGlobResultMap({ globResult, contentDir, }: { globResult: GlobResult; contentDir: string; }): CollectionToEntryMap; export declare function createGetCollection({ contentCollectionToEntryMap, dataCollectionToEntryMap, getRenderEntryImport, }: { contentCollectionToEntryMap: CollectionToEntryMap; dataCollectionToEntryMap: CollectionToEntryMap; getRenderEntryImport: GetEntryImport; }): (collection: string, filter?: ((entry: any) => unknown) | undefined) => Promise; export declare function createGetEntryBySlug({ getEntryImport, getRenderEntryImport, }: { getEntryImport: GetEntryImport; getRenderEntryImport: GetEntryImport; }): (collection: string, slug: string) => Promise<{ id: any; slug: any; body: any; collection: any; data: any; render(): Promise; } | undefined>; export declare function createGetDataEntryById({ getEntryImport }: { getEntryImport: GetEntryImport; }): (collection: string, id: string) => Promise<{ id: any; collection: any; data: any; }>; type ContentEntryResult = { id: string; slug: string; body: string; collection: string; data: Record; render(): Promise; }; type DataEntryResult = { id: string; collection: string; data: Record; }; type EntryLookupObject = { collection: string; id: string; } | { collection: string; slug: string; }; export declare function createGetEntry({ getEntryImport, getRenderEntryImport, }: { getEntryImport: GetEntryImport; getRenderEntryImport: GetEntryImport; }): (collectionOrLookupObject: string | EntryLookupObject, _lookupId?: string) => Promise; export declare function createGetEntries(getEntry: ReturnType): (entries: { collection: string; id: string; }[] | { collection: string; slug: string; }[]) => Promise<(ContentEntryResult | DataEntryResult | undefined)[]>; type RenderResult = { Content: AstroComponentFactory; headings: MarkdownHeading[]; remarkPluginFrontmatter: Record; }; export declare function createReference({ lookupMap }: { lookupMap: ContentLookupMap; }): (collection: string) => import("zod").ZodEffects; export {};