1 | import { Duplex } from 'stream';
|
2 | import * as tls from 'tls';
|
3 | import { Socket } from 'net';
|
4 | import { EventEmitter } from 'events';
|
5 | import Debug from './debug';
|
6 | import Message from './message';
|
7 | import OutgoingMessageStream from './outgoing-message-stream';
|
8 | declare class MessageIO extends EventEmitter {
|
9 | socket: Socket;
|
10 | debug: Debug;
|
11 | tlsNegotiationComplete: boolean;
|
12 | private incomingMessageStream;
|
13 | outgoingMessageStream: OutgoingMessageStream;
|
14 | securePair?: {
|
15 | cleartext: tls.TLSSocket;
|
16 | encrypted: Duplex;
|
17 | };
|
18 | incomingMessageIterator: AsyncIterableIterator<Message>;
|
19 | constructor(socket: Socket, packetSize: number, debug: Debug);
|
20 | packetSize(...args: [number]): number;
|
21 | startTls(credentialsDetails: tls.SecureContextOptions, hostname: string, trustServerCertificate: boolean): Promise<void>;
|
22 | sendMessage(packetType: number, data?: Buffer, resetConnection?: boolean): Message;
|
23 | /**
|
24 | * Read the next incoming message from the socket.
|
25 | */
|
26 | readMessage(): Promise<Message>;
|
27 | }
|
28 | export default MessageIO;
|