import { BatchQueue } from './BatchedEventsQueue'; import { ErrorBoundary } from './ErrorBoundary'; import { NetworkCore } from './NetworkCore'; import { PendingEvents } from './PendingEvents'; import { StatsigClientEmitEventFunc } from './StatsigClientBase'; import { StatsigEventInternal } from './StatsigEvent'; import { LogEventCompressionMode, LoggingEnabledOption, NetworkConfigCommon, StatsigOptionsCommon } from './StatsigOptionsCommon'; import { UrlConfiguration } from './UrlConfiguration'; type PrepareFlushCallBack = () => void; export declare class FlushCoordinator { private _flushInterval; private _batchQueue; private _pendingEvents; private _eventSender; private _onPrepareFlush; private _errorBoundary; private _cooldownTimer; private _maxIntervalTimer; private _hasRunQuickFlush; private _currentFlushPromise; private _creationTime; private _isShuttingDown; private _sdkKey; private _storageKey; constructor(batchQueue: BatchQueue, pendingEvents: PendingEvents, onPrepareFlush: PrepareFlushCallBack, sdkKey: string, network: NetworkCore, emitter: StatsigClientEmitEventFunc, logEventUrlConfig: UrlConfiguration, options: StatsigOptionsCommon | null, loggingEnabled: LoggingEnabledOption, errorBoundary: ErrorBoundary); setLoggingEnabled(loggingEnabled: LoggingEnabledOption): void; setLogEventCompressionMode(mode: LogEventCompressionMode): void; startScheduledFlushCycle(): void; stopScheduledFlushCycle(): void; addEvent(event: StatsigEventInternal): void; processManualFlush(): Promise; processShutdown(): Promise; private _executeFlush; checkQuickFlush(): void; private _attemptScheduledFlush; processLimitFlush(): void; private _processLimitFlushInternal; private _scheduleNextFlush; private _clearAllTimers; private _scheduleNoopPollTick; private _processNextBatch; private _processOneBatch; private _prepareQueueForFlush; containsAtLeastOneFullBatch(): boolean; convertPendingEventsToBatches(): number; private _handleFailure; loadAndRetryShutdownFailedEvents(): Promise; private _getStorageKey; private _saveShutdownFailedEventsToStorage; private _getShutdownFailedEventsFromStorage; } export {};