import { QNRTCCore } from "./core"; import { Track } from "./models/stream/track"; import { TrackMergeOptions, QNRTCConfig, Profile, TrackProfiles } from "./types"; import { SystemRequirementsTestResult } from "./types"; export declare class TrackModeSession extends QNRTCCore { static checkSystemRequirements(): Promise; /** * 房间中已经发布的 Track 列表 */ readonly publishedTracks: Track[]; /** * 房间中已经订阅的 Track 列表 */ readonly subscribedTracks: Track[]; /** * 已经添加进合流的 Track 列表(只有 trackid 信息) */ readonly mergeStreamTracks: string[]; /** * 除了默认合流 job 之外的其他 job 的 合流 Track 列表 */ readonly mergeStreamJobTracks: { [jobId: string]: string[]; }; constructor(config?: QNRTCConfig); publish(tracks: Track[]): Promise; unpublish(trackIds: string[]): Promise; /** * 传入 trackId 列表订阅指定 Track * @param trackIds trackId 列表 * @param strictMode 是否开启严格模式 * @param profiles 指定每路 track 的 profile * 如果开启严格模式,订阅过程中只要有一个 Track 出现错误就会导致整个订阅失败 * 默认不开启严格模式 */ subscribe(trackIds: string[], strictMode?: boolean, trackProfiles?: TrackProfiles): Promise; unsubscribe(trackIds: string[]): Promise; setProfile(trackId: string, profile: Profile): void; setReconnectTimes(reconnectTimes: number): void; getReconnectTimes(): number; muteTracks(tracks: { trackId: string; muted: boolean; }[]): void; muteRemoteAudio(isMute: boolean): void; addMergeStreamTracks(mergeOpts: TrackMergeOptions[], jobId?: string): Promise; removeMergeStreamTracks(trackIds: string[], jobId?: string): Promise; stopMergeStream(id?: string): void; protected filterSignalTracks(): void; protected releaseSession(): void; }