export declare enum KeyGenerationStrategy { SIMPLE = "simple", CLUSTER_SAFE = "cluster-safe" } export declare enum KeyType { SLIDING_WINDOW = "z", BLOCK = "block" } export interface SlidingWindowMember { timestamp: number; uniqueId: string; } export declare class KeyGenerator { private static readonly DEFAULT_PREFIX; private static readonly MAX_KEY_LENGTH; private static readonly FORBIDDEN_CHARS; private readonly prefix; private readonly strategy; constructor(options?: { prefix?: string; strategy?: KeyGenerationStrategy; }); generateKeys(identifier: string, throttlerName: string, prefix?: string): { zKey: string; blockKey: string; }; generateMember(timestamp: number, uniqueId?: string): string; parseMember(member: string): SlidingWindowMember | null; validateKey(key: string): boolean; private sanitizeComponent; private generateUniqueId; private escapeRegExp; }