import { UserAgent, Inviter, SessionState } from 'sip.js'; import { UserAgentDelegate } from 'sip.js/lib/api/user-agent-delegate'; import { Invitation } from 'sip.js/lib/api/invitation'; import { SessionDescriptionHandler } from 'sip.js/lib/api/session-description-handler'; import { UserAgentOptions } from 'sip.js/lib/api/user-agent-options'; declare class UserAgentFactory { #private; static getUserAgentManager(options?: Partial): UserAgentManager; static hasUserAgentManager(): boolean; static newUserAgentManager(options?: Partial): UserAgentManager; } declare class UserAgentManager { #private; constructor(userAgentOption?: {}); initStatus(config: { refresh: Function; }): void; getUserAgentOption(userAgentOption: Partial): UserAgentOptions; getUserAgentStatue(): { connectStatus: boolean; registerStatus: boolean; invitatingStatus: boolean; incomingStatus: boolean; answerStatus: boolean; }; getUserAgent(): UserAgent; getSessionDescriptionHandler(): SessionDescriptionHandler; getPeerConnection(): RTCPeerConnection; getSenders(): [] | RTCRtpSender[]; getReceivers(): [] | RTCRtpReceiver[]; getStream(): MediaStream; getCurrentInviter(): Inviter; getCurrentInvitation(): Invitation; clearCurrentInvitation(): void; clearCurrentInviter(): void; clearUserAgent(): void; clearStream(): void; clearUserAgentStatus(): void; dispose(): void; clearSessionDescriptionHandler(): void; clearPeerConnection(): void; clearSenders(): void; clearReceivers(): void; setupSession(): void; /** * 接听过程 * @param state */ receivedCall: (state: SessionState) => void; createCurrentInviter(uri: string): Promise; sendCurrentInviter(): Promise; /** * 忽略 */ ignoreInvite(): Promise; /** * 接听 */ acceptInvite(): Promise; /** * 挂断 */ hangUpInvite(): Promise; /** * 不接听远端声音 */ muteRemoteAudio(): void; /** * 接听远端声音 */ unMuteRemoteAudio(): void; /** * 不传输本地声音到远端 */ muteLocalAudio(): void; /** * 传输本地声音到远端 */ unMuteLocalAudio(): void; /** * 实例管理 */ extendDelegate(delegate: UserAgentDelegate): UserAgentDelegate; bindUserAgent(delegate: UserAgentDelegate): UserAgent; connectUserAgent(config: { refresh: Function; }): Promise; registerUserAgent(): Promise; prepareUserAgent(config: { refresh: Function; }, delegate: UserAgentDelegate): Promise; } export { UserAgentFactory, UserAgentManager };