import { default as Sender } from './sender'; import { default as RecordingManager } from './recordingManager'; import { default as Timer } from './timer'; import { default as SessionManager } from '../session/sessionManager'; export default class Agent { recordingManager: RecordingManager; sender: Sender; MAX_IDLE_TIME: any; timer: Timer | undefined; sendEvents: ((events: any[]) => Promise) | undefined; sendScreenViewEvent: ((props: any) => void) | undefined; recordingBlocklist: string[]; _allowLocalhostRecording?: boolean; private sessionCreationPromise; private static _sessionManager; private urlMonitor?; private isRecordingStopped; private resumeRecordingTimer?; get sessionManager(): SessionManager; constructor(); start({ sendEvents, sendScreenViewEvent, recordingBlocklist, _allowLocalhostRecording, }: { sendEvents: (events: any[]) => Promise; sendScreenViewEvent: (props: any) => void; recordingBlocklist: string[]; _allowLocalhostRecording?: boolean; }): Promise; private handleUrlChange; private stopRecording; private resumeRecording; handleTimeout(): void; handleActivityDuringIdle(): void; takeFullSnapshot(): void; static handleCustomEvent(customEventType: string): void; private createSession; stop(): void; }