import BatchEventProcessor from './batch-event-processor'; import Event from './event'; import EventDispatcher from './event-dispatcher'; import NamedEventQueue from './named-event-queue'; import NetworkStatusListener from './network-status-listener'; export type EventDispatcherConfig = { sdkKey: string; ingestionUrl: string; deliveryIntervalMs: number; retryIntervalMs: number; maxRetryDelayMs: number; maxRetries?: number; }; export type EventContext = Record; export declare const DEFAULT_EVENT_DISPATCHER_BATCH_SIZE = 1000; export declare const DEFAULT_EVENT_DISPATCHER_CONFIG: Omit; /** * @internal * An {@link EventDispatcher} that, given the provided config settings, delivers events in batches * to the ingestionUrl and retries failed deliveries. Also reacts to network status changes to * determine when to deliver events. */ export default class DefaultEventDispatcher implements EventDispatcher { private readonly batchProcessor; private readonly networkStatusListener; private readonly eventDelivery; private readonly retryManager; private readonly deliveryIntervalMs; private readonly context; private dispatchTimer; private isOffline; constructor(batchProcessor: BatchEventProcessor, networkStatusListener: NetworkStatusListener, config: EventDispatcherConfig); attachContext(key: string, value: string | number | boolean | null): void; dispatch(event: Event): void; private ensureValidContext; private ensureValidEvent; private deliverNextBatch; private maybeScheduleNextDelivery; private ensureConfigFields; } /** Creates a new {@link DefaultEventDispatcher} with the provided configuration. */ export declare function newDefaultEventDispatcher(eventQueue: NamedEventQueue, networkStatusListener: NetworkStatusListener, sdkKey: string, batchSize?: number, config?: Omit): EventDispatcher; //# sourceMappingURL=default-event-dispatcher.d.ts.map