import { z } from 'zod';
import { LlmClient } from '../adapters/llm.js';
declare const VerdictSchema: z.ZodObject<{
    race: z.ZodBoolean;
    confidence: z.ZodNumber;
    reason: z.ZodString;
}, z.core.$strip>;
export type RaceVerdict = z.infer<typeof VerdictSchema>;
export interface RaceCheckInput {
    file: string;
    line: number;
    /** Detection pattern: read-modify-write | promise-all | emitter-handler. */
    pattern: 'read-modify-write' | 'promise-all' | 'emitter-handler';
    /** Canonical shared target (e.g. `this.tally`, `userCache`). */
    target: string;
    /** Surrounding function source — trimmed to ≤ 42 lines by the detector. */
    enclosingSource: string;
    /** Optional function or method name for context. */
    enclosingName?: string;
}
export declare class RaceConfirmer {
    private llm;
    private cache;
    constructor(llm?: LlmClient);
    confirm(input: RaceCheckInput): Promise<RaceVerdict | null>;
}
export {};
//# sourceMappingURL=race-confirmer.d.ts.map