import { Marker } from './Diagnostics'; import { SamplingDecision } from './LogEventProcessor'; import { StatsigUser } from './StatsigUser'; export type LogEventData = { time: number; eventName: string; user: StatsigUser | null; value: string | number | null; metadata: Record | null; secondaryExposures: SecondaryExposure[]; statsigMetadata: Record | null; }; export type SecondaryExposure = { gate: string; gateValue: string; ruleID: string; }; export default class LogEvent { private time; private eventName; private user; private value; private metadata; private secondaryExposures; private statsigMetadata; constructor(eventName: string); setUser(user: StatsigUser): void; setValue(value: string | number | null): void; setMetadata(metadata: Record | null): void; setSamplingDecision(samplingDecision: SamplingDecision): void; setDiagnosticsMetadata(metadata: { context: string; markers: Marker[]; statsigOptions: object | undefined; }): void; setTime(time: number): void; setSecondaryExposures(exposures: SecondaryExposure[]): void; validate(): boolean; toObject(): LogEventData; }