import { SessionType } from '@multiplayer-app/session-recorder-common'; import { SessionRecorderConfigs } from '../types'; import { SocketService } from '../services/socket.service'; import type { CrashBuffer } from '@multiplayer-app/session-recorder-common'; export declare class RecorderBrowserSDK { private stopFn?; private config?; private socketService?; private crashBuffer?; private intervals; startedAt: string; stoppedAt: string; constructor(); /** * Full snapshot. */ takeFullSnapshot(): void; /** * Initializes the recorder SDK. * @param config - Configuration settings. * @param socketService - Optional socket service. */ init(config: SessionRecorderConfigs, socketService?: SocketService): void; /** * Starts recording. * @param sessionId - Session ID or null for buffer-only mode. * @param sessionType - Session type. */ start(sessionId: string | null, sessionType: SessionType): void; /** * Restarts recording. Never throws - library mode constraint. */ restart(sessionId: string | null, sessionType: SessionType): Promise; /** * Stops recording and cleans up resources. */ stop(): void; private _clearAllIntervals; /** * Sets the crash buffer. * @param crashBuffer - Crash buffer service. */ setCrashBuffer(crashBuffer: CrashBuffer): void; /** * Mutates event in-place for performance. */ private _applyConsoleMasking; /** * Handles buffer-only event. * @param event - Event. * @param ts - Timestamp. */ private _handleBufferOnlyEvent; /** * Handles live session event. * @param event - Event. * @param ts - Timestamp. * @param sessionId - Session ID. * @param sessionType - Session type. */ private _handleLiveSessionEvent; /** * Builds record options. */ private _buildRecordOptions; /** * Sets up periodic snapshots. * @param sessionId - Session ID. * @param sessionType - Session type. */ private _setupPeriodicSnapshots; } //# sourceMappingURL=index.d.ts.map