import { ExecutorKind } from './TaskExecutor';
export interface RuntimePolicyDecision {
    preferred: ExecutorKind[];
    rationale: string;
}
export declare class RuntimePolicy {
    private executorHealth;
    private runtimeHealth;
    constructor();
    decide(intent: string, explicitExecutors?: ExecutorKind[]): RuntimePolicyDecision;
    private getStrictModelExecutors;
    recordResult(executor: ExecutorKind, ok: boolean, reason?: string): void;
    status(): {
        executors: Record<string, import("./ExecutorHealth").ExecutorHealthState>;
        cooldowns: Record<string, import("./RuntimeHealthMonitor").RuntimeCooldownState>;
    };
    saveSnapshot(): string;
}
