import { ConfigSpec } from '../ConfigSpec'; import { InitializationDetails, InitializationSource } from '../InitializationDetails'; import { UserPersistedValues } from '../interfaces/IUserPersistentStorage'; import { PersistentAssignmentOptions } from '../StatsigOptions'; import { StatsigUser } from '../StatsigUser'; type RequestContext = { caller?: string; configName?: string; clientKey?: string; hash?: string; eventCount?: number; bypassDedupe?: boolean; targetAppID?: string; user?: StatsigUser; spec?: ConfigSpec; userPersistedValues?: UserPersistedValues | null; persistentAssignmentOptions?: PersistentAssignmentOptions; }; export declare class StatsigContext { protected ctx: RequestContext; readonly startTime: number; readonly caller?: string; readonly eventCount?: number; readonly configName?: string; readonly clientKey?: string; readonly hash?: string; readonly bypassDedupe?: boolean; readonly userPersistedValues?: UserPersistedValues | null; readonly persistentAssignmentOptions?: PersistentAssignmentOptions; protected constructor(ctx: RequestContext); static new(ctx: RequestContext): StatsigContext; getContextForLogging(): object; getRequestContext(): RequestContext; } export declare class EvaluationContext extends StatsigContext { readonly user: StatsigUser; readonly spec: ConfigSpec; readonly targetAppID?: string; readonly onlyEvaluateTargeting?: boolean; samplingRate?: number | undefined; seenAnalyticalGates: boolean; protected constructor(ctx: RequestContext, user: StatsigUser, spec: ConfigSpec, targetAppID?: string, onlyEvaluateTargeting?: boolean, samplingRate?: number, seenAnalyticalGates?: boolean); static new(ctx: RequestContext & Required>): EvaluationContext; static get(ctx: RequestContext, evalCtx: { user: StatsigUser; spec: ConfigSpec; targetAppID?: string; onlyEvaluateTargeting?: boolean; samplingRate?: number; seenAnalyticalGates?: boolean; }): EvaluationContext; } export declare class InitializeContext extends StatsigContext { readonly sdkKey: string; private success; private error?; private source?; protected constructor(ctx: RequestContext, sdkKey: string); static new(ctx: RequestContext & { sdkKey: string; }): InitializeContext; setSuccess(source: InitializationSource): void; setFailed(error?: Error): void; getInitDetails(): InitializationDetails; } export declare class GlobalContext { static isEdgeEnvironment: boolean; } export {};