import { m as ProviderConfig, t as LoadBalanceStrategy } from "./config-DDAC7XCF.js"; import { i as ProxyError, n as LoadBalancer, r as ProviderState } from "./types-CfIx-Sbs.js"; //#region src/services/proxy/loadBalancer.d.ts interface NormalizedProvider extends ProviderConfig { apiKeys: string[]; } declare class ProxyLoadBalancer implements LoadBalancer { #private; readonly strategy: LoadBalanceStrategy; constructor(strategy?: LoadBalanceStrategy, cooldownMs?: number); /** * Select a provider based on the load balancing strategy */ selectProvider(providers: NormalizedProvider[]): NormalizedProvider | null; /** * Select an API key for the given provider */ selectKey(provider: NormalizedProvider, state: ProviderState): string | null; /** * Report successful request */ reportSuccess(providerName: string, keyIndex: number): void; /** * Report error and potentially rotate key */ reportError(providerName: string, keyIndex: number, error: ProxyError): void; /** * Get provider state */ getProviderState(providerName: string): ProviderState | undefined; /** * Reset all provider states */ reset(): void; /** * Get statistics for all providers */ getStats(): Record; } //#endregion export { ProxyLoadBalancer as t };