import type { LLMProviderDefinition, LLMProviderId, RateLimitState, ProviderHealthStatus } from '../../types/index.js';
/**
 * Record a request against a provider's rate limit window.
 */
export declare function trackRequest(providerId: LLMProviderId, tokensUsed: number, limits: {
    requestsPerMinute: number;
    tokensPerMinute: number;
}): RateLimitState;
/**
 * Get the current rate limit state for a provider.
 */
export declare function getRateLimitState(providerId: LLMProviderId): RateLimitState | undefined;
/**
 * Check if a provider is near its rate limit (>80% capacity).
 */
export declare function isNearRateLimit(providerId: LLMProviderId): boolean;
/**
 * Get health status adjustment based on rate limiting.
 */
export declare function getRateLimitHealthStatus(providerId: LLMProviderId): ProviderHealthStatus;
/**
 * Get suggested alternative providers when one is near its rate limit.
 */
export declare function suggestAlternatives(currentProvider: LLMProviderId, allProviders: LLMProviderDefinition[]): LLMProviderId[];
/**
 * Reset all rate limit state (for testing).
 */
export declare function resetRateLimits(): void;
//# sourceMappingURL=rate-limiter.d.ts.map