export type ExposureScanKind = "workspace" | "history";
export type ExposureSeverity = "high" | "medium";
export interface ExposureFinding {
    source: ExposureScanKind;
    detector: string;
    severity: ExposureSeverity;
    path: string;
    line: number;
    column: number;
    preview: string;
    commit?: string;
}
export interface ExposureScanResult {
    version: 1;
    source: ExposureScanKind;
    root: string;
    redacted: true;
    limits: {
        findings: number;
        maxFileBytes?: number;
        maxFiles?: number;
        maxBytesScanned?: number;
        maxCommits?: number;
        timeoutMs?: number;
    };
    stats: {
        filesScanned: number;
        filesSkipped: number;
        bytesScanned: number;
        commitsScanned?: number;
        errors: string[];
    };
    findings: ExposureFinding[];
    findingCount: number;
    truncated: boolean;
    truncatedReason?: "findings" | "max_files" | "max_bytes" | "timeout" | "git_output";
}
export interface WorkspaceExposureScanOptions {
    root?: string;
    limit?: number;
    maxFileBytes?: number;
    maxFiles?: number;
    maxBytesScanned?: number;
    timeoutMs?: number;
}
export interface HistoryExposureScanOptions {
    root?: string;
    limit?: number;
    maxCommits?: number;
    timeoutMs?: number;
}
export declare function scanWorkspaceExposures(options?: WorkspaceExposureScanOptions): ExposureScanResult;
export declare function scanHistoryExposures(options?: HistoryExposureScanOptions): ExposureScanResult;
//# sourceMappingURL=scanner.d.ts.map