import { ClientInfo } from "../model/client_info";
import { Client } from "../model/client_model";
import { SessionDescription } from "../model/session_description";
import { NewClientJoinedToRoom } from "../model/messages/NewClientJoined";
export interface Signaling {
    OnModuleData: ((issue: string, data: any) => void) | undefined;
    OnServerSendOffer: ((sdp: SessionDescription) => void) | undefined;
    OnServerSendAnswer: ((sdp: SessionDescription) => void) | undefined;
    OnNewClientJoined: ((client: Client) => void) | undefined;
    OnClientLeave: ((client: Client) => void) | undefined;
    OnJoinedInRoom: ((room: NewClientJoinedToRoom) => void) | undefined;
    OnClientChangeMicrophoneStatus: ((enabled: boolean, client: Client) => void) | undefined;
    OnCloseConnection: (() => void) | undefined;
    OnBroadcastReceived: ((clientId: string, data: any) => void) | undefined;
    Connect(): Promise<ClientInfo>;
    Close(): void;
    SendMyOffer(sdp: SessionDescription): void;
    SendMyAnswer(sdp: SessionDescription): void;
    SendMyIceCandidate(ice: RTCIceCandidate): void;
    BroadcastMessage(data: any): void;
    DisableLiveTranslation(): void;
    DisableCaption(): void;
    EnableLiveTranslation(srcLang: string, dst: string): void;
    EnableCaption(state: "caption" | "translate", srcLang: string, dst: string): void;
    get Clients(): ReadonlyArray<Client>;
}
//# sourceMappingURL=interface.d.ts.map