import { Data } from './data'; import { IBuffer } from '../buffer'; import { EventNoticer, Event } from '../event'; export declare const KEEP_ALIVE_TIME = 50000; export interface MessageHandle { receiveMessage(data: Data): Promise; } export declare abstract class ConversationBasic { protected m_overflow: boolean; protected m_last_packet_time: number; protected m_KEEP_ALIVE_TIME: number; protected m_isGzip: boolean; protected m_replyPong: boolean; protected m_handles: Dict; protected m_services_count: number; protected m_token: string; protected m_isOpen: boolean; protected m_default_service: string; readonly onClose: EventNoticer>; readonly onOpen: EventNoticer>; readonly onPing: EventNoticer>; readonly onPong: EventNoticer>; readonly onDrain: EventNoticer>; readonly onOverflow: EventNoticer>; get overflow(): boolean; get lastPacketTime(): number; get keepAliveTime(): number; set keepAliveTime(value: number); get isGzip(): boolean; get replyPong(): boolean; get token(): string; get isOpen(): boolean; _service(service: string): string | undefined; get handles(): { [x: string]: MessageHandle; }; protected abstract bindServices(services: string[]): Promise; /** * @fun parse # parser message * @arg packet {String|Buffer} * @arg {Boolean} isText */ protected handlePacket(packet: IBuffer | string, isText: boolean): Promise; handlePing(data: IBuffer): void; handlePong(data: IBuffer): void; sendFormatData(data: Data): Promise; abstract send(data: IBuffer): Promise; abstract ping(): Promise; abstract pong(): Promise; abstract close(): void; protected static write(self: ConversationBasic, api: (...args: any[]) => R, args: A): Promise; }