/// <reference types="node" />
import { Stream, Subscriber as OTSubscriber, Session, OTError } from '@opentok/client';
import { EventEmitter } from 'events';
import { Analytics } from '../analytics';
declare interface ScreenSubscriber {
    on(event: 'audioLevelUpdated', listener: (audioLevel: number) => void): this;
    on(event: 'created', listener: () => void): this;
    on(event: 'destroyed', listener: () => void): this;
}
declare class ScreenSubscriber extends EventEmitter {
    private _stream;
    id: string;
    getSubscriberElement: () => HTMLElement | undefined;
    isVideoEnabled: () => boolean;
    isAudioEnabled: () => boolean;
    enableVideo: () => void;
    disableVideo: () => void;
    enableAudio: () => void;
    disableAudio: () => void;
    setDisabledImageURI: (imageURI: string) => void;
    constructor(stream: Stream, otSubscriber: OTSubscriber, analytics: Analytics);
}
export default ScreenSubscriber;
export declare const createScreenSubscriber: (session: Session, stream: Stream, analytics: Analytics, callback: (error?: OTError, subscriber?: ScreenSubscriber) => void) => void;
