/// <reference types="node" />
import OT from '@opentok/client';
import { EventEmitter } from 'events';
import { VideoOverlay } from './video-overlay/overlay';
declare interface Subscriber {
    on(event: 'audioLevelUpdated', listener: (audioLevel: number) => void): this;
    on(event: 'videoElementCreated', listener: () => void): this;
    on(event: 'destroyed', listener: () => void): this;
}
declare class Subscriber extends EventEmitter {
    otSubscriber: OT.Subscriber;
    id: string | undefined;
    overlay: VideoOverlay | undefined;
    _subscribingToAudio: boolean;
    constructor(otSubscriber: OT.Subscriber);
    _toggleAudioEnabled: () => void;
    getSubscriberElement: () => HTMLElement | undefined;
    isVideoEnabled: () => boolean;
    isAudioEnabled: () => boolean;
    _setSubscribeToVideo: (shouldSubscribe: boolean) => void;
    enableVideo: () => void;
    disableVideo: () => void;
    enableAudio: () => void;
    disableAudio: () => void;
    setDisabledImageURI: (imageURI: string) => void;
}
export default Subscriber;
