/** * Video API namespace — rooms, sessions, recordings, conferences, tokens, streams. */ import type { HttpClient } from '../HttpClient.js'; import type { QueryParams } from '../types.js'; import { BaseResource } from '../base/BaseResource.js'; import { CrudResource } from '../base/CrudResource.js'; /** Video room management with streams. */ export declare class VideoRooms extends CrudResource { protected _updateMethod: 'PATCH' | 'PUT'; constructor(http: HttpClient, basePath: string); /** * List outbound streams associated with a room. * * @param roomId - Unique identifier of the video room. * @param params - Optional filter / pagination query parameters. * @returns A paginated list of outbound streams. * @throws {RestError} On any non-2xx HTTP response. */ listStreams(roomId: string, params?: QueryParams): Promise; /** * Start a new outbound stream from a room (e.g. RTMP to YouTube, Twitch). * * @param roomId - Unique identifier of the video room. * @param body - Stream configuration (destination URL, credentials, etc.). * @returns The newly-created stream record. * @throws {RestError} On any non-2xx HTTP response. */ createStream(roomId: string, body: any): Promise; } /** Video room token generation. */ export declare class VideoRoomTokens extends BaseResource { constructor(http: HttpClient, basePath: string); /** * Issue a JWT token that grants a browser / mobile client access to a room. * * @param body - Token payload (`room_name`, `user_name`, `permissions`, etc.). * @returns The token record, typically `{ token: "eyJ..." }`. * @throws {RestError} On any non-2xx HTTP response. */ create(body: any): Promise; } /** Video room session management. */ export declare class VideoRoomSessions extends BaseResource { constructor(http: HttpClient, basePath: string); /** * List past and active room sessions in the project. * * @param params - Optional filter / pagination query parameters. * @returns A paginated list of room sessions. * @throws {RestError} On any non-2xx HTTP response. */ list(params?: QueryParams): Promise; /** * Fetch a single room session by ID. * * @param sessionId - Unique identifier of the room session. * @returns The room-session record. * @throws {RestError} On any non-2xx HTTP response (including `404`). */ get(sessionId: string): Promise; /** * List the event log for a room session. * * @param sessionId - Unique identifier of the room session. * @param params - Optional filter / pagination query parameters. * @returns A paginated list of session events. * @throws {RestError} On any non-2xx HTTP response. */ listEvents(sessionId: string, params?: QueryParams): Promise; /** * List members that participated in a room session. * * @param sessionId - Unique identifier of the room session. * @param params - Optional filter / pagination query parameters. * @returns A paginated list of members (past and current). * @throws {RestError} On any non-2xx HTTP response. */ listMembers(sessionId: string, params?: QueryParams): Promise; /** * List recordings captured during a room session. * * @param sessionId - Unique identifier of the room session. * @param params - Optional filter / pagination query parameters. * @returns A paginated list of session recordings. * @throws {RestError} On any non-2xx HTTP response. */ listRecordings(sessionId: string, params?: QueryParams): Promise; } /** Video room recording management. */ export declare class VideoRoomRecordings extends BaseResource { constructor(http: HttpClient, basePath: string); /** * List all room recordings in the project. * * @param params - Optional filter / pagination query parameters. * @returns A paginated list of recordings. * @throws {RestError} On any non-2xx HTTP response. */ list(params?: QueryParams): Promise; /** * Fetch a room recording by ID. * * @param recordingId - Unique identifier of the recording. * @returns The recording record. * @throws {RestError} On any non-2xx HTTP response (including `404`). */ get(recordingId: string): Promise; /** * Delete a room recording. * * @param recordingId - Unique identifier of the recording. * @returns The platform's delete response. * @throws {RestError} On any non-2xx HTTP response. */ delete(recordingId: string): Promise; /** * List event log entries for a room recording. * * @param recordingId - Unique identifier of the recording. * @param params - Optional filter / pagination query parameters. * @returns A paginated list of recording events. * @throws {RestError} On any non-2xx HTTP response. */ listEvents(recordingId: string, params?: QueryParams): Promise; } /** Video conference management with tokens and streams. */ export declare class VideoConferences extends CrudResource { protected _updateMethod: 'PATCH' | 'PUT'; constructor(http: HttpClient, basePath: string); /** * List conference tokens associated with a conference. * * @param conferenceId - Unique identifier of the conference. * @param params - Optional filter / pagination query parameters. * @returns A paginated list of conference tokens. * @throws {RestError} On any non-2xx HTTP response. */ listConferenceTokens(conferenceId: string, params?: QueryParams): Promise; /** * List outbound streams associated with a conference. * * @param conferenceId - Unique identifier of the conference. * @param params - Optional filter / pagination query parameters. * @returns A paginated list of streams. * @throws {RestError} On any non-2xx HTTP response. */ listStreams(conferenceId: string, params?: QueryParams): Promise; /** * Start an outbound stream from a conference (e.g. RTMP to YouTube). * * @param conferenceId - Unique identifier of the conference. * @param body - Stream configuration (destination URL, credentials, etc.). * @returns The newly-created stream record. * @throws {RestError} On any non-2xx HTTP response. */ createStream(conferenceId: string, body: any): Promise; } /** Video conference token management. */ export declare class VideoConferenceTokens extends BaseResource { constructor(http: HttpClient, basePath: string); /** * Fetch a conference token by ID. * * @param tokenId - Unique identifier of the conference token. * @returns The conference-token record. * @throws {RestError} On any non-2xx HTTP response (including `404`). */ get(tokenId: string): Promise; /** * Reset / regenerate a conference token, invalidating the previous value. * * @param tokenId - Unique identifier of the conference token to reset. * @returns The refreshed token record with a new secret. * @throws {RestError} On any non-2xx HTTP response. */ reset(tokenId: string): Promise; } /** Video stream management. */ export declare class VideoStreams extends BaseResource { constructor(http: HttpClient, basePath: string); /** * Fetch a video stream by ID. * * @param streamId - Unique identifier of the stream. * @returns The stream record. * @throws {RestError} On any non-2xx HTTP response (including `404`). */ get(streamId: string): Promise; /** * Update a video stream's configuration (e.g. destination URL). * * @param streamId - Unique identifier of the stream. * @param body - Full updated stream attributes (replace semantics). * @returns The updated stream record. * @throws {RestError} On any non-2xx HTTP response. */ update(streamId: string, body: any): Promise; /** * Stop and delete a video stream. * * @param streamId - Unique identifier of the stream. * @returns The platform's delete response. * @throws {RestError} On any non-2xx HTTP response. */ delete(streamId: string): Promise; } /** * Video API namespace. * * Access via `client.video.*`. * * @example Create a room and issue a client token * ```ts * const room = await client.video.rooms.create({ name: 'standup' }); * const token = await client.video.roomTokens.create({ room_name: 'standup', user_name: 'Alice' }); * ``` */ export declare class VideoNamespace { /** Video room CRUD plus outbound stream management. */ readonly rooms: VideoRooms; /** Issue JWT tokens for browser / mobile clients to join rooms. */ readonly roomTokens: VideoRoomTokens; /** Past and active room session read access. */ readonly roomSessions: VideoRoomSessions; /** Room recording read, delete, and event-log access. */ readonly roomRecordings: VideoRoomRecordings; /** Video conference CRUD plus stream / token management. */ readonly conferences: VideoConferences; /** Individual conference token read / reset operations. */ readonly conferenceTokens: VideoConferenceTokens; /** Individual video stream read / update / delete operations. */ readonly streams: VideoStreams; constructor(http: HttpClient); }