import { HttpLink } from './HttpLink'; import { ParsedEvent, SendMessage } from './types'; export interface HubConnectionOptions { url?: string; httpLink?: HttpLink; lazy?: boolean; timeout?: number; minTimeout?: number; reconnect?: boolean; reconnectionAttempts?: number; } export declare class HubConnection { protected url?: string; protected httpLink?: HttpLink; private backoff; private emitter; private closedByUser; private wasKeepAliveReceived; private unsentMessagesQueue; private reconnect; private reconnecting; private reconnectionAttempts; private tryReconnectTimeoutId; private checkConnectionIntervalId; private maxConnectTimeoutId; private maxConnectTimeGenerator; private ws?; private wsTimeout; private minWsTimeout; private wsImpl; private effects; constructor(options: HubConnectionOptions, webSocketImpl?: typeof globalThis.WebSocket); get status(): number; on(eventName: string | symbol, listener: (...args: any[]) => void): () => void; start(): Promise; protected connect(): void; protected processReceivedData(receivedData: string): void; protected processSystemEvent(event: ParsedEvent): void; protected processCallbacks(event: ParsedEvent): void; close(isForced?: boolean, closedByUser?: boolean): void; /** * AI 应用 * * @param id - * @param data - */ invoke(id: string, data: unknown): void; /** * 发送普通消息 * * @param id - * @param data - 数据 */ send(id: string, payload: NonNullable): void; /** * 使用 websocket 发出最原始的消息 * * @param message - * @returns */ emit(message: SendMessage): void; protected buildMessage(id: string, payload: NonNullable): SendMessage; private flushUnsentMessagesQueue; private heartbeat; private tryReconnect; private checkConnection; private checkMaxConnectTimeout; private createMaxConnectTimeGenerator; private clearCheckConnectionInterval; private clearMaxConnectTimeout; private clearTryReconnectTimeout; }