import { EventEmitter } from 'eventemitter-strict'; import type { TailchatMeetingClient } from '.'; import type { Producer, UpdateDeviceParams } from '../types'; interface ProducerClientEventMap { webcamProduce: (webcamProducer: Producer) => void; webcamClose: (webcamProducerId: string) => void; micProduce: (micProducer: Producer) => void; micClose: (micProducerId: string) => void; screenVideoProduce: (screenVideoProducer: Producer) => void; screenAudioProduce: (screenAudioProducer: Producer) => void; screenVideoClose: (screenVideoId: string) => void; screenAudioClose: (screenAudioId: string) => void; } /** * 流生产者 */ export declare class ProducerClient extends EventEmitter { meetingClient: TailchatMeetingClient; constructor(meetingClient: TailchatMeetingClient); get media(): import("./media").MediaClient | undefined; get device(): import("./device").DeviceClient; get settings(): import("./settings").TailchatMeetingClientSettings; private currentWebcamProducer?; get webcamEnabled(): boolean; enableWebcam: () => Promise; disableWebcam: () => Promise; /** * 更新摄像头 */ private updateWebcam; private currentMicProducer?; get micEnabled(): boolean; enableMic: () => Promise; disableMic: () => Promise; updateMic: ({ start, restart, newDeviceId, selectedAudioDevice, }?: { start?: boolean | undefined; restart?: boolean | undefined; newDeviceId?: null | undefined; selectedAudioDevice?: string | undefined; }) => Promise; private currentScreenProducer?; private currentScreenAudioProducer?; get screenSharingEnabled(): boolean; /** * 启动屏幕共享 */ enableScreenSharing: () => Promise; /** * 禁用屏幕共享 */ disableScreenSharing: () => Promise; /** * 更新屏幕共享流 */ updateScreenSharing({ start }?: UpdateDeviceParams): Promise; } export {};