import { DynamicConfigEvaluation, GateEvaluation, LayerEvaluation, SecondaryExposure } from './EvaluationTypes'; import { DynamicConfigEvaluationV2, GateEvaluationV2, LayerEvaluationV2 } from './EvaluationTypesV2'; import { ParamStoreConfig } from './ParamStoreTypes'; import { StatsigUser } from './StatsigUser'; type SessionReplayFields = { can_record_session?: boolean; recording_blocked?: boolean; session_recording_rate?: number; passes_session_recording_targeting?: boolean; session_recording_event_triggers?: Record; session_recording_exposure_triggers?: Record; session_recording_privacy_settings?: SessionReplayPrivacySettings; }; type SessionReplayTrigger = { values?: string[]; passes_sampling?: boolean; }; export type SessionReplayPrivacySettings = { privacy_mode?: 'min' | 'input' | 'max'; unmasked_elements?: string[]; masked_elements?: string[]; blocked_elements?: string[]; }; type AutoCaptureFields = { auto_capture_settings?: { disabled_events: Record; }; }; type InitResponseCommon = SessionReplayFields & AutoCaptureFields & { param_stores?: Record; time: number; has_updates: true; hash_used: 'none' | 'sha256' | 'djb2'; user: StatsigUser; sdkInfo?: Record; sdkParams?: Record; generator?: string; evaluated_keys?: Record; pa_hash?: string; derived_fields?: Record; sdk_flags?: Record; full_checksum?: string; exposures?: Record; }; export type InitializeResponseV1WithUpdates = InitResponseCommon & { feature_gates: Record; dynamic_configs: Record; layer_configs: Record; response_format?: 'init-v1' | null | undefined; }; export type InitializeResponseV2 = InitResponseCommon & { feature_gates: Record; dynamic_configs: Record; layer_configs: Record; values: Record>; response_format: 'init-v2'; }; export type InitializeResponse = InitializeResponseV1WithUpdates | { has_updates: false; }; export type ClientInitializeResponseOptions = { hash?: 'none' | 'sha256' | 'djb2'; clientSDKKey?: string; }; export type AnyInitializeResponse = InitializeResponseV1WithUpdates | InitializeResponseV2; export {};