export interface RateLimitConfig {
    limit: number;
    window: number;
    warningThreshold?: number;
    simulateExhaustion?: boolean;
    exhaustionProbability?: number;
}
export declare class RateLimitSimulator {
    private counters;
    private config;
    constructor(config?: RateLimitConfig);
    check(key?: string): {
        allowed: boolean;
        remaining: number;
        limit: number;
        reset: number;
        headers: Record<string, string>;
    };
    reset(key?: string): void;
    resetAll(): void;
    simulateScenario(scenario: 'normal' | 'warning' | 'exhausted' | 'recovering', key?: string): void;
}
//# sourceMappingURL=rate-limiter.d.ts.map