type DebounceCallback = (key: string, data: T) => void; type ExpireCallback = (key: string, data: T) => void; interface DebouncerOptions { delay: number; expireAfter?: number; maxSize?: number; onExpire?: ExpireCallback; } export declare class PerKeyDebouncer { private map; private readonly delay; private readonly expireAfter?; private readonly maxSize; private readonly onExpire?; private readonly callback; constructor(callback: DebounceCallback, options: DebouncerOptions); push(key: string, data: T): void; get(key: string): T | undefined; has(key: string): boolean; cancel(key: string): void; flush(key: string): void; clear(): void; size(): number; entries(): [string, T][]; } export {};