export interface RateLimitOptions {
    limit: number;
    windowMs: number;
    now?: () => number;
}
export interface RateLimitResult {
    allowed: boolean;
    retryAfterMs: number;
}
export declare class InMemoryRateLimit {
    private readonly options;
    private readonly buckets;
    private readonly now;
    constructor(options: RateLimitOptions);
    consume(key: string): RateLimitResult;
    reset(key: string): void;
}
