import { HMSMediaStream } from './HMSMediaStream'; import HMSPublishConnection from '../../connection/publish/publishConnection'; import { SimulcastLayer } from '../../interfaces'; import { HMSLocalTrack } from '../tracks'; export declare class HMSLocalStream extends HMSMediaStream { /** Connection set when publish is called for the first track */ private readonly TAG; private connection; setConnection(connection: HMSPublishConnection): void; addTransceiver(track: HMSLocalTrack, simulcastLayers: SimulcastLayer[]): RTCRtpTransceiver; setMaxBitrateAndFramerate(track: HMSLocalTrack): Promise; setPreferredCodec(_transceiver: RTCRtpTransceiver, _kind: string): void; replaceStreamTrack(track: MediaStreamTrack, withTrack: MediaStreamTrack): void; /** * On mute and unmute of video tracks as well as for changing cameras, we replace the track with new track, * so as to avoid a renegotiation with the backend and reflect changes faster. * In case of video plugins we need to replace the track sent to remote without stopping the original one. As * if the original is stopped, plugin would stop getting input frames to process. So only the track in the * sender needs to be replaced. */ replaceSenderTrack(track: MediaStreamTrack, withTrack: MediaStreamTrack): Promise; removeSender(track: HMSLocalTrack): void; private getTrackEncodings; }