import { V2NIMDataSyncDetail, V2NIMError, V2NIMKickedOfflineDetail, V2NIMLoginClient, V2NIMLoginOption } from '../v2_def/v2_nim_struct_def'; import { EventEmitter } from 'eventemitter3'; import { V2NIMReconnectDelayProvider } from '../v2_def/v2_nim_callback_def'; import { V2NIMConnectStatus, V2NIMDataSyncState, V2NIMDataSyncType, V2NIMLoginClientChange, V2NIMLoginStatus } from '../v2_def/v2_nim_enum_def'; export declare interface V2NIMLoginListener { /** 登录状态变更回调 */ loginStatus: [V2NIMLoginStatus]; /** 登录失败回调 */ loginFailed: [V2NIMError]; /** 被踢下线回调 */ kickedOffline: [V2NIMKickedOfflineDetail]; /** 登录客户端变更回调 */ loginClientChanged: [V2NIMLoginClientChange, V2NIMLoginClient[]]; /** 连接状态变更回调 */ connectStatus: [V2NIMConnectStatus]; /** 连接断开回调 */ disconnected: [V2NIMError | null]; /** 连接失败回调 */ connectFailed: [V2NIMError]; /** 数据同步回调 */ dataSync: [V2NIMDataSyncType, V2NIMDataSyncState, V2NIMError | null]; } export declare class V2NIMLoginService extends EventEmitter { instance: any; constructor(); /** * @brief 登录接口 * @param accountId 账号 * @param token 密码 * @param option 登录选项 * @returns Promise * @example * ```javascript * await v2.loginService.login('accountId', 'token', {}) * ``` */ login(accountId: string, token: string, option: V2NIMLoginOption): Promise; /** * @brief 登出接口 * @returns Promise * @example * ```javascript * await v2.loginService.logout() * ``` */ logout(): Promise; /** * @brief 获取当前登录用户 * @returns string 当前登录用户 * @example * ```javascript * const user = v2.loginService.getLoginUser() * ``` */ getLoginUser(): string; /** * @brief 获取登录状态 * @returns V2NIMLoginStatus 登录状态 * @example * ```javascript * const status = v2.loginService.getLoginStatus() * ``` */ getLoginStatus(): V2NIMLoginStatus; /** * @brief 获取登录客户端列表 * @returns V2NIMLoginClient[] 登录客户端列表 * @example * ```javascript * const clients = v2.loginService.getLoginClients() * ``` */ getLoginClients(): V2NIMLoginClient[]; /** * @brief 获取当前登录客户端 * @returns V2NIMLoginClient 当前登录客户端 * @example * ```javascript * const client = v2.loginService.getCurrentLoginClient() * ``` */ getCurrentLoginClient(): V2NIMLoginClient; /** * @brief 踢掉登录客户端下线 * @param client 登录客户端 * @returns Promise * @example * ```javascript * const otherClients = v2.loginService.getLoginClients() * await v2.loginService.kickOffline(otherClients[0]) * ``` */ kickOffline(client: V2NIMLoginClient): Promise; /** * @brief 获取被踢下线原因 * @returns V2NIMKickedOfflineDetail 被踢下线原因 * @example * ```javascript * const detail = v2.loginService.getKickedOfflineDetail() * ``` */ getKickedOfflineDetail(): V2NIMKickedOfflineDetail; /** * @brief 获取连接状态 * @returns V2NIMConnectStatus 连接状态 * @example * ```javascript * const status = v2.loginService.getConnectStatus() * ``` */ getConnectStatus(): V2NIMConnectStatus; /** * @brief 获取数据同步状态 * @returns V2NIMDataSyncDetail[] 数据同步状态列表 * @example * ```javascript * const details = v2.loginService.getDataSync() * ``` */ getDataSync(): V2NIMDataSyncDetail[]; /** * @brief 获取聊天室 link 地址 * @param roomId 聊天室 ID * @returns Promise> * @example * ```javascript * const linkAddresses = await v2.loginService.getChatroomLinkAddress('roomId') * ``` */ getChatroomLinkAddress(roomId: string): Promise>; /** * @brief 设置获取重连延时回调 * @param provider 获取重连延时回调 * @returns void * @example * ```javascript * v2.loginService.setReconnectDelayProvider(provider) * ``` */ setReconnectDelayProvider(provider: V2NIMReconnectDelayProvider): void; }