/** * Event Throttler - Optimizes high-frequency event emissions * * Provides throttling and batching for ticker events to reduce overhead * and improve UI rendering performance */ export interface EventThrottlerConfig { /** Throttle interval in milliseconds (0 = disabled) */ throttleInterval?: number; /** Enable batching mode */ enableBatching?: boolean; /** Maximum batch size before auto-flush */ maxBatchSize?: number; } /** * EventThrottler class for optimizing event emissions */ export declare class EventThrottler { private readonly config; private throttleTimer; private rafId; private lastEvent; private eventBatch; private readonly emitFn; constructor(emitFn: (events: T | T[]) => void, config?: EventThrottlerConfig); /** * Emit event (with throttling/batching) */ emit(event: T): void; /** * Flush pending events immediately */ flush(): void; /** * Destroy throttler and cleanup resources */ destroy(): void; /** * Add event to batch */ private addToBatch; /** * Flush batch */ private flushBatch; /** * Schedule emit */ private scheduleEmit; /** * Cancel scheduled emit */ private cancelScheduled; } //# sourceMappingURL=EventThrottler.d.ts.map