import type { Document, NestedDocument } from './data-types.js'; import type { DataCache } from './DataCache.js'; export type GetDocumentTypeMapGen = ContentlayerGen extends { documentTypeMap: infer T; } ? T : Record; export type GetDocumentTypeGen = Name extends keyof GetDocumentTypeMapGen ? GetDocumentTypeMapGen[Name] : Document; export type GetDocumentTypesGen = ContentlayerGen extends { documentTypes: infer T; } ? T : Document; export type GetDocumentTypeNamesGen = ContentlayerGen extends { documentTypeNames: infer T; } ? T : string; export type GetNestedTypeMapGen = ContentlayerGen extends { objectTypeMap: infer T; } ? T : Record; export type GetNestedTypeGen = Name extends keyof GetNestedTypeMapGen ? GetNestedTypeMapGen[Name] : NestedDocument; export type GetNestedTypesGen = ContentlayerGen extends { objectTypes: infer T; } ? T : NestedDocument; export type GetNestedTypeNamesGen = ContentlayerGen extends { objectTypeNames: infer T; } ? T : string; export type GetAllTypeNamesGen = ContentlayerGen extends { allTypeNames: infer T; } ? T : string; export type GetDataExportsGen = ContentlayerGen extends { dataExports: infer T; } ? T : { allDocuments: DocumentGen[]; }; export type GetFieldNamesForDefinitionGen = DefName extends keyof GetDocumentTypeMapGen ? keyof GetDocumentTypeGen : keyof GetNestedTypeGen; declare global { interface ContentlayerGen { } } export type CacheGen = Omit & { documents: DocumentGen[]; }; export type DocumentGen = GetDocumentTypesGen; //# sourceMappingURL=gen.d.ts.map