import { ILogger, IRemoteConfigClient } from '@amplitude/analytics-core'; import { SessionReplayOptions } from '../typings/session-replay'; import { SessionReplayLocalConfig as ISessionReplayLocalConfig, PrivacyConfig, SessionReplayConfigs } from './types'; export declare const removeInvalidSelectorsFromPrivacyConfig: (privacyConfig: PrivacyConfig, loggerProvider: ILogger) => PrivacyConfig; export declare class SessionReplayJoinedConfigGenerator { private readonly localConfig; private readonly remoteConfigClient; constructor(remoteConfigClient: IRemoteConfigClient, localConfig: ISessionReplayLocalConfig); generateJoinedConfig(): Promise; /** * Defensive bounds for the remote-supplied min_session_duration_ms. A misconfigured * value (e.g. 30_000_000) would silently suppress every replay until the config is * pushed again, so we clamp to a sane ceiling and warn on out-of-range inputs. * Returns undefined for clearly invalid values so the gate falls back to disabled * rather than carrying a NaN through downstream comparisons. */ private sanitizeMinSessionDurationMs; } /** * Upper bound for the remote-configured replay min duration. 60 seconds is well above * any reasonable bounce threshold; values higher than this are almost certainly typos * (e.g. seconds confused for milliseconds, or an extra zero) and would otherwise * suppress every replay until the config is corrected. */ export declare const MAX_MIN_SESSION_DURATION_MS = 60000; export declare const createSessionReplayJoinedConfigGenerator: (apiKey: string, options: SessionReplayOptions) => Promise; //# sourceMappingURL=joined-config.d.ts.map