import { Socket } from 'socket.io-client'; import { Device } from 'mediasoup-client/lib/types'; import { ReorderStreamsParameters, ReorderStreamsType, ConnectRecvTransportType, ConnectRecvTransportParameters } from '../@types/types'; export interface SignalNewConsumerTransportParameters extends ReorderStreamsParameters, ConnectRecvTransportParameters { device: Device | null; consumingTransports: string[]; lock_screen: boolean; updateConsumingTransports: (transports: string[]) => void; connectRecvTransport: ConnectRecvTransportType; reorderStreams: ReorderStreamsType; getUpdatedAllParams: () => SignalNewConsumerTransportParameters; [key: string]: any; } export interface SignalNewConsumerTransportOptions { remoteProducerId: string; islevel: string; nsock: Socket; parameters: SignalNewConsumerTransportParameters; } export type SignalNewConsumerTransportType = (options: SignalNewConsumerTransportOptions) => Promise; /** * Signals the creation of a new consumer transport. * * @param {SignalNewConsumerTransportOptions} options - The options for signaling a new consumer transport. * @param {string} options.remoteProducerId - The ID of the remote producer. * @param {string} options.islevel - Indicates the level of the consumer. * @param {Socket} options.nsock - The socket instance for communication. * @param {SignalNewConsumerTransportParameters} options.parameters - The parameters for the transport. * * @returns {Promise} A promise that resolves to an array of consuming transports or void. * * @throws Will throw an error if the signaling process fails. * * @example * const options = { * remoteProducerId: 'producer-id', * islevel: '1', * nsock: socketInstance, * parameters: { * device: mediaDevice, * consumingTransports: [], * lock_screen: false, * updateConsumingTransports: updateFunction, * connectRecvTransport: connectFunction, * reorderStreams: reorderFunction, * getUpdatedAllParams: getUpdatedParamsFunction, * }, * }; * * signalNewConsumerTransport(options) * .then(consumingTransports => { * console.log('Consuming Transports:', consumingTransports); * }) * .catch(error => { * console.error('Error signaling new consumer transport:', error); * }); */ export declare const signalNewConsumerTransport: ({ remoteProducerId, islevel, nsock, parameters, }: SignalNewConsumerTransportOptions) => Promise;