import OpenIMSDK from '..';
import { BaseResponse } from '../../types/entity';
import { AccessFriendApplicationParams, AddBlackParams, AddFriendParams, RemarkFriendParams, SearchFriendParams, SetFriendExParams } from 'open-im-sdk-wasm/lib/types/params';
import { FriendshipInfo, BlackUserItem, FriendApplicationItem, FullUserItem, SearchedFriendsInfo } from 'open-im-sdk-wasm/lib/types/entity';
export declare function setupFriendModule(openIMSDK: OpenIMSDK): {
    acceptFriendApplication: (params: AccessFriendApplicationParams, opid?: string) => Promise<BaseResponse<void>>;
    addBlack: (params: AddBlackParams, opid?: string) => Promise<BaseResponse<void>>;
    addFriend: (params: AddFriendParams, opid?: string) => Promise<BaseResponse<void>>;
    checkFriend: (userIDList: string[], opid?: string) => Promise<BaseResponse<FriendshipInfo[]>>;
    deleteFriend: (userID: string, opid?: string) => Promise<BaseResponse<void>>;
    setFriendsEx: (params: SetFriendExParams, opid?: string) => Promise<BaseResponse<void>>;
    getBlackList: (opid?: string) => Promise<BaseResponse<BlackUserItem[]>>;
    getFriendApplicationListAsApplicant: (opid?: string) => Promise<BaseResponse<FriendApplicationItem[]>>;
    getFriendApplicationListAsRecipient: (opid?: string) => Promise<BaseResponse<FriendApplicationItem[]>>;
    getFriendList: (opid?: string) => Promise<BaseResponse<FullUserItem[]>>;
    getSpecifiedFriendsInfo: (userIDList: string[], opid?: string) => Promise<BaseResponse<FullUserItem[]>>;
    refuseFriendApplication: (params: AccessFriendApplicationParams, opid?: string) => Promise<BaseResponse<void>>;
    removeBlack: (userID: string, opid?: string) => Promise<BaseResponse<void>>;
    searchFriends: (params: SearchFriendParams, opid?: string) => Promise<BaseResponse<SearchedFriendsInfo[]>>;
    setFriendRemark: (params: RemarkFriendParams, opid?: string) => Promise<BaseResponse<void>>;
};
export interface FriendModuleApi {
    acceptFriendApplication: (params: AccessFriendApplicationParams, opid?: string) => Promise<BaseResponse<void>>;
    addBlack: (userID: string, opid?: string) => Promise<BaseResponse<void>>;
    addFriend: (userID: string, opid?: string) => Promise<BaseResponse<void>>;
    checkFriend: (userIDList: string[], opid?: string) => Promise<BaseResponse<FriendshipInfo[]>>;
    deleteFriend: (userID: string, opid?: string) => Promise<BaseResponse<void>>;
    setFriendsEx: (params: SetFriendExParams, opid?: string) => Promise<BaseResponse<void>>;
    getBlackList: (opid?: string) => Promise<BaseResponse<BlackUserItem[]>>;
    getFriendApplicationListAsApplicant: (opid?: string) => Promise<BaseResponse<FriendApplicationItem[]>>;
    getFriendApplicationListAsRecipient: (opid?: string) => Promise<BaseResponse<FriendApplicationItem[]>>;
    getFriendList: (opid?: string) => Promise<BaseResponse<FullUserItem[]>>;
    getSpecifiedFriendsInfo: (userIDList: string[], opid?: string) => Promise<BaseResponse<FullUserItem[]>>;
    refuseFriendApplication: (params: AccessFriendApplicationParams, opid?: string) => Promise<BaseResponse<void>>;
    removeBlack: (userID: string, opid?: string) => Promise<BaseResponse<void>>;
    searchFriends: (params: SearchFriendParams, opid?: string) => Promise<BaseResponse<SearchedFriendsInfo[]>>;
    setFriendRemark: (params: RemarkFriendParams, opid?: string) => Promise<BaseResponse<void>>;
}
