import { mtp, tl } from '../tl/index.js'; import { Logger } from '../utils/index.js'; import { SessionConnectionParams, SessionConnection } from './session-connection.js'; import { TelegramTransport } from './transports/index.js'; import { Deferred, Emitter } from '@fuman/utils'; export declare class MultiSessionConnection { readonly params: SessionConnectionParams; private _count; private _log; private _enforcePfs; readonly onRequestKeys: Emitter>; readonly onError: Emitter; readonly onUpdate: Emitter; readonly onKeyChange: Emitter<[number, Uint8Array | null]>; readonly onTmpKeyChange: Emitter<[number, Uint8Array | null, number]>; readonly onFutureSalts: Emitter; readonly onAuthBegin: Emitter; readonly onUsable: Emitter; readonly onWait: Emitter; readonly onRequestAuth: Emitter; constructor(params: SessionConnectionParams, _count: number, log: Logger, logPrefix?: string); readonly _connections: SessionConnection[]; setCount(count: number, connect?: boolean): void; getCount(): number; private _updateConnections; _destroyed: boolean; destroy(): Promise; private _nextConnection; sendRpc(request: T, timeout?: number, abortSignal?: AbortSignal, chainId?: string | number): Promise; connect(): void; ensureConnected(): void; private _authKey; setAuthKey(authKey: Uint8Array | null): void; setTempAuthKey(authKey: Uint8Array | null, idx: number): void; resetAuthKeys(): void; setInactivityTimeout(timeout?: number): void; notifyKeyChange(): void; notifyNetworkChanged(connected: boolean): void; requestAuth(): void; resetSessions(): void; changeTransport(factory: TelegramTransport): Promise; getPoolSize(): number; }