import type { BetterSqlite3Database, EngineOpts } from '../../../types.js';
export interface IncrementalStmts {
    insertNode: {
        run: (...params: unknown[]) => unknown;
    };
    insertEdge: {
        run: (...params: unknown[]) => unknown;
    };
    getNodeId: {
        get: (...params: unknown[]) => {
            id: number;
        } | undefined;
    };
    countNodes: {
        get: (...params: unknown[]) => {
            c: number;
        } | undefined;
    };
    countEdges: {
        get: (...params: unknown[]) => {
            c: number;
        } | undefined;
    };
    listSymbols: {
        all: (...params: unknown[]) => unknown[];
    };
    findNodeInFile: {
        all: (...params: unknown[]) => unknown[];
    };
    findNodeByName: {
        all: (...params: unknown[]) => unknown[];
    };
}
interface RebuildResult {
    file: string;
    nodesAdded: number;
    nodesRemoved: number;
    edgesAdded: number;
    edgesBefore: number;
    deleted?: boolean;
    event?: string;
    symbolDiff?: unknown;
    nodesBefore?: number;
    nodesAfter?: number;
}
/**
 * Parse a single file and update the database incrementally.
 */
export declare function rebuildFile(db: BetterSqlite3Database, rootDir: string, filePath: string, stmts: IncrementalStmts, engineOpts: EngineOpts, cache: unknown, options?: {
    diffSymbols?: (old: unknown[], new_: unknown[]) => unknown;
}): Promise<RebuildResult | null>;
export {};
//# sourceMappingURL=incremental.d.ts.map