export interface RuffFinding {
    rule: string;
    message: string;
    file: string;
    line: number;
    col: number;
    severity: "error" | "warning";
    containing_symbol?: {
        name: string;
        kind: string;
        start_line: number;
    };
}
export interface RuffResult {
    findings: RuffFinding[];
    total: number;
    by_rule: Record<string, number>;
    ruff_available: boolean;
}
/** Cached ruff availability — checked once per process. Exported for test reset. */
export declare let _ruffAvailable: boolean | null;
export declare function _resetRuffCache(): void;
/**
 * Run ruff on the repository and return structured findings.
 * Correlates each finding with the containing CodeSift symbol.
 */
export declare function runRuff(repo: string, options?: {
    categories?: string[];
    file_pattern?: string;
    max_results?: number;
}): Promise<RuffResult>;
//# sourceMappingURL=ruff-tools.d.ts.map