import { BaseResponse } from '../../types/entity';
import OpenIMSDK from '..';
import { MessageReceiveOptType } from 'open-im-sdk-wasm';
import { SelfUserInfo, FullUserItemWithCache, UserOnlineState } from 'open-im-sdk-wasm/lib/types/entity';
import { GetUserInfoWithCacheParams, PartialUserItem } from 'open-im-sdk-wasm/lib/types/params';
export declare function setupUserModule(openIMSDK: OpenIMSDK): {
    getSelfUserInfo: (opid?: string) => Promise<BaseResponse<SelfUserInfo>>;
    setSelfInfo: (params: PartialUserItem, opid?: string) => Promise<BaseResponse<void>>;
    getUsersInfoWithCache: (params: GetUserInfoWithCacheParams, opid?: string) => Promise<BaseResponse<FullUserItemWithCache[]>>;
    subscribeUsersStatus: (userIDList: string[], opid?: string) => Promise<BaseResponse<UserOnlineState>>;
    unsubscribeUsersStatus: (userIDList: string[], opid?: string) => Promise<BaseResponse<void>>;
    getSubscribeUsersStatus: (opid?: string) => Promise<BaseResponse<UserOnlineState[]>>;
    setGlobalRecvMessageOpt: (msgReceiveOptType: MessageReceiveOptType, opid?: string) => Promise<BaseResponse<void>>;
};
export interface UserModuleApi {
    getSelfUserInfo: (opid?: string) => Promise<BaseResponse<SelfUserInfo>>;
    setSelfInfo: (params: PartialUserItem, opid?: string) => Promise<BaseResponse<void>>;
    getUsersInfoWithCache: (params: GetUserInfoWithCacheParams, opid?: string) => Promise<BaseResponse<FullUserItemWithCache[]>>;
    subscribeUsersStatus: (userIDList: string[], opid?: string) => Promise<BaseResponse<UserOnlineState>>;
    unsubscribeUsersStatus: (userIDList: string[], opid?: string) => Promise<BaseResponse<void>>;
    getSubscribeUsersStatus: (opid?: string) => Promise<BaseResponse<UserOnlineState[]>>;
    setGlobalRecvMessageOpt: (msgReceiveOptType: MessageReceiveOptType, opid?: string) => Promise<BaseResponse<void>>;
}
