/// <reference types="node" />
import { Session } from '@opentok/client';
import { EventEmitter } from 'events';
import { Analytics } from '../analytics';
declare interface ScreenPublisher {
    on(event: 'audioLevelUpdated', listener: (audioLevel: number) => void): this;
    on(event: 'started', listener: () => void): this;
    on(event: 'stopped', listener: () => void): this;
}
declare class ScreenPublisher extends EventEmitter {
    private _defaultTargetElement;
    isScreenSharing: Boolean;
    start: (targetElement?: HTMLElement | string) => Promise<void>;
    stop: () => void;
    isVideoEnabled: () => boolean;
    isAudioEnabled: () => boolean;
    enableVideo: () => void;
    disableVideo: () => void;
    enableAudio: () => void;
    disableAudio: () => void;
    setDisabledImageURI: (imageURI: string) => void;
    constructor(session: Session, targetElement: HTMLElement, analytics: Analytics);
}
export default ScreenPublisher;
