import { SplunkRumRecorderConfig } from '../index'; import { LogExporter } from '../types'; import { PendingSegmentData, Segment, SessionReplayConfig } from './cdn-module'; export interface RecorderEmitContext { data: Record; startTime: number; } export type RecorderPublicConfig = Omit; export declare class Recorder { private readonly config; private eventCounter; private readonly exporter; private isStoppedManually; private isVisibilityListenerAttached; private logCounter; private sessionReplay; constructor({ exporter, initRecorderConfig, persistSegments, sessionId, }: { exporter: LogExporter; initRecorderConfig: Omit; persistSegments: boolean; sessionId: string; }); static clear(): void; destroy(): void; dismissPendingSegment(segmentId: string): Promise; emitPendingSegment(plainSegment: ReturnType, onSuccess: () => void): void; getPendingSegments(): Promise; resume(): void; start(): void; stop(): void; private onEmit; private onSegment; private startOnVisibilityChange; private stopOnVisibilityChange; private visibilityChangeHandler; }