/// import { EventEmitter } from 'node:events'; import { DingtalkClient } from '../index'; import { IncomingMessage } from '../robots'; import { type SubscriptionData, type SubscriptionItem } from './subscription'; export interface StreamClientOptions { /** * 订阅的事件 */ subscriptions?: SubscriptionItem[]; /** * ping 服务器的默认间隔 * * @defaultValue 8 * 1000 */ keepAliveIntervalInMilliseconds?: number; } export declare class StreamClient extends EventEmitter { #private; protected client: DingtalkClient; constructor(client: DingtalkClient, options?: StreamClientOptions); connect(): Promise; isConnecting(): boolean; disconnect(): void; sendGraphAPIResponse(messageId: string, value: GraphAPIResponse): void; onImMessage(callback: (message: IncomingMessage) => void): void; protected handleSystem(message: SubscriptionData): void; protected handleCallback(event: SubscriptionData): void; protected handleEvent(event: SubscriptionData): void; protected getEndpoint(): Promise; protected enableHeartbeat(): void; protected disableHeartbeat(): void; authHeaders(): Promise<{ 'access-token': string; }>; protected defaultHeaders(): Promise<{ 'access-token': string; Accept: string; 'Content-Type': string; }>; } export interface GraphAPIResponse { response: { statusLine: { code?: number; reasonPhrase?: string; }; headers: { [key: string]: string; }; body: string; }; }