/** * Stops a turn that keeps being refused. * * Auto never interrupts the user, so nothing outside the agent breaks a refusal loop. An agent * that reacts to a refusal by trying a variation of the same action would otherwise keep going * until the model gives up on its own. * * Two limits run together. A short run of refusals with nothing working in between means the * agent is stuck right now, and any successful action clears it. A high refusal rate over a long * stretch means the turn as a whole is going badly, so that one is not cleared by success. */ export declare const MAX_CONSECUTIVE_AUTO_PERMISSION_DENIALS = 3; export declare const MAX_RECENT_AUTO_PERMISSION_DENIALS = 10; export declare const AUTO_PERMISSION_DENIAL_WINDOW = 50; export declare class AutoPermissionDenialCircuitBreaker { #private; /** Records a refusal and reports whether this one should end the turn. */ recordDenial(): boolean; recordAllowed(): void; describeStop(): string; }