import type { HealthWeightedLoadBalancingConfig, ProviderQuotaViewEntry } from './types.js';
export type ResolvedHealthWeightedConfig = Required<{
    enabled: boolean;
    baseWeight: number;
    minMultiplier: number;
    beta: number;
    halfLifeMs: number;
    recoverToBestOnRetry: boolean;
}>;
/**
 * AWRR constant table (defaults).
 *
 * Notes:
 * - `minMultiplier=0.5` is the "50% of baseline share" floor: penalties will not reduce a key below ~half of
 *   its initial (equal) share within the same pool bucket.
 * - `halfLifeMs=10min` means: if no new errors occur, the effect of the last error decays by 50% every 10 minutes.
 * - `beta` controls how quickly errors reduce share; tune carefully.
 */
export declare const DEFAULT_HEALTH_WEIGHTED_CONFIG: ResolvedHealthWeightedConfig;
export declare function resolveHealthWeightedConfig(raw?: HealthWeightedLoadBalancingConfig | null): ResolvedHealthWeightedConfig;
export declare function computeHealthMultiplier(entry: ProviderQuotaViewEntry | null, nowMs: number, cfg: ResolvedHealthWeightedConfig): number;
export declare function computeHealthWeight(entry: ProviderQuotaViewEntry | null, nowMs: number, cfg: ResolvedHealthWeightedConfig): {
    weight: number;
    multiplier: number;
};
