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 {
    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;
    Connect(): Promise<ClientInfo>;
    Close(): void;
    SendMyOffer(sdp: SessionDescription): void;
    SendMyAnswer(sdp: SessionDescription): void;
    SendMyIceCandidate(ice: RTCIceCandidate): void;
    get Clients(): ReadonlyArray<Client>;
}
//# sourceMappingURL=interface.d.ts.map