import { V2NIMMessage } from 'nim-web-sdk-ng/dist/v2/NIM_BROWSER_SDK/V2NIMMessageService'; export type SignalControllerCallType = '1' | '2' | '3'; export declare enum SignalControllerCallingStatus { idle = 0, calling = 1, called = 2, inCall = 3 } export type SignalControllerCallParams = { /** 被叫im id */ accId: string; /** 呼叫类型 */ callType: SignalControllerCallType; /** 信令房间名称,可选 */ signalChannelName?: string; /** 额外信息,被邀请端可以获取,可选 */ extraInfo?: string; /** 全局抄送,可选 */ globalExtraCopy?: string; /** rtc 房间名称,可选 */ nertcChannelName?: string; /** rtc token 超时时间,可选 */ nertcTokenTtl?: number; /** rtc 快呼叫参数,内部实现,用户可以忽略 */ nertcJoinRoomQueryParamMap?: string; /** 用户推送自定义内容,为空时使用内部默认推送配置 */ pushConfig?: SignalControllerPushInfo; }; export type SignalControllerAttachExt = { callId: string; channelName: string; version: string; platform: string; callType: number; reason: number; rtcTokenTtl?: number; cid?: number; type?: number; state?: number; global_extra?: string; extraInfo?: string; _attachment?: string; }; export type SignalControllerChannelInfo = { ext?: string; channelId: string; channelName: string; type: SignalControllerCallType; createTimestamp: number; expireTimestamp: number; creatorId: string; invalid: boolean; members: SignalControllerMember[]; nertcChannelName?: string; nertcToken?: string; nertcTokenTtl?: string; nertcJoinRoomResponse?: string; callerId: string; calleeId: string; requestId: string; attachExt: SignalControllerAttachExt; }; export type SignalControllerPushInfo = { pushTitle?: string; pushContent?: string; pushPayload?: string; needPush?: boolean; needBadge?: boolean; }; export type SignalControllerMember = { uid: string; account: string; accid: string; accountId: string; createTimestamp?: number; expireTimestamp?: number; }; export type SignalControllerChannelEvent = { eventType: string; channelName: string; channelId: string; channelCreateTime: string; channelExpireTime: string; creator: string; from: string; attach: string; attachExt: string; time: number; members: SignalControllerMember[]; pushInfo: SignalControllerPushInfo; requestId: string; to: string; channelInValid: boolean; type: SignalControllerCallType; msgid: number; }; export interface SignalControllerCallRecord extends V2NIMMessage { accId: string; callType: string; callStatus: number; } export interface SignalControllerEvents { afterSignalCallEx: [SignalControllerChannelInfo]; afterSignalAccept: [SignalControllerChannelInfo]; afterSignalReject: [SignalControllerAttachExt]; afterSignalCancel: [SignalControllerAttachExt]; afterSignalHangup: [SignalControllerAttachExt]; afterCallRecordSend: [SignalControllerCallRecord]; whenSignalCancel: [SignalControllerAttachExt]; whenSignalReject: [SignalControllerAttachExt]; whenSignalAccept: [SignalControllerChannelInfo]; whenSignalInvite: [SignalControllerChannelInfo]; whenSignalControl: [SignalControllerAttachExt]; whenSignalRoomClose: [SignalControllerAttachExt]; whenSignalRejectOtherClient: void; whenSignalAcceptOtherClient: void; }