import { V2NIMFriend, V2NIMFriendAddApplication, V2NIMFriendAddApplicationQueryOption, V2NIMFriendAddApplicationResult, V2NIMFriendAddParams, V2NIMFriendDeleteParams, V2NIMFriendSearchOption, V2NIMFriendSetParams, V2NIMFriendClearAddApplicationOption } from '../v2_def/v2_nim_struct_def'; import { EventEmitter } from 'eventemitter3'; import { V2NIMFriendDeletionType } from '../v2_def/v2_nim_enum_def'; export declare interface V2NIMFriendListener { /** 添加好友 */ friendAdded: [V2NIMFriend]; /** 删除好友 */ friendDeleted: [string, V2NIMFriendDeletionType]; /** 添加好友申请 */ friendAddApplication: [V2NIMFriendAddApplication]; /** 添加好友申请被拒绝 */ friendAddRejected: [V2NIMFriendAddApplication]; /** 更新好友信息 */ friendInfoChanged: [V2NIMFriend]; } /** @brief 好友服务 */ export declare class V2NIMFriendService extends EventEmitter { instance: any; constructor(); /** * @brief 添加好友 * @param accountId 账号 ID * @param params 添加好友参数 * @returns void * @example * ```javascript * await v2.friendService.addFriend('accountId', { * addMode: 1 * }) * ``` */ addFriend(accountId: string, params: V2NIMFriendAddParams): Promise; /** * @brief 删除好友 * @param accountId 账号 ID * @param params 删除好友参数 * @returns void * @example * ```javascript * await v2.friendService.deleteFriend('accountId', { * deleteAlias: true * }) * ``` */ deleteFriend(accountId: string, params: V2NIMFriendDeleteParams): Promise; /** * @brief 接受好友申请 * @param application 好友申请 * @returns void * @example * ```javascript * await v2.friendService.acceptAddApplication(application) * ``` */ acceptAddApplication(application: V2NIMFriendAddApplication): Promise; /** * @brief 拒绝好友申请 * @param application 好友申请 * @param postscript 拒绝理由 * @returns void * @example * ```javascript * await v2.friendService.rejectAddApplication(application, 'reason') * ``` */ rejectAddApplication(application: V2NIMFriendAddApplication, postscript: String): Promise; /** * @brief 设置好友信息 * @param accountId 账号 ID * @param params 设置好友信息参数 * @returns void * @example * ```javascript * await v2.friendService.setFriendInfo('accountId', { * alias: 'alias' * }) * ``` */ setFriendInfo(accountId: string, params: V2NIMFriendSetParams): Promise; /** * @brief 获取好友列表 * @returns void * @example * ```javascript * await v2.friendService.getFriendList() * ``` */ getFriendList(): Promise>; /** * @brief 根据账号 ID 获取好友信息 * @param accountIds 账号 ID 列表 * @returns void * @example * ```javascript * await v2.friendService.getFriendByIds(['accountId1', 'accountId2']) * ``` */ getFriendByIds(accountIds: Array): Promise>; /** * @brief 根据账号 ID 检查好友状态 * @param accountIds 账号 ID 列表 * @returns void * @example * ```javascript * await v2.friendService.checkFriend(['accountId1', 'accountId2']) * ``` */ checkFriend(accountIds: Array): Promise>; /** * @brief 获取申请添加好友信息列表 * @param option 查询申请添加好友相关信息参数 * @returns void * @example * ```javascript * await v2.friendService.getAddApplicationList({ * offset: 0, * limit: 10 * }) * ``` */ getAddApplicationList(option: V2NIMFriendAddApplicationQueryOption): Promise; /** * @brief 获取申请添加好友未读数量 * @returns void * @example * ```javascript * await v2.friendService.getAddApplicationUnreadCount() * ``` */ getAddApplicationUnreadCount(): Promise; /** * @brief 设置所有申请添加好友已读 * @returns void * @example * ```javascript * await v2.friendService.setAddApplicationRead() * ``` */ setAddApplicationRead(): Promise; /** * @brief 设置单条申请添加好友已读 * @returns void * @example * ```javascript * await v2.friendService.setAddApplicationReadEx(application) * ``` */ setAddApplicationReadEx(application: V2NIMFriendAddApplication): Promise; /** * @brief 根据关键字搜索用户信息 * @param option 搜索选项 @see V2NIMFriendSearchOption * @returns Promise> * @example * ```javascript * await v2.friendService.searchFriendByOption({ * keyword: 'keyword' * }) * ``` */ searchFriendByOption(option: V2NIMFriendSearchOption): Promise>; /** * @brief 清空所有添加好友申请 * @returns Promise * @example * ```javascript * await v2.friendService.clearAllAddApplication() * ``` */ clearAllAddApplication(): Promise; /** * @brief 清空所有添加好友申请(高级接口,可指定清理类型) * @returns Promise * @since v10.9.60 * @example * ```javascript * await v2.friendService.clearAllAddApplicationEx({ * type: 1 * }) * ``` * @param option */ clearAllAddApplicationEx(option: V2NIMFriendClearAddApplicationOption): Promise; /** * @brief 删除添加好友申请 * @param application 添加好友申请 * @returns Promise * @example * ```javascript * await v2.friendService.deleteAddApplication(application) * ``` */ deleteAddApplication(application: V2NIMFriendAddApplication): Promise; }