import type { LifeCycle, RumConfiguration, RumSessionManager, StartRecordingOptions, ViewHistory } from '@datadog/browser-rum-core'; import { type DeflateEncoder } from '@datadog/browser-core'; import type { startRecording } from './startRecording'; export type StartRecording = typeof startRecording; export declare const enum RecorderStatus { Stopped = 0, IntentToStart = 1, Starting = 2, Started = 3 } export interface Strategy { start: (options?: StartRecordingOptions) => void; stop: () => void; isRecording: () => boolean; getSessionReplayLink: () => string | undefined; } export declare function createPostStartStrategy(configuration: RumConfiguration, lifeCycle: LifeCycle, sessionManager: RumSessionManager, viewHistory: ViewHistory, loadRecorder: () => Promise, getOrCreateDeflateEncoder: () => DeflateEncoder | undefined): Strategy;