import { AudioDeviceManagerState } from './AudioDeviceManagerState';
import { ScreenShareSettings } from '../types';
export declare class ScreenShareState extends AudioDeviceManagerState<DisplayMediaStreamOptions> {
    private audioEnabledSubject;
    private settingsSubject;
    /**
     * An Observable that emits the current screen share audio status.
     */
    audioEnabled$: import("rxjs").Observable<boolean>;
    /**
     * An Observable that emits the current screen share settings.
     */
    settings$: import("rxjs").Observable<ScreenShareSettings | undefined>;
    /**
     * Constructs a new ScreenShareState instance.
     */
    constructor();
    /**
     * @internal
     */
    protected getDeviceIdFromStream: (stream: MediaStream) => string | undefined;
    /**
     * The current screen share audio status.
     */
    get audioEnabled(): boolean;
    /**
     * Set the current screen share audio status.
     */
    setAudioEnabled(isEnabled: boolean): void;
    /**
     * The current screen share settings.
     */
    get settings(): ScreenShareSettings | undefined;
    /**
     * Set the current screen share settings.
     *
     * @param settings the screen share settings to set.
     */
    setSettings(settings: ScreenShareSettings | undefined): void;
}
