///
import { StreamResponse, ApiType } from './proto-ts/PadPlusServer_pb';
import { EventEmitter } from 'events';
import { GrpcEventEmitter } from './grpc-event-emitter';
export interface ResultObject {
code: number;
data: any;
}
export declare type GrpcGatewayEvent = 'data' | 'reconnect' | 'grpc-end' | 'grpc-close' | 'heartbeat';
export declare class GrpcGateway extends EventEmitter {
private token;
private endpoint;
private static _instance?;
private debounceQueue?;
private debounceQueueSubscription?;
private throttleQueue?;
private throttleQueueSubscription?;
static get Instance(): GrpcGateway | undefined;
private eventEmitterMap;
static init(token: string, endpoint: string, name: string): Promise;
private keepHeartbeat;
static release(): Promise;
private client;
private stopping;
private isAlive;
private timeoutNumber;
private startTime;
private stream?;
private reconnectStatus;
private constructor();
private initSelf;
private addNewInstance;
emit(event: 'data', data: StreamResponse): boolean;
emit(event: 'reconnect'): boolean;
emit(event: 'heartbeat', requestId: any): boolean;
emit(event: 'grpc-end' | 'grpc-close'): boolean;
emit(event: never, data: any): never;
on(event: 'data', listener: ((data: StreamResponse) => any)): this;
on(event: 'reconnect', listener: (() => any)): this;
on(event: 'heartbeat', listener: ((requestId: any) => any)): this;
on(event: 'grpc-end' | 'grpc-close', listener: (() => any)): this;
on(event: never, listener: ((data: any) => any)): never;
private checkTimeout;
request(apiType: ApiType, uin: string, data?: any): Promise;
private _request;
stop(): Promise;
initGrpcGateway(): Promise;
}
//# sourceMappingURL=grpc-gateway.d.ts.map