/// <reference types="node" />
import { Connection } from '@opentok/client';
import { EventEmitter } from 'events';
import CameraSubscriber from '../mp/camera-subscriber';
import ScreenSubscriber from '../mp/screen-subscriber';
declare interface Participant {
    on(event: 'cameraCreated', listener: (cameraSubscriber: CameraSubscriber) => void): this;
    on(event: 'screenCreated', listener: (cameraSubscriber: ScreenSubscriber) => void): this;
    on(event: 'cameraDestroyed', listener: () => void): this;
    on(event: 'screenDestroyed', listener: () => void): this;
    on(event: 'encryptionSecretMismatch', listener: () => void): this;
    on(event: 'encryptionSecretMatch', listener: () => void): this;
}
declare class Participant extends EventEmitter {
    id: string;
    connection: Connection;
    camera?: CameraSubscriber;
    screen?: ScreenSubscriber;
    name: string | null;
    isParticipantJoinedSent: boolean;
    connectionData: string;
    isMe: false;
    initials?: string;
    constructor(connection: Connection);
    setCameraSubscriber(cameraSubscriber: CameraSubscriber): void;
    setScreenSubscriber(screenSubscriber: ScreenSubscriber): void;
    setInitials(initials: string): void;
}
export default Participant;
