type IndexedDiscoveredFile = {
    file: string;
    mtime: number;
};
export interface ContextIndexFileRecord {
    file: string;
    mtime: number;
    imports: string[];
    importedBy: string[];
    exports: string[];
    localFunctions: string[];
    calledSymbols: string[];
    importCallTargets: string[];
    relationships: string[];
    moduleGroup: string;
}
export interface ContextImpactAnalysis {
    changedFiles: string[];
    forwardDependencies: string[];
    reverseDependencies: string[];
    impactedFiles: string[];
    dependencyDistances: Record<string, number>;
    dependencyChains: Record<string, string[]>;
}
export interface ContextIndexState {
    artifactType: "kiwi-control/context-index";
    version: 2;
    timestamp: string;
    indexedFiles: number;
    updatedFiles: string[];
    removedFiles: string[];
    reusedFiles: number;
    files: ContextIndexFileRecord[];
    reverseDependencies: Record<string, string[]>;
    lastChangedFiles: string[];
    lastImpact: ContextImpactAnalysis;
}
export interface BuildContextIndexOptions {
    targetRoot: string;
    discoveredFiles: IndexedDiscoveredFile[];
    changedFiles: string[];
}
export declare function loadContextIndex(targetRoot: string): Promise<ContextIndexState | null>;
export declare function buildContextIndex(options: BuildContextIndexOptions): Promise<ContextIndexState>;
export declare function persistContextIndex(targetRoot: string, state: ContextIndexState): Promise<string>;
export declare function deriveModuleGroup(filePath: string): string;
export {};
//# sourceMappingURL=context-index.d.ts.map