/** * Simple mutex implementation for preventing race conditions */ export declare class Mutex { private locked; private queue; acquire(): Promise; release(): void; runExclusive(fn: () => Promise): Promise; isLocked(): boolean; } /** * Rate limiter to prevent rapid successive calls */ export declare class RateLimiter { private lastCall; private minInterval; constructor(minIntervalMs?: number); throttle(): Promise; } /** * Debouncer to prevent rapid repeated calls */ export declare class Debouncer { private timeoutId; private lastCallTime; debounce any>(fn: T, delayMs?: number): (...args: Parameters) => Promise>; getLastCallTime(): number; } //# sourceMappingURL=mutex.d.ts.map