import UserEvent from "./UserEvent"; import { UserEventEmitter } from "./UserEventEmitter"; import { Scheduler } from "../scheduler/Scheduler"; import { EventDispatcher } from "./EventDispatcher"; import { OptOutManager } from "../optout/OptOutManager"; export default interface EventProcessor { process(event: UserEvent): void; flush(sync: boolean): void; close(): void; } export declare class DefaultEventProcessor extends UserEventEmitter implements EventProcessor { private readonly eventDispatcher; private readonly eventDispatchMaxSize; private readonly flushScheduler; private readonly flushIntervalMillis; private readonly optOutManager; private queue; private flushingJob; constructor(eventDispatcher: EventDispatcher, eventDispatchMaxSize: number, flushScheduler: Scheduler, flushIntervalMillis: number, optOutManager: OptOutManager); process(event: UserEvent): void; private enqueue; private scheduleFlush; flush(sync?: boolean): void; close(): void; }