import EventEmitter from 'eventemitter3'; import type { IBridge, RTMPEvents, RTMPStats, EncodeCapacityConfig } from './interface'; import { StreamTrackType } from './interface'; import Capture from './capture'; export default class Bridge extends EventEmitter implements IBridge { _worker: Worker | null; _audioMsTrack: MediaStreamTrack | null; _videoMsTrack: MediaStreamTrack | null; _capture: Capture; static isSupported(): boolean; constructor(); get audioMsTrack(): MediaStreamTrack | null; get videoMsTrack(): MediaStreamTrack | null; ready(): Promise; _bindWorkerEvent(): void; addTrack(mst: MediaStreamTrack): void; replaceTrack(kind: StreamTrackType, mst: MediaStreamTrack | null): void; getStats(): Promise; _postVideoFrame(frame: VideoFrame, setting: MediaTrackConstraintSet): void; _postMockVideoEncodeFlag(): void; _setAVExist(v: boolean, a: boolean): void; _postAudioFrame(frame: AudioData, setting: MediaTrackConstraintSet): void; setEncodeCapacity(cfg: EncodeCapacityConfig): void; adjustBitrate(kind: StreamTrackType, bitrate: number): void; publish(url: string): void; unpublish(): void; destroy(): void; download(): void; }