import type { AssetProvenance, KnowledgeRequirement, KnowledgeSource, LessonExtension, ReplacementRecord } from "./contracts.ts"; export type KnowledgePack = { kernel: string; release: string; sources: KnowledgeSource[]; requirements: KnowledgeRequirement[]; extensions: LessonExtension[]; replacements: ReplacementRecord[]; assets: AssetProvenance[]; errors: string[]; }; export declare function knowledgeV2Dir(kernel: string): string; export declare function verifyKnowledgeV2(kernel: string): string[]; export declare function loadKnowledgeV2(siteOrKernel: string): KnowledgePack | undefined; export declare function lessonExtension(pack: KnowledgePack | undefined, id: string): LessonExtension | undefined; export declare function sourceFreshness(source: KnowledgeSource, now: Date, intervalDays: number): "current" | "due-for-maintenance" | "not-reviewed"; export declare function coverageReport(pack: KnowledgePack): { release: string; requirements: { id: string; authorityClass: string; implementationStatus: string; verifierId: string | null; }[]; missingClassification: string[]; }; /** v1 lesson ids stay valid. v2 records the version they map to. */ export declare function migrateLessonId(pack: KnowledgePack, id: string, version: number): { id: string; version: number; migrated: boolean; };