/**
 * @license
 * Copyright 2025 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import type { AIProvider, ProviderOptions, ProviderResponse, ProviderConfig } from './types.js';
export type { ProviderOptions };
/**
 * Manages AI providers with fallback and load balancing
 */
export declare class ProviderManager {
    private registry;
    private configs;
    constructor(configs: ProviderConfig[]);
    private initializeProviders;
    /**
     * Execute with automatic fallback to available providers
     */
    executeWithFallback(prompt: string, options?: ProviderOptions): Promise<ProviderResponse>;
    /**
     * Execute with a specific provider
     */
    executeWithProvider(providerName: string, prompt: string, options?: ProviderOptions): Promise<ProviderResponse>;
    /**
     * Get available providers
     */
    getAvailableProviders(): string[];
    /**
     * Get a provider instance by name
     */
    getProvider(name: string): AIProvider | undefined;
    /**
     * Get provider information
     */
    getProviderInfo(providerName: string): Promise<{
        available: boolean;
        models: any[];
        limits: any;
    } | null>;
    /**
     * Test all providers
     */
    testProviders(): Promise<Record<string, boolean>>;
    private isRateLimited;
    private updateUsageTracking;
    /**
     * Get usage statistics
     */
    getUsageStats(): Promise<Record<string, any>>;
}
