import EventEmitter from 'events'; import { ApiParams } from './grpc-gateway'; export interface CallBackBuffer { [id: string]: (buf: any) => void; } export interface SwitchHostOption { shortHost: string; longHost: string; } export declare type WechatGatewayEvent = 'newMessage' | 'socketClose' | 'socketError' | 'socketEnd' | 'rawMessage' | 'reset'; export declare class WechatGateway extends EventEmitter { private static _instance?; private longHost; private shortHost; private longSocket?; private grpcGateway; private backs; private proxyAgent?; private readonly state; private cacheBuf?; private dedupeApi; private apiCounter; private bootTime; static init(token: string, endpoint: string, proxyEndpoint?: string): void; static release(): Promise; static readonly Instance: WechatGateway; private constructor(); emit(event: 'newMessage' | 'rawMessage', message: Buffer): boolean; emit(event: 'socketClose' | 'socketEnd' | 'reset'): boolean; emit(event: 'socketError', err: Error): boolean; emit(event: never, listener: never): never; on(event: 'newMessage' | 'rawMessage', listener: ((this: WechatGateway, message: Buffer) => void)): this; on(event: 'socketClose' | 'socketEnd' | 'reset', listener: ((this: WechatGateway) => void)): this; on(event: 'socketError', listener: ((this: WechatGateway, err: Error) => void)): this; on(event: never, listener: never): never; stop(): Promise; switchHost({ shortHost, longHost }: SwitchHostOption): void; private cleanLongSocket; private initLongSocket; private releaseLongSocket; callApi(apiName: string, params?: ApiParams, forceCall?: boolean, forceLongOrShort?: boolean): Promise; private _callApi; isAlive(): boolean; private sendShort; private _sendShort; private sendLong; private onData; private handlePackage; private bufferToInt; } //# sourceMappingURL=wechat-gateway.d.ts.map