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