import { Observable } from 'rxjs'; import { AudioDeviceManager } from './AudioDeviceManager'; import { ScreenShareState } from './ScreenShareState'; import { Call } from '../Call'; import { AudioBitrateProfile } from '../gen/video/sfu/models/models'; import { ScreenShareSettings } from '../types'; export declare class ScreenShareManager extends AudioDeviceManager { constructor(call: Call); setup(): void; /** * Will enable screen share audio options on supported platforms. * * Note: for ongoing screen share, audio won't be enabled until you * re-publish the screen share stream. */ enableScreenShareAudio(): void; /** * Will disable screen share audio options on supported platforms. */ disableScreenShareAudio(): Promise; /** * Returns the current screen share settings. */ getSettings(): ScreenShareSettings | undefined; /** * Sets the current screen share settings. * * @param settings the settings to set. */ setSettings(settings: ScreenShareSettings | undefined): void; protected getDevices(): Observable; protected getStream(constraints: DisplayMediaStreamOptions): Promise; protected doSetAudioBitrateProfile(profile: AudioBitrateProfile): void; protected stopPublishStream(): Promise; /** * Overrides the default `select` method to throw an error. */ select(): Promise; }