@signalwire/core
Version:
Shared code for the SignalWire JS SDK
29 lines • 1.42 kB
TypeScript
import { BaseComponent } from '../BaseComponent';
import { BaseComponentOptionsWithPayload } from '../utils/interfaces';
import type { VideoStreamContract, VideoStreamEventNames, VideoStreamEventParams, VideoStreamMethods } from '../types/videoStream';
/**
* Represents a specific Stream of a room session.
*/
export interface RoomSessionStream extends VideoStreamContract {
setPayload(payload: VideoStreamEventParams): void;
}
export type RoomSessionStreamEventsHandlerMapping = Record<VideoStreamEventNames, (stream: RoomSessionStream) => void>;
export interface RoomSessionStreamOptions extends BaseComponentOptionsWithPayload<VideoStreamEventParams> {
}
export declare class RoomSessionStreamAPI extends BaseComponent<RoomSessionStreamEventsHandlerMapping> implements VideoStreamMethods {
private _payload;
constructor(options: RoomSessionStreamOptions);
get id(): string;
get roomId(): string;
get roomSessionId(): string;
get state(): "completed" | "streaming";
get duration(): number | undefined;
get url(): string | undefined;
get startedAt(): Date | undefined;
get endedAt(): Date | undefined;
/** @internal */
protected setPayload(payload: VideoStreamEventParams): void;
stop(): Promise<void>;
}
export declare const createRoomSessionStreamObject: (params: RoomSessionStreamOptions) => RoomSessionStream;
//# sourceMappingURL=RoomSessionStream.d.ts.map