/**
 * Compute diff-impact analysis between two git refs (or staged changes).
 * Uses execFileSync (via runGitDiff) to avoid shell injection.
 */
export declare function diffImpactData(customDbPath: string, opts?: {
    noTests?: boolean;
    depth?: number;
    staged?: boolean;
    ref?: string;
    includeImplementors?: boolean;
    limit?: number;
    offset?: number;
    config?: any;
}): ({
    changedFiles: number;
    newFiles: string[];
    affectedFunctions: unknown[];
    affectedFiles: string[];
    historicallyCoupled: unknown[];
    ownership: null;
    boundaryViolations: import("../../features/boundaries.js").BoundaryViolation[];
    boundaryViolationCount: number;
    summary: null;
} & {
    _pagination?: import("../../shared/paginate.js").PaginationMeta;
}) | ({
    changedFiles: number;
    newFiles: string[];
    affectedFunctions: {
        name: string;
        kind: import("../../types.js").AnyNodeKind;
        file: string;
        line: number;
        transitiveCallers: number;
        levels: {
            [x: number]: {
                name: string;
                kind: string;
                file: string;
                line: number;
                viaImplements?: boolean;
            }[];
        };
        edges: {
            from: string;
            to: string;
        }[];
    }[];
    affectedFiles: string[];
    historicallyCoupled: {
        file: string;
        coupledWith: string;
        commitCount: number;
        jaccard: number;
    }[];
    ownership: {
        owners: {
            [k: string]: string[];
        };
        affectedOwners: string[];
        suggestedReviewers: string[];
    } | null;
    boundaryViolations: import("../../features/boundaries.js").BoundaryViolation[];
    boundaryViolationCount: number;
    summary: {
        functionsChanged: number;
        callersAffected: number;
        filesAffected: number;
        historicallyCoupledCount: number;
        ownersAffected: number;
        boundaryViolationCount: number;
    };
} & {
    _pagination?: import("../../shared/paginate.js").PaginationMeta;
}) | {
    error: string | undefined;
    changedFiles?: undefined;
    newFiles?: undefined;
    affectedFunctions?: undefined;
    affectedFiles?: undefined;
    summary?: undefined;
} | {
    changedFiles: number;
    newFiles: never[];
    affectedFunctions: never[];
    affectedFiles: never[];
    summary: null;
    error?: undefined;
};
//# sourceMappingURL=diff-impact.d.ts.map