/**
 * Simple debouncer utility for batching rapid events
 */
export declare class Debouncer {
    private timeoutId;
    private readonly delay;
    constructor(delay?: number);
    /**
     * Debounce a function call. If called again before the delay expires,
     * the previous call is cancelled and a new timer is started.
     */
    debounce(fn: () => void | Promise<void>): void;
    /**
     * Cancel any pending debounced call
     */
    cancel(): void;
    /**
     * Check if there's a pending debounced call
     */
    isPending(): boolean;
}
//# sourceMappingURL=debouncer.d.ts.map