import { FailureType, RescueState } from './types.js'; export type RescuePolicyAction = 'observe' | 'wait' | 'repair' | 'manual'; export type RetryMode = 'finite' | 'infinite'; export interface RescueRetryContext { mode: RetryMode; attempt: number; maxAttempts?: number; failureCount: number; firstFailureAtMs: number; } export interface RescueRuntimeContext { targetHost: string; budgetRemaining: number; lastRepairAtMs?: number; } export interface RescuePolicyInput { failureType: FailureType; currentState: RescueState; latestAttemptFailed: boolean; nowMs: number; retry: RescueRetryContext; rescue: RescueRuntimeContext; } export interface RescuePolicyConfig { failureThreshold: number; windowMs: number; cooldownMs: number; repairBudget: number; loopbackOnly: boolean; } export interface RescuePolicyDecision { action: RescuePolicyAction; reason: string; nextState: RescueState; nextBudgetRemaining: number; cooldownRemainingMs: number; } export declare function decideRescuePolicy(input: RescuePolicyInput, overrides?: Partial): RescuePolicyDecision; //# sourceMappingURL=rescue-policy.d.ts.map