/// /// import EventEmitter from 'events'; declare enum ADNLClientState { CONNECTING = 0, OPEN = 1, CLOSING = 2, CLOSED = 3 } interface ADNLClient { emit(event: 'connect'): boolean; emit(event: 'ready'): boolean; emit(event: 'close'): boolean; emit(event: 'data', data: Buffer): boolean; emit(event: 'error', error: Error): boolean; on(event: 'connect', listener: () => void): this; on(event: 'ready', listener: () => void): this; on(event: 'close', listener: () => void): this; on(event: 'data', listener: (data: Buffer) => void): this; on(event: 'error', listener: (error: Error, close: boolean) => void): this; once(event: 'connect', listener: () => void): this; once(event: 'ready', listener: () => void): this; once(event: 'close', listener: () => void): this; once(event: 'data', listener: (data: Buffer) => void): this; once(event: 'error', listener: (error: Error, close: boolean) => void): this; } declare class ADNLClient extends EventEmitter { protected socket: any; protected host: string; protected port: number; private buffer; private address; private params; private keys; private cipher; private decipher; private _state; constructor(socket: any, url: string, peerPublicKey: Uint8Array | string); protected get handshake(): Buffer; get state(): ADNLClientState; protected onBeforeConnect(): Promise; protected onConnect(): void; protected onReady(): void; protected onClose(): void; protected onData(data: Buffer): void; protected onError(error: Error, close?: boolean): void; protected onHandshake(): void; write(data: Buffer | Uint8Array): void; connect(): Promise; end(): void; protected encrypt(data: Buffer): Buffer; protected decrypt(data: Buffer): Buffer; } export { ADNLClient, ADNLClientState };