import type { MarkdownKnowledge, Projection } from "./types.js"; export type ExtractionSummary = { filesScanned: number; filesMatched: number; conceptsExtracted: number; projectionsGenerated: number; zeroExtractionWarning: boolean; }; /** * Compute a deterministic fingerprint of the canonical markdown sources. * The hash is stable across runs as long as the source file set and contents * are unchanged. */ export declare function computeSourceStateHash(sources: MarkdownKnowledge[]): string; /** * Extract knowledge from all Markdown files under a directory. */ export declare function extractDirectoryKnowledge(dir: string): Promise<{ sources: MarkdownKnowledge[]; filesScanned: number; filesMatched: number; }>; /** * Run the full Documentation Expedition. * * @param sources Extracted markdown knowledge sources. * @param outDir Directory to write generated documentation. * @returns The generated projections. */ export declare function runDocumentationExpedition(sources: MarkdownKnowledge[], outDir: string): Promise; /** * Run the Documentation Expedition from the project knowledge base. * * @param knowledgeBaseDir Root directory containing markdown sources (e.g. ./docs). * @param outDir Directory to write generated documentation. * @param linkPrefix Optional relative prefix from the final output directory to * the knowledge base. If omitted, it is computed from `outDir`. Use this when * files are written to a temporary directory and then moved to their final * location, so source links resolve correctly from the published docs. */ export declare function documentFromKnowledgeBase(knowledgeBaseDir: string, outDir: string, linkPrefix?: string): Promise<{ projections: Projection[]; summary: ExtractionSummary; }>;