/** * Session Player * * Plays back recorded sessions for debugging and testing. * * @since v1.33.3 * @since v1.36.0 - Extracted schemas to shared schemas.ts */ import type { AppState, PlaybackOptions, PlaybackProgress, PlaybackResult, PlaybackStatus, RecordedEvent, Recording } from './recording-types.js'; /** * State provider function type */ export type PlaybackStateProvider = () => Partial; /** * Event executor function type */ export type EventExecutor = (event: RecordedEvent) => Promise | void; /** * Progress callback type */ export type ProgressCallback = (progress: PlaybackProgress) => void; /** * Session player for replaying recorded sessions */ export declare class SessionPlayer { private recording; private currentIndex; private isPaused; private isStopped; private isPlaying; private options; private outputDir; private stateProvider; private eventExecutor; private progressCallback; private startTime; private pauseResolve; constructor(outputDir?: string, options?: Partial); /** * Set playback options */ setOptions(options: Partial): void; /** * Get current options */ getOptions(): PlaybackOptions; /** * Set the state provider */ setStateProvider(provider: PlaybackStateProvider): void; /** * Set the event executor */ setEventExecutor(executor: EventExecutor): void; /** * Set progress callback */ setProgressCallback(callback: ProgressCallback): void; /** * Load a recording by ID (with security validation) */ load(recordingId: string): boolean; /** * Load a recording from a Recording object */ loadRecording(recording: Recording): void; /** * Get loaded recording */ getRecording(): Recording | null; /** * Check if a recording is loaded */ isLoaded(): boolean; /** * Play the recording */ play(): Promise; /** * Pause playback */ pause(): void; /** * Resume playback */ resume(): void; /** * Stop playback */ stop(): void; /** * Step to next event (when paused) */ step(): Promise; /** * Skip to a specific event index */ skipTo(index: number): boolean; /** * Restart from beginning */ restart(): void; /** * Get current playback status */ getStatus(): PlaybackStatus; /** * Get current progress */ getProgress(): PlaybackProgress; /** * Get current event */ getCurrentEvent(): RecordedEvent | null; /** * Get event at index */ getEvent(index: number): RecordedEvent | null; /** * Capture current state */ private captureState; /** * Validate state matches expected */ private validateState; /** * Check if two values are equal (shallow comparison for performance) */ private valuesEqual; /** * Wait for resume or stop */ private waitForResume; /** * Update progress callback */ private updateProgress; /** * Reset the player */ reset(): void; } /** * Get the singleton session player */ export declare function getSessionPlayer(): SessionPlayer; /** * Reset the singleton */ export declare function resetSessionPlayer(): void; //# sourceMappingURL=session-player.d.ts.map