import ErrorBoundary from './ErrorBoundary'; import { EvaluationDetails } from './EvaluationMetadata'; import type { LogEvent } from './LogEvent'; import Identity from './StatsigIdentity'; import StatsigNetwork from './StatsigNetwork'; import StatsigSDKOptions from './StatsigSDKOptions'; import { StatsigUser } from './StatsigUser'; export default class StatsigLogger { private readonly _options; private readonly _identity; private readonly _network; private readonly _errorBoundary; private _queue; private _flushInterval; private _loggedErrors; private _failedLogEvents; private _exposureDedupeKeys; private _failedLogEventCount; constructor(options: StatsigSDKOptions, identity: Identity, network: StatsigNetwork, errorBoundary: ErrorBoundary); log(event: LogEvent): void; resetDedupeKeys(): void; logGateExposure(user: StatsigUser, gateName: string, gateValue: boolean, ruleID: string, secondaryExposures: Record[], details: EvaluationDetails, isManualExposure: boolean): void; logConfigExposure(user: StatsigUser, configName: string, ruleID: string, secondaryExposures: Record[], details: EvaluationDetails, isManualExposure: boolean): void; logLayerExposure(user: StatsigUser, configName: string, ruleID: string, secondaryExposures: Record[], allocatedExperiment: string | null, parameterName: string, isExplicitParameter: boolean, details: EvaluationDetails, isManualExposure: boolean): void; logConfigDefaultValueFallback: (user: StatsigUser, message: string, metadata: object) => void; shutdown(): void; flush(isClosing?: boolean): void; sendSavedRequests(): Promise; private _init; private _shouldLogExposure; private _saveFailedRequests; private _addFailedRequest; private _clearLocalStorageRequests; private _newFailedRequest; }