import * as PropTypes from 'prop-types'; export interface ExtraHeaders { register?: string[]; invite?: string[]; hold?: string[]; } export declare const extraHeadersPropType: PropTypes.Requireable<{ [x: string]: (string | null | undefined)[] | null | undefined; }>; export declare type IceServers = { urls: string | string[]; username?: string; credential?: string; credentialType?: string; password?: string; }[]; export declare const iceServersPropType: PropTypes.Requireable<(object | null | undefined)[]>; export interface Sip { status?: string; errorType?: string; errorMessage?: string; host?: string; port?: number; pathname?: string; secure?: boolean; user?: string; password?: string; autoRegister?: boolean; autoAnswer: boolean; sessionTimersExpires: number; extraHeaders: ExtraHeaders; iceServers: RTCIceServer[]; debug: boolean; debugNamespaces?: string; } export declare const sipPropType: PropTypes.Requireable; errorType: PropTypes.Requireable; errorMessage: PropTypes.Requireable; host: PropTypes.Requireable; port: PropTypes.Requireable; user: PropTypes.Requireable; pathname: PropTypes.Requireable; secure: PropTypes.Requireable; password: PropTypes.Requireable; autoRegister: PropTypes.Requireable; autoAnswer: PropTypes.Requireable; sessionTimersExpires: PropTypes.Requireable; extraHeaders: PropTypes.Requireable<{ [x: string]: (string | null | undefined)[] | null | undefined; }>; iceServers: PropTypes.Requireable<(object | null | undefined)[]>; debug: PropTypes.Requireable; debugNamespaces: PropTypes.Requireable; }>>; export interface Call { id: string; status: string; direction: string; counterpart: string; } export declare const callPropType: PropTypes.Requireable; status: PropTypes.Requireable; direction: PropTypes.Requireable; counterpart: PropTypes.Requireable; isOnHold: PropTypes.Requireable; hold: PropTypes.Requireable<(...args: any[]) => any>; unhold: PropTypes.Requireable<(...args: any[]) => any>; toggleHold: PropTypes.Requireable<(...args: any[]) => any>; microphoneIsMuted: PropTypes.Requireable; muteMicrophone: PropTypes.Requireable<(...args: any[]) => any>; unmuteMicrophone: PropTypes.Requireable<(...args: any[]) => any>; toggleMuteMicrophone: PropTypes.Requireable<(...args: any[]) => any>; isPlaying: PropTypes.Requireable; }>>; export interface WebAudioHTMLMediaElement extends HTMLAudioElement { readonly sinkId: string; setSinkId(id: string): Promise; } export interface Logger { debug(message?: any, ...optionalParams: any[]): void; error(message?: any, ...optionalParams: any[]): void; info(message?: any, ...optionalParams: any[]): void; warn(message?: any, ...optionalParams: any[]): void; log(message?: any, ...optionalParams: any[]): void; setPrefix(prefix: string): void; }