export interface RateLimiterOptions {
    maxRequests: number;
    windowMs: number;
    retryAfterMs?: number;
    maxRetries?: number;
}
export declare class RateLimiter {
    private options;
    private requests;
    private retryCount;
    constructor(options: RateLimiterOptions);
    execute<T>(key: string, fn: () => Promise<T>): Promise<T>;
    private sleep;
    private is429Error;
    reset(): void;
}
