export interface FailoverEntry {
    provider: string;
    model: string;
    apiKey?: string;
    baseURL?: string;
    healthy: boolean;
    lastError?: string;
    lastChecked?: number;
    consecutiveFailures: number;
}
export interface FailoverConfig {
    maxRetries: number;
    cooldownMs: number;
    healthCheckIntervalMs: number;
}
export declare class ModelFailoverChain {
    private chain;
    private config;
    constructor(chain?: Partial<FailoverEntry>[], config?: Partial<FailoverConfig>);
    addProvider(entry: Omit<FailoverEntry, 'healthy' | 'consecutiveFailures'>): void;
    getNextProvider(): FailoverEntry | null;
    markFailed(provider: string, error: string): void;
    markHealthy(provider: string): void;
    resetAll(): void;
    getStatus(): Array<{
        provider: string;
        model: string;
        healthy: boolean;
        failures: number;
    }>;
    static fromEnvironment(): ModelFailoverChain;
}
