/// <reference types="node" />
export declare enum Commands {
    NOP = 0,
    ListServices = 4,
    ListIdentity = 99,
    ListInterfaces = 100,
    RegisterSession = 101,// Begin Session Command
    UnregisterSession = 102,// Close Session Command
    SendRRData = 111,// Send Unconnected Data Command
    SendUnitData = 112,// Send Connnected Data Command
    IndicateStatus = 114,
    Cancel = 115
}
/**
 * Checks if Command is a Valid Encapsulation Command
 * @param ecapsulation command
 * @returns test result
 */
export declare function validateCommand(cmd: number): cmd is Commands;
/**
 * Parses Encapulation Status Code to Human Readable Error Message.
 * @param status Status Code
 * @returns Human Readable Error Message
 */
export declare function parseStatus(status: number): string;
export declare class Encapsulation {
    /**
     * Creates a register session packet
     * @returns register Session packet
     */
    static registerSession(sessionID?: number): Buffer;
    /**
     * Returns an Unregister Session Request Buffer
     * @returns unregister Session packet
     */
    static unregisterSession(session: number): Buffer;
    /**
     * Returns a UCMM Encapsulated Packet Buffer
     * @returns sendRRData packet
     */
    static sendRRData(session: number, data: Buffer, timeout?: number): Buffer;
    /**
     * Returns a Connected Message Datagram (Transport Class 3) String
     * @returns sendUnitData packet
     */
    static sendUnitData(session: number, data: Buffer, ConnectionID: number, SequenceNumber: number): Buffer;
}
