import OpenIMSDK from '..';
import { BaseResponse } from '../../types/entity';
import { CreateMeetingParams, CustomSignalParams, MeetingOperateStreamParams, RtcActionParams, SignalingInviteParams, UpdateMeetingParams } from 'open-im-sdk-wasm/lib/types/params';
import { RtcInviteResults, CallingRoomData, MeetingRecord } from 'open-im-sdk-wasm/lib/types/entity';
export declare function setupSignalingModule(openIMSDK: OpenIMSDK): {
    signalingInviteInGroup: (params: SignalingInviteParams, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingInvite: (params: SignalingInviteParams, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingCancel: (params: RtcActionParams, opid?: string) => Promise<BaseResponse<void>>;
    signalingAccept: (params: RtcActionParams, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingReject: (params: RtcActionParams, opid?: string) => Promise<BaseResponse<void>>;
    signalingHungUp: (params: RtcActionParams, opid?: string) => Promise<BaseResponse<void>>;
    signalingGetRoomByGroupID: (groupID: string, opid?: string) => Promise<BaseResponse<CallingRoomData>>;
    signalingGetTokenByRoomID: (roomID: string, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingSendCustomSignal: (params: CustomSignalParams, opid?: string) => Promise<BaseResponse<void>>;
    signalingCreateMeeting: (params: CreateMeetingParams, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingJoinMeeting: (roomID: string, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingUpdateMeetingInfo: (params: Partial<UpdateMeetingParams> & {
        roomID: string;
    }, opid?: string) => Promise<BaseResponse<void>>;
    signalingCloseRoom: (roomID: string, opid?: string) => Promise<BaseResponse<void>>;
    signalingGetMeetings: (opid?: string) => Promise<BaseResponse<{
        meetingInfoList: MeetingRecord[];
    }>>;
    signalingOperateStream: (params: MeetingOperateStreamParams, opid?: string) => Promise<BaseResponse<void>>;
};
export interface SignalingModuleApi {
    signalingInviteInGroup: (params: SignalingInviteParams, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingInvite: (params: SignalingInviteParams, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingCancel: (params: RtcActionParams, opid?: string) => Promise<BaseResponse<void>>;
    signalingAccept: (params: RtcActionParams, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingReject: (params: RtcActionParams, opid?: string) => Promise<BaseResponse<void>>;
    signalingHungUp: (params: RtcActionParams, opid?: string) => Promise<BaseResponse<void>>;
    signalingGetRoomByGroupID: (groupID: string, opid?: string) => Promise<BaseResponse<CallingRoomData>>;
    signalingGetTokenByRoomID: (roomID: string, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingSendCustomSignal: (params: CustomSignalParams, opid?: string) => Promise<BaseResponse<void>>;
    signalingCreateMeeting: (params: CreateMeetingParams, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingJoinMeeting: (meetingID: string, opid?: string) => Promise<BaseResponse<RtcInviteResults>>;
    signalingUpdateMeetingInfo: (params: Partial<UpdateMeetingParams> & {
        roomID: string;
    }, opid?: string) => Promise<BaseResponse<void>>;
    signalingCloseRoom: (roomID: string, opid?: string) => Promise<BaseResponse<void>>;
    signalingGetMeetings: (opid?: string) => Promise<BaseResponse<{
        meetingInfoList: MeetingRecord[];
    }>>;
    signalingOperateStream: (params: MeetingOperateStreamParams, opid?: string) => Promise<BaseResponse<void>>;
}
