@signalwire/core
Version:
Shared code for the SignalWire JS SDK
30 lines • 1.52 kB
TypeScript
import { BaseComponent } from '../BaseComponent';
import { BaseComponentOptionsWithPayload } from '../utils/interfaces';
import type { VideoRecordingContract, VideoRecordingEventNames, VideoRecordingEventParams, VideoRecordingMethods } from '../types/videoRecording';
/**
* Represents a specific recording of a room session.
*/
export interface RoomSessionRecording extends VideoRecordingContract {
setPayload(payload: VideoRecordingEventParams): void;
}
export type RoomSessionRecordingEventsHandlerMapping = Record<VideoRecordingEventNames, (recording: RoomSessionRecording) => void>;
export interface RoomSessionRecordingOptions extends BaseComponentOptionsWithPayload<VideoRecordingEventParams> {
}
export declare class RoomSessionRecordingAPI extends BaseComponent<RoomSessionRecordingEventsHandlerMapping> implements VideoRecordingMethods {
private _payload;
constructor(options: RoomSessionRecordingOptions);
get id(): string;
get roomId(): string;
get roomSessionId(): string;
get state(): "recording" | "paused" | "completed";
get duration(): number | undefined;
get startedAt(): Date | undefined;
get endedAt(): Date | undefined;
/** @internal */
protected setPayload(payload: VideoRecordingEventParams): void;
pause(): Promise<void>;
resume(): Promise<void>;
stop(): Promise<void>;
}
export declare const createRoomSessionRecordingObject: (params: RoomSessionRecordingOptions) => RoomSessionRecording;
//# sourceMappingURL=RoomSessionRecording.d.ts.map