interface Config { credential: { host: string | null; token: string | null; userkey: string | null; }; config?: { dom?: { localVideo: HTMLElement; remoteVideo: HTMLElement; }; }; } interface Callback { [key: string]: (e: any) => {}; } export default class IonPhoner { private phone; private ws; private wsAct; private sk; private isConnected; private isRegistered; private isOnCall; private opt; private callback; constructor(params: Config); connect(): Promise<{ status: boolean; result: string | null; }>; private wsSend; register(): void; unregister(): void; call(phone: string): void; dtmf(num: string): void; hangup(): void; answer(): void; hold(): void; unhold(): void; mute(): void; unmute(): void; private setSk; on(event: keyof Callback, handler: (e: any) => any): void; } export {};