import { NetworkQuality } from "../../event/NetworkQuality";
import { RecordingType } from "../../options/RecordingOptions";
export interface JoinedApplicationConferenceEvent {
    id: string;
    name: string;
    participants: ConferenceParticipant[];
    recordingType: RecordingType;
}
export interface ParticipantJoiningEvent {
    participant: ConferenceParticipant;
}
export interface ParticipantJoinedEvent {
    participant: ConferenceParticipant;
}
export interface ParticipantMediaChangedEvent {
    endpoint: any;
    media: any;
}
export interface ParticipantStartedTalkingEvent {
    endpoint: any;
}
export interface ParticipantStoppedTalkingEvent {
    endpoint: any;
}
export interface ParticipantLeftEvent {
    participant: ConferenceParticipant;
}
export interface LeftApplicationConferenceEvent {
    status: {
        name: string;
        description: string;
    };
}
export interface ConferenceParticipant {
    streams: any;
    state: string;
    media: ParticipantMedia;
    endpoint: any;
    disconnected: boolean;
}
export interface ParticipantMedia {
    audio: {
        muted: boolean;
        deaf: boolean;
        userMuted: boolean;
    };
    video: {
        camera: boolean;
        screenShare: boolean;
    };
}
export interface ParticipantNetworkQualityEvent {
    endpoint: any;
    networkQuality: NetworkQuality;
}
export interface ParticipantDisconnectedEvent {
    endpoint: any;
}
export interface ParticipantReconnectedEvent {
    endpoint: any;
}
export interface ConferenceRecordingStartedEvent {
    id: string;
    recordingType: RecordingType;
}
export interface ConferenceRecordingStoppedEvent {
    id: string;
}
