export declare const CHANGE_EVENTS_FILENAME = "change-events.ndjson";
export declare const DEFAULT_MAX_BYTES: number;
export declare function changeEventsPath(rootDir: string): string;
interface SymbolEntry {
    name: string;
    kind: string;
    line: number;
}
interface SymbolDiff {
    added: Array<{
        name: string;
        kind: string;
        line: number;
    }>;
    removed: Array<{
        name: string;
        kind: string;
    }>;
    modified: Array<{
        name: string;
        kind: string;
        line: number;
    }>;
}
export declare function diffSymbols(oldSymbols: SymbolEntry[], newSymbols: SymbolEntry[]): SymbolDiff;
interface ChangeEvent {
    ts: string;
    file: string;
    event: string;
    symbols: unknown;
    counts: {
        nodes: {
            before: number;
            after: number;
        };
        edges: {
            added: number;
        };
    };
}
interface ChangeEventCounts {
    nodesBefore?: number;
    nodesAfter?: number;
    edgesAdded?: number;
}
export declare function buildChangeEvent(file: string, event: string, symbolDiff: unknown, counts: ChangeEventCounts): ChangeEvent;
export declare function appendChangeEvents(rootDir: string, events: ChangeEvent[]): void;
export declare function rotateIfNeeded(filePath: string, maxBytes?: number): void;
export {};
//# sourceMappingURL=change-journal.d.ts.map