import ConfigEvaluation from './ConfigEvaluation'; import { Marker } from './Diagnostics'; import ErrorBoundary from './ErrorBoundary'; import LogEvent, { SecondaryExposure } from './LogEvent'; import { ExplicitStatsigOptions, StatsigOptions } from './StatsigOptions'; import { StatsigUser } from './StatsigUser'; import { AbortSignalLike } from './utils/AbortSignalLike'; import StatsigFetcher from './utils/StatsigFetcher'; export declare class SamplingDecision { shouldLog: boolean; samplingRate: number | undefined; shadowLogged: string | undefined; samplingMode: string | undefined; constructor(shouldLog: boolean, samplingRate?: number, shadowLogged?: string, samplingMode?: string); static createForceLog(samplingMode: string | null): SamplingDecision; } export default class LogEventProcessor { private explicitOptions; private optionsLoggiingCopy; private fetcher; private queue; private flushTimer; private loggedErrors; private deduper; private deduperTimer; private sessionID; private errorBoundary; private _sampling_key_set; private samplingKeyTimer; constructor(fetcher: StatsigFetcher, errorBoundry: ErrorBoundary, explicitOptions: ExplicitStatsigOptions, optionsLoggiingCopy: StatsigOptions, sessionID: string); log(event: LogEvent, errorKey?: string | null): void; flush(fireAndForget?: boolean, abortSignal?: AbortSignalLike): Promise; shutdown(timeout?: number): Promise; logStatsigInternal(user: StatsigUser | null, eventName: string, metadata: Record | null, secondaryExposures?: SecondaryExposure[] | null, value?: string | number | null, samplingDecision?: SamplingDecision): void; logGateExposure(user: StatsigUser, gateName: string, evaluation: ConfigEvaluation, isManualExposure: boolean): void; getGateExposureMetadata(gateName: string, evaluation: ConfigEvaluation, isManualExposure: boolean): Record; getGateExposure(user: StatsigUser, gateName: string, evaluation: ConfigEvaluation, isManualExposure: boolean): LogEvent; logConfigExposure(user: StatsigUser, configName: string, evaluation: ConfigEvaluation, isManualExposure: boolean): void; getConfigExposure(user: StatsigUser, configName: string, evaluation: ConfigEvaluation, isManualExposure: boolean): LogEvent; getConfigExposureMetadata(configName: string, evaluation: ConfigEvaluation, isManualExposure: boolean): Record; logLayerExposure(user: StatsigUser, layerName: string, parameterName: string, evaluation: ConfigEvaluation, isManualExposure: boolean): void; getLayerExposureMetadata(layerName: string, parameterName: string, evaluation: ConfigEvaluation, isManualExposure: boolean): Record; getLayerExposure(user: StatsigUser, layerName: string, parameterName: string, evaluation: ConfigEvaluation, isManualExposure: boolean): LogEvent; logConfigDefaultValueFallback(user: StatsigUser, message: string, metadata: Record): void; private maybeAddManualExposureFlagToMetadata; private safeAddEvaulationDetailsToEvent; private isUniqueExposure; logDiagnosticsEvent(diagnostics: { context: string; markers: Marker[]; }, user?: StatsigUser | null): void; private addDiagnosticsMarkers; private determineSamplingDecision; private get_sdk_environment_tier; }