/**
 * Cooldown Manager Module
 *
 * Manages provider cooldown TTLs and health snapshot persistence.
 */
import type { VirtualRouterHealthSnapshot, VirtualRouterHealthStore, ProviderHealthConfig } from '../types.js';
export declare class CooldownManager {
    private providerCooldowns;
    private healthStore?;
    private healthConfig;
    private quotaView?;
    constructor(deps?: {
        healthStore?: VirtualRouterHealthStore;
        healthConfig?: ProviderHealthConfig | null;
        quotaView?: (providerKey: string) => {
            selectionPenalty?: number;
        } | undefined;
    });
    updateDeps(deps: {
        healthStore?: VirtualRouterHealthStore | null;
        healthConfig?: ProviderHealthConfig | null;
        quotaView?: (providerKey: string) => {
            selectionPenalty?: number;
        } | undefined | null;
    }): void;
    markProviderCooldown(providerKey: string, cooldownMs: number | undefined): void;
    clearProviderCooldown(providerKey: string): void;
    isProviderCoolingDown(providerKey: string): boolean;
    restoreHealthFromStore(): void;
    buildHealthSnapshot(): VirtualRouterHealthSnapshot;
    persistHealthSnapshot(): void;
    clearAllCooldowns(): void;
    getCooldownMap(): Map<string, number>;
}
