///
import * as net from 'net';
import * as Protocol from './protocol';
/**
* Original implementation of SCTE 104 client
*/
export declare class Client {
socket: net.Socket;
private messageNumber;
private readBuffer;
private desiredReadLength;
private readResponder;
/**
* DPI PID index to include in SCTE-104 messages.
*/
dpiPidIndex: number;
/**
* AS (automation system) index we are acting as
*/
asIndex: number;
/**
* Protocol version, must be 0x0 in existing spec,
* so this generally should not be changed.
*/
protocolVersion: number;
/**
* SCTE-35 protocol version, used for SCTE-35 specific messages.
* Must be 0x0 in existing spec, so this generally should not
* be changed.
*/
scte35ProtocolVersion: number;
connect(host: string, port?: number): Promise;
disconnect(): Promise;
private connectedResolver;
private connectedRejecter;
private connected;
private onError;
private onClose;
private onConnect;
private fireEvent;
private mappedEvents;
addEventListener(event: string, handler: (event: any) => void): void;
removeEventListener(event: string, handler: (event: any) => void): void;
private onData;
private pumpReadResponder;
/**
* Takes a 13 byte buffer and decodes it into a SingleOperationMessageHeader
* @param buffer
*/
private decodeSingleOperationHeader;
private sizeOfTimestamp;
multipleOperations(message: Protocol.MultipleOperationMessageInit): Promise;
private prepareOperation;
private encodeTimestamp;
private readTimestamp;
private encodeSingleOperationHeader;
private write;
private read;
private readSingleOperation;
init(): Promise;
private writeSingleOperation;
alive(): Promise;
private encodeTime;
}