import { readEvidenceIrStore } from "./ingestion/evidence-store.js"; import type { CodeAnchor } from "./code-evidence/types.js"; export declare const DRIFT_LEDGER_VERSION: 1; export type DriftVerdict = "fresh" | "drift_suspected" | "anchor_unresolvable"; export type DriftReason = "content_changed" | "range_out_of_bounds" | "file_missing" | "parser_version_changed"; export interface DriftLedgerEntry { claimId: string; pagePaths: string[]; anchor: CodeAnchor; checkedAt: string; observedRangeHash?: string; verdict: DriftVerdict; reason?: DriftReason; } export interface DriftLedger { version: typeof DRIFT_LEDGER_VERSION; checkedAt: string; entries: DriftLedgerEntry[]; } export interface DriftEvaluation { verdict: DriftVerdict; reason?: DriftReason; observedRangeHash?: string; } export interface StaleClaimsForPage { claimIds: string[]; reason: Exclude; } export interface DriftSummary { checkedAt: string; scope: "all" | "paths"; paths: string[]; totalAnchors: number; checkedAnchors: number; fresh: number; driftSuspected: number; anchorUnresolvable: number; topDrifted: Array<{ claimId: string; pagePaths: string[]; path: string; startLine: number; endLine: number; reason: DriftReason; citationCount: number; }>; recommendedClaimIds: string[]; } export declare function normalizeRepositoryPath(value: string): string; export declare function evaluateCodeAnchor(params: { anchor: CodeAnchor; content: string | null; parserVersion?: string; }): DriftEvaluation; export declare function driftLedgerFile(wikiRoot: string): string; export declare function readDriftLedger(wikiRoot: string): Promise; export declare function detectCodeDrift(params: { repositoryRoot: string; wikiRoot: string; paths?: readonly string[]; checkedAt?: string; topLimit?: number; writeLedger?: boolean; signal?: AbortSignal; }): Promise<{ summary: DriftSummary; entries: DriftLedgerEntry[]; }>; export declare function staleClaimsByPage(wikiRoot: string, readStore?: () => ReturnType): Promise>; //# sourceMappingURL=drift-detection.d.ts.map