export {};
import { Subject, Subscription } from "rxjs";
import { Contact } from "./Contact";
declare class WebinarSessionParticipant {
    id: string;
    contact: Contact;
    activeSpeaker: boolean;
    mute: boolean;
    onStage: boolean;
    sharingOnStage: boolean;
    searchString: string;
    role: string;
    raiseHand: boolean;
    audioVideoSession: any;
    originalAudioVideoStream: any;
    audioVideoSubStreamLevel: number;
    audioVideoAudioElement: any;
    sharingSession: any;
    sharingStream: any;
    sharingAudioElement: any;
    medias: any;
    rxSubject: Subject<any>;
    subStreamLevel: number;
    static create(id: string): WebinarSessionParticipant;
    constructor(id: string);
}
declare class WebinarSession {
    jingleJid: string;
    activeSpeakerId: string;
    localParticipant: WebinarSessionParticipant;
    speakerParticipants: WebinarSessionParticipant[];
    attendeeParticipants: WebinarSessionParticipant[];
    raiseHandAttendeeParticipants: WebinarSessionParticipant[];
    masterMedia: string;
    static create(): WebinarSession;
    getParticipantById(participantId: string): WebinarSessionParticipant;
    addOrUpdateParticipant(participant: WebinarSessionParticipant): void;
    removeParticipant(participantId: string): void;
}
declare class WebinarParticipant {
    email: string;
    lastName: string;
    firstName: string;
    company: string;
    jobTitle: string;
    state: string;
    userId: string;
    lastAvatarUpdateDate: string;
    country: string;
    static create(): WebinarParticipant;
    getData(): string;
}
declare class WebinarCSVStatus {
    errorDetails: string;
    okCount: number;
    errorCount: number;
    errorReport: any;
    static create(): WebinarCSVStatus;
}
declare class Webinar {
    id: string;
    name: string;
    subject: string;
    webinarStartDate: string;
    webinarEndDate: string;
    waitingRoomStartDate: string;
    timeZone: string;
    roomId: string;
    roomModeratorsChatId: string;
    room: any;
    practiceRoom: any;
    organizers: any[];
    speakers: any[];
    participants: WebinarParticipant[];
    pendingParticipantNumber: number;
    acceptedParticipantNumber: number;
    rejectedParticipantNumber: number;
    color: string;
    creatorId: string;
    isCreator: boolean;
    isOrganizer: boolean;
    isSpeaker: boolean;
    isAttendee: boolean;
    password: string;
    approvalRegistrationMethod: string;
    registrationUuid: string;
    published: boolean;
    moderatorsNotified: boolean;
    status: string;
    webinarUrl: string;
    rxSubject: Subject<any>;
    rxParticipantsSubject: Subject<any>;
    isWebinarSync: boolean;
    session: WebinarSession;
    waitingRoomMultimediaURLs: string[];
    stageBackground: string;
    blur: boolean;
    bgReplaceUrl: string;
    action: string;
    serverURL: string;
    static create(_serverURL: any): Webinar;
    static createFromData(webinarData: any, _serverURL: string): Webinar;
    static updateFromData(webinar: Webinar, webinarData: any): Webinar;
    static computeWebinarColor(name: string): string;
    constructor(_serverURL: string);
    subscribe(handler: any): Subscription;
    getData(): string;
    updateRaiseHandParticipants(): void;
    getTagInfo(): any;
}
export { WebinarSessionParticipant, WebinarSession, WebinarParticipant, WebinarCSVStatus, Webinar };
