export declare const Sip: any; interface Callbacks { onConnectionRequested?: () => void; onCallRequested?: () => void; onCallRinging?: () => void; onCallConnected?: () => void; onCallStreamsRunning?: () => void; onCallPaused?: () => void; onCallPausedByRemote?: () => void; onCallUpdating?: () => void; onCallUpdatedByRemote?: () => void; onCallReleased?: () => void; onCallError?: () => void; onLogin?: (username?: string) => void; onLogout?: (username: string) => void; onAuthenticationError?: (username: string) => void; } export declare function multiply(a: number, b: number): Promise; export declare function login(username: string, password: string, domain: string): Promise; export declare type DtmfChar = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0' | '*' | '#'; declare type SipCall = { call: (remoteUri: string) => Promise; hangup: () => Promise; sendDtmf: (dtmf: DtmfChar) => Promise; }; export declare function useCall(callbacks?: Callbacks): SipCall; declare type AudioDevice = 'bluetooth' | 'phone' | 'loudspeaker'; interface AudioDevices { options: { [device in AudioDevice]: boolean; }; current: AudioDevice; } export declare function useAudioDevices(): [ AudioDevices, (device: AudioDevice) => Promise ]; export declare function useMicrophone(): [boolean, () => Promise]; export {};