import { EventEmitter } from "node:events"; import { Adapter } from "./adapter.js"; import { Logger } from "log4js"; import { Protocol, type ProtocolLifecycleStatus } from "./protocol.js"; import { CommonEvent } from "./types.js"; import type { RouterRegistrationScope } from "./router.js"; import { type AccountOperationDrain } from "./account-operations.js"; export interface ProtocolRuntimeInfo { name: string; version: string; path: string; lifecycleStatus: ProtocolLifecycleStatus; } export declare class NotFoundError extends Error { message: string; } export declare class Account

extends EventEmitter { #private; adapter: Adapter; client: C; config: Account.Config

; status: AccountStatus; avatar: string; nickname: string; dependency: string; protocols: Protocol[]; get account_id(): any; /** 热配置不能与尚未完成的平台登录事务交错。 */ get isStarting(): boolean; runOperation(operation: () => T | Promise): Promise; beginOperationDrain(): AccountOperationDrain; get app(): import("./base-app.js").BaseApp; get platform(): string | number; get logger(): Logger; get info(): { uin: any; status: AccountStatus; platform: string | number; avatar: string; nickname: string; dependency: string; urls: string[]; protocols: ProtocolRuntimeInfo[]; startupTimeoutSeconds: number; }; get startupTimeoutSeconds(): number; get protocolConfigs(): Protocol.FullConfig[]; constructor(adapter: Adapter, client: C, config: Account.Config

); /** 构造与启动各自捕获协议资源;协议变更不触碰账号自身路由。 */ createProtocol(name: string, version: string, config: Record): Protocol; startProtocol(protocol: Protocol, signal?: AbortSignal): Promise; stopProtocol(protocol: Protocol, force?: boolean): Promise; /** @internal 由 BaseApp 在账号构造完成后绑定路由所有权。 */ attachRouteScope(scope: RouterRegistrationScope): void; get path(): string; /** * 在全局 timeout 边界内启动账号监听器和协议出口。 * start 监听器会收到 AbortSignal;超时或 stop 时扩展应据此取消底层异步工作。 */ start(): Promise; stop(force?: boolean): Promise; getGroupList(): Promise; getFriendList(): Promise; /** 将事件发往各协议,但不把完成状态反馈给调用方。可靠接入应使用 dispatchAwaited。 */ dispatch(commonEvent: CommonEvent.Base): void; /** * 将事件发往全部协议并等待完成。单个协议失败不会阻止其他协议获得本次投递, * 但最终会向接入层传播失败,使 Webhook、队列或 Stream 可以请求平台重投。 */ dispatchAwaited(commonEvent: CommonEvent.Base): Promise; private dispatchProtocolsAwaited; /** * 顺序投递同一原始事件拆出的 canonical 事件,并确保单项失败不阻止其余项。 * 全部项均获得投递机会后,再将失败聚合反馈给可靠接入层。 */ dispatchManyAwaited(commonEvents: readonly CommonEvent.Base[]): Promise; } export declare enum AccountStatus { Pending = "pending",// 上线中 Online = "online",// 已上线 OffLine = "offline" } export declare namespace Account { type Filters = {}; type Config

= Adapter.Configs[P] & Partial & { platform: string; account_id: string; }; const UnsupportedMethodError: Error; const UnsupportedVersionError: Error; } export declare const BOOLS: string[];