import { type RateLimiter, type RateLimiterRequestOptions } from '../RateLimiter'; import { type RateLimiterStats } from '../RateLimiterStats'; export interface PartitionedRateLimiterOptions { getPartitionKey: (req: Req) => string | null; createChild: (partitionKey: string | null) => RateLimiter; } export declare class PartitionedRateLimiter implements RateLimiter { private readonly _children; private readonly _partitionKeyCallback; private readonly _createChildCallback; private _paused; constructor(options: PartitionedRateLimiterOptions); request(req: Req, options?: RateLimiterRequestOptions): Promise; clear(): void; pause(): void; resume(): void; getChildStats(partitionKey: string | null): RateLimiterStats | null; private _getChild; }