import APIService from "../services/APIService"; import { Recording } from "../types"; import { QueryObjectIterator } from "../utils/QueryObjectIterator"; /** * The wrapper class that implements all * {@link https://www.100ms.live/docs/server-side/v2/api-reference/recordings/overview Recording API} calls. */ export default class RecordingWrapper { private apiService; private basePath; constructor(apiService: APIService); /** * Get a list of recording objects that satisfy the `filter` params. A * `HMS.Recording.Object` iterable is returned that can be iterated with a `for await` loop. * @param filters recording filters like room ID and status * @returns a `HMS.QueryObjectIterator` object */ list(filters?: Recording.FilterParams): QueryObjectIterator; /** * Get the details of a recording by its object id. * @param objectId Object ID * @returns a `HMS.Recording.Object` object */ retrieve(objectId: string): Promise; /** * Start a new recording in a room. * @param roomId Room ID * @param params Params to start a room recording * @returns a `HMS.Recording.Object` object */ start(roomId: string, params: Recording.StartParams): Promise; /** * Stop a specific recording by its object id. * @param objectId Object ID * @returns a `HMS.Recording.Object` object */ stop(objectId: string): Promise; /** * Stop all recordings in a room. * @param roomId Room ID * @returns a `HMS.Recording.Object[]` object */ stopAll(roomId: string): Promise; }