///
import "webrtc-adapter";
import { EventEmitter } from 'events';
import { CreateRoomResult, CreateSessionResult, JoinRoomResult, MakeSipNumberResult, MessageListResult, PartiListResult, PublishListResult, PublishResult, RoomListResult, ScreenListResult, ScreenShareResult, ScreenUnshareResult, SessionListResult, SubscribeResult, UnsubscribeResult } from './public-types/result';
import { CALL_TYPE, DeviceList, RESOLUTION, TRACK_TYPE, VIDEOROOM_TYPE } from './public-types/common';
export * from './public-types/common';
export * from './public-types/event';
export * from './public-types/result';
export declare class Omnitalk extends EventEmitter {
private static instance;
private SERVICE_ID;
private SERVICE_KEY?;
private STATE;
private ws?;
private session?;
private user_id?;
private turn_id?;
private turn_secret?;
private room_id?;
private room_type?;
private videoPublishFlag;
private recordingFlag;
private callInfo?;
private remoteTagId?;
private audioClient?;
private publisher?;
private screenClient?;
private subscribers;
private constructor();
static sdkInit(service_id: string, service_key?: string): void;
static getInstance(): Omnitalk;
private emitHandler;
createSession(user_id?: string): Promise;
makeSipNumber(call_number?: string, room_id?: string): Promise;
sessionList(page?: number): Promise;
createRoom(room_type: VIDEOROOM_TYPE, subject?: string, secret?: string, start_date?: Date, end_date?: Date): Promise;
destroyRoom(room_id: string): Promise;
roomList(room_type?: VIDEOROOM_TYPE, page?: number): Promise;
joinRoom(room_id: string, secret?: string, user_name?: string): Promise;
partiList(room_id?: string, page?: number): Promise;
publishList(room_id?: string, page?: number): Promise;
screenList(room_id?: string): Promise;
publish(tag_id?: string): Promise;
screenShare(tag_id?: string): Promise;
screenUnshare(): Promise;
subscribe(publisher_session: string, tag_id?: string): Promise;
unsubscribe(publisher_session: string): Promise;
offerCall(call_type: CALL_TYPE, callee: string, local_tag_id?: string, remote_tag_id?: string): Promise;
answerCall(call_type?: CALL_TYPE, caller?: string, local_tag_id?: string, remote_tag_id?: string): Promise;
getDeviceList(): Promise;
setMute(track_type: TRACK_TYPE): Promise;
setUnmute(track_type: TRACK_TYPE): Promise;
setAudioDevice(deviceId: string): Promise;
setVideoDevice(deviceId: string): Promise;
setResolution(resolution: RESOLUTION): Promise;
leave(): Promise;
kickOut(target: string): Promise;
sendMessage(message: string): Promise;
sendWhisper(message: string, target: string): Promise;
messageList(): Promise;
recordingStart(): Promise;
recordingStop(): Promise;
private freeResources;
}