import type FDv2ConnectionMode from '../api/datasource/FDv2ConnectionMode'; import type { AutomaticModeSwitchingConfig, LDClientDataSystemOptions, ManualModeSwitching } from '../api/datasource/LDClientDataSystemOptions'; /** * Internal data system options that extend the public type with fields * that are set by platform SDKs but not exposed to end users. */ export interface InternalDataSystemOptions extends LDClientDataSystemOptions { /** * The default foreground connection mode for this platform. * Populated from platform defaults during validation. */ foregroundConnectionMode?: FDv2ConnectionMode; /** * The connection mode to use when the application transitions to the background. * Set by platform SDKs (e.g., mobile) via platform defaults. */ backgroundConnectionMode?: FDv2ConnectionMode; } /** * Platform-specific default configuration for the FDv2 data system. * Internal to the SDK — not exposed to end users. */ export interface PlatformDataSystemDefaults { /** The default foreground connection mode for this platform. */ readonly foregroundConnectionMode: FDv2ConnectionMode; /** The default background connection mode, if any. */ readonly backgroundConnectionMode?: FDv2ConnectionMode; /** Whether automatic mode switching is enabled by default. */ readonly automaticModeSwitching: boolean | AutomaticModeSwitchingConfig | ManualModeSwitching; } declare const dataSystemValidators: { backgroundConnectionMode: import("@launchdarkly/js-sdk-common").OneOf; automaticModeSwitching: import("../configuration/validateOptions").CompoundValidator; connectionModes: import("../configuration/validateOptions").CompoundValidator; }; /** * Default FDv2 data system configuration for browser SDKs. */ declare const BROWSER_DATA_SYSTEM_DEFAULTS: PlatformDataSystemDefaults; /** * Default FDv2 data system configuration for mobile (React Native) SDKs. */ declare const MOBILE_DATA_SYSTEM_DEFAULTS: PlatformDataSystemDefaults; /** * Default FDv2 data system configuration for desktop SDKs (Electron, etc.). */ declare const DESKTOP_DATA_SYSTEM_DEFAULTS: PlatformDataSystemDefaults; /** * Resolve the foreground connection mode from a validated data system config * and platform defaults. Uses the mode from `ManualModeSwitching` when present, * otherwise falls back to the platform default. */ declare function resolveForegroundMode(dataSystem: InternalDataSystemOptions, defaults: PlatformDataSystemDefaults): FDv2ConnectionMode; export { dataSystemValidators, resolveForegroundMode, BROWSER_DATA_SYSTEM_DEFAULTS, MOBILE_DATA_SYSTEM_DEFAULTS, DESKTOP_DATA_SYSTEM_DEFAULTS, }; //# sourceMappingURL=LDClientDataSystemOptions.d.ts.map