import { V2NIMUser, V2NIMUserUpdateParams, V2NIMUserSearchOption } from '../v2_def/v2_nim_struct_def'; import { EventEmitter } from 'eventemitter3'; export declare interface V2NIMUserListener { /** 用户资料变更 */ userProfileChanged: [Array]; /** 添加黑名单 */ blockListAdded: [V2NIMUser]; /** 移除黑名单 */ blockListRemoved: [string]; } /** @brief 用户资料服务 */ export declare class V2NIMUserService extends EventEmitter { instance: any; constructor(); /** * @brief 根据用户账号列表获取用户资料 * @param accountIds 用户账号列表 * @returns void * @example * ```javascript * const users = await v2.userService.getUserList(accountIds) * ``` */ getUserList(accountIds: Array): Promise>; /** * @brief 更新自己的用户资料 * @param updateParams 更新参数 * @returns void * @example * ```javascript * await v2.userService.updateSelfUserProfile(updateParams) * ``` */ updateSelfUserProfile(updateParams: V2NIMUserUpdateParams): Promise; /** * @brief 添加用户到黑名单中 * @param accountId 用户账号 * @returns void * @example * ```javascript * await v2.userService.addUserToBlockList(accountId) * ``` */ addUserToBlockList(accountId: string): Promise; /** * @brief 从黑名单中移除用户 * @param accountId 用户账号 * @returns void * @example * ```javascript * await v2.userService.removeUserFromBlockList(accountId) * ``` */ removeUserFromBlockList(accountId: string): Promise; /** * @brief 获取黑名单列表 * @returns void * @example * ```javascript * const blockList = await v2.userService.getBlockList() * ``` */ getBlockList(): Promise>; /** * @brief 根据用户账号列表从服务器获取用户资料, 主要使用 getUserList ,只有强制需要拉取最新用户信息才需要使用该接口 * @param accountIds 用户账号列表 * @returns void * @example * ```javascript * const users = await v2.userService.getUserListFromCloud(accountIds) * ``` */ getUserListFromCloud(accountIds: Array): Promise>; /** * @brief 根据关键字搜索好友信息 * @param option 搜索选项 @see V2NIMUserSearchOption * @returns Promise> * @example * ```javascript * const users = await v2.userService.searchUserByOption({ * keyword: 'Alice', * searchName: true * }) * ``` */ searchUserByOption(option: V2NIMUserSearchOption): Promise>; /** * @brief 根据账号 ID 检查是否在黑名单中 * @param accountIds 账号 ID 列表 * @returns void * @since v10.9.0 * @example * ```javascript * const result = await v2.userService.checkBlock(['accountId1', 'accountId2']) * // handle result * ``` */ checkBlock(accountIds: Array): Promise>; }