import { types } from 'mediasoup-client'; import * as i0 from "@angular/core"; type Transport = types.Transport; type Producer = types.Producer; type ProducerOptions = types.ProducerOptions; export interface ConnectSendTransportAudioParameters { audioProducer: Producer | null; producerTransport: Transport | null; localAudioProducer?: Producer | null; localProducerTransport?: Transport | null; updateAudioProducer: (producer: Producer | null) => void; updateProducerTransport: (transport: Transport | null) => void; updateLocalAudioProducer?: (localProducer: Producer | null) => void; updateLocalProducerTransport?: (localTransport: Transport | null) => void; updateAudioLevel: (level: number) => void; getUpdatedAllParams: () => ConnectSendTransportAudioParameters; [key: string]: any; } export interface ConnectSendTransportAudioOptions { audioParams: ProducerOptions; parameters: ConnectSendTransportAudioParameters; targetOption?: 'all' | 'local' | 'remote'; } export type ConnectSendTransportAudioType = (options: ConnectSendTransportAudioOptions) => Promise; export declare const updateMicLevel: (audioProducer: Producer, updateAudioLevel: (level: number) => void) => Promise; export declare const connectLocalSendTransportAudio: ({ parameters, audioParams }: ConnectSendTransportAudioOptions) => Promise; /** * Connects the send transport for audio by producing audio data and updating the audio producer and producer transport objects. * * @param {ConnectSendTransportAudioOptions} options - The parameters for connecting the send transport. * @param {ProducerOptions} options.audioParams - The options for the audio producer. * @param {ConnectSendTransportAudioParameters} options.parameters - The parameters containing the audio producer, producer transport, and update functions. * @param {Producer} options.parameters.audioProducer - The current audio producer. * @param {Transport} options.parameters.producerTransport - The transport used to produce audio data. * @param {Function} options.parameters.updateAudioProducer - Function to update the audio producer. * @param {Function} options.parameters.updateProducerTransport - Function to update the producer transport. * @param {Function} [options.parameters.updateLocalAudioProducer] - Function to update the local audio producer. * @param {Function} [options.parameters.updateLocalProducerTransport] - Function to update the local producer transport. * @param {Function} options.parameters.updateAudioLevel - Function to update the audio level. * * @returns {Promise} A promise that resolves when the audio transport is successfully connected. * * @throws Will throw an error if the connection fails. * * @example * ```typescript * const audioParams: ProducerOptions = { * codec: 'opus', * // other options * }; * * const parameters = { * audioProducer: null, * producerTransport: transport, * updateAudioProducer: (producer) => { console.log(updated) }, * updateProducerTransport: (transport) => { console.log(updated) }, * updateLocalAudioProducer: (localProducer) => { console.log(updated) }, * updateLocalProducerTransport: (localTransport) => { console.log(updated) }, * updateAudioLevel: (level) => { console.log(level) }, * }; * * connectSendTransportAudio({ audioParams, parameters }) * .then(() => { * console.log('Audio transport connected successfully'); * }) * .catch((error) => { * console.error('Error connecting audio transport:', error); * }); * ``` */ export declare class ConnectSendTransportAudio { /** * Connects the send transport for audio by producing audio data and updating the audio producer and producer transport objects. * * @param {ConnectSendTransportAudioOptions} options - The options for connecting the send transport. * @param {ProducerOptions} options.audioParams - The audio parameters. * @param {ConnectSendTransportAudioParameters} options.parameters - The parameters required for connecting the transport. * @param {Producer | null} options.parameters.audioProducer - The audio producer object. * @param {Transport | null} options.parameters.producerTransport - The producer transport object. * @param {Producer | null} [options.parameters.localAudioProducer] - The local audio producer object. * @param {Transport | null} [options.parameters.localProducerTransport] - The local producer transport object. * @param {(producer: Producer | null) => void} options.parameters.updateAudioProducer - The function to update the audio producer object. * @param {(transport: Transport | null) => void} options.parameters.updateProducerTransport - The function to update the producer transport object. * @param {(localProducer: Producer | null) => void} [options.parameters.updateLocalAudioProducer] - The function to update the local audio producer object. * @param {(localTransport: Transport | null) => void} [options.parameters.updateLocalProducerTransport] - The function to update the local producer transport object. * @param {(level: number) => void} options.parameters.updateAudioLevel - The function to update the audio level. * @returns {Promise} A promise that resolves when the connection is established. * * @throws Will throw an error if the connection fails. * * @example * ```typescript * const options = { * audioParams: { codec: 'opus' }, * parameters: { * audioProducer: null, * producerTransport: transport, * updateAudioProducer: (producer) => { console.log(updated) }, * updateProducerTransport: (transport) => { console.log(updated) }, * updateLocalAudioProducer: (localProducer) => { console.log(updated) }, * updateLocalProducerTransport: (localTransport) => { console.log(updated) }, * }, * }; * * connectSendTransportAudio(options) * .then(() => { * console.log('Audio transport connected successfully'); * }) * .catch((error) => { * console.error('Error connecting audio transport:', error); * }); * ``` * */ connectSendTransportAudio({ targetOption, audioParams, parameters, }: ConnectSendTransportAudioOptions): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export {};