/**
 * Returns a per-key rate-limit function. Each call returns `{ allowed, retryAfterMs }`.
 * Timestamps older than `windowMs` are pruned on every check, so the limit is
 * enforced over a rolling window rather than a fixed clock interval.
 */
export declare function createRateLimiter(maxCalls: number, windowMs: number): (key: string) => {
    allowed: boolean;
    retryAfterMs: number;
};
