import type { LoadBalancingPolicy, RoutePoolTier } from '../types.js';
import type { ProviderRegistry } from '../provider-registry.js';
export type ResolvedTierLoadBalancing = {
    strategy: LoadBalancingPolicy['strategy'];
    weights?: Record<string, number>;
};
export declare function resolveTierLoadBalancing(tier: RoutePoolTier, globalPolicy?: LoadBalancingPolicy): ResolvedTierLoadBalancing;
export declare function resolveGroupWeight(groupId: string, weights?: Record<string, number>): number;
export declare function buildGroupWeights(groups: Map<string, string[]>, weights?: Record<string, number>): Record<string, number> | undefined;
export declare function hasNonUniformWeights(candidates: string[], weights?: Record<string, number>): boolean;
export declare function buildCandidateWeights(opts: {
    candidates: string[];
    providerRegistry: ProviderRegistry;
    staticWeights?: Record<string, number>;
    dynamicWeights?: Record<string, number>;
}): Record<string, number> | undefined;
