import { z } from 'zod';
import { LlmClient } from '../adapters/llm.js';
declare const VerdictSchema: z.ZodObject<{
    intentional: z.ZodBoolean;
    confidence: z.ZodNumber;
    reason: z.ZodString;
}, z.core.$strip>;
export type MutationVerdict = z.infer<typeof VerdictSchema>;
export interface MutationCheckInput {
    file: string;
    line: number;
    /** Free-text pattern label: 'array-mutator' / 'object-assign' / etc. */
    pattern: string;
    /** Whether the deterministic layer detected escape. */
    escapes: boolean;
    /** The flagged mutation code (e.g. `record.tag = tag`). */
    snippet: string;
    /** Surrounding function source, trimmed to a few lines around the mutation. */
    enclosingSource: string;
    /** Optional function or method name for context. */
    enclosingName?: string;
}
export declare class MutationConfirmer {
    private llm;
    private cache;
    constructor(llm?: LlmClient);
    confirm(input: MutationCheckInput): Promise<MutationVerdict | null>;
}
export {};
//# sourceMappingURL=mutation-confirmer.d.ts.map