import { LikeFetch } from './flagsmith-core'; import { IFlagsmithValue } from './types'; export declare const FLAG_EXPOSURE_EVENT = "$flag_exposure"; export declare const DEFAULT_EVENTS_API_URL = "https://events.api.flagsmith.com/"; export interface IEvent { event: string; feature_name: string | null; identifier: string | null; value: string | null; traits: Record | null; metadata: Record | null; timestamp: number; } export interface EventProcessorOptions { environmentKey: string; fetch: LikeFetch; eventsApiUrl?: string; maxBuffer?: number; flushInterval?: number; log?: (...args: any[]) => void; retryBackoffMs?: number; } interface EventArgs { identifier: string | null; value: IFlagsmithValue; traits: Record | null; metadata: Record | null; } interface TrackEventArgs extends EventArgs { event: string; } interface TrackExposureArgs extends EventArgs { featureName: string; } export declare class EventProcessor { private endpoint; private environmentKey; private fetch; private log; private maxBuffer; private flushInterval; private retryBackoffMs; private buffer; private dedupeKeys; private timer; constructor(opts: EventProcessorOptions); trackEvent(args: TrackEventArgs): void; trackExposureEvent(args: TrackExposureArgs): void; private bufferEvent; flush: () => Promise; start(): void; stop(): void; private postBatch; } export {};