import { VBANPacket } from '../VBANPacket.js';
import { ESubProtocol } from '../ESubProtocol.js';
import { EFormatBit } from '../../commons.js';
import { ISerialBitMode } from './ISerialBitMode.js';
import { ESerialStreamType } from './ESerialStreamType.js';
import { IVBANHeaderSerial } from './IVBANHeaderSerial.js';
import { Buffer } from 'buffer';
export declare class VBANSerialPacket extends VBANPacket {
    /**
     * {@link VBANSerialPacket.subProtocol}
     */
    static readonly subProtocol: ESubProtocol;
    subProtocol: ESubProtocol;
    /**
     * This field is used to give possible information on COM port and serial transmission mode related
     * to a Hardware COM port. This is made to possibly emulate COM to COM port connections and
     * let the receiver configure the physical COM port in the right mode.
     */
    bitMode: ISerialBitMode;
    /**
     * Can be used to define a sub channel (sub serial link) and then manage up to 256 different
     * serial virtual pipes (ZERO by default).
     */
    channelsIdents: number;
    /**
     * SR / bps : Bit rate is given in bps for information only. But it can be useful if serial data come from or go to
     * a particular COM port. Set to ZERO if there is no particular bit rate.
     */
    bps: number;
    /**
     * not used . Replaced by {@link VBANSerialPacket.bps}
     */
    sr: number;
    /**
     * Data type used to store data in the packet (ZERO per default). The index is stored on 3 first bits.
     * Bit 3 must be ZERO. Bits 4 to 7 gives additional mode
     */
    formatBit: EFormatBit;
    /**
     * type of stream . MIDI or SERIAL ... But in practice, only serial is used (MIDI is serial)
     */
    streamType: ESerialStreamType;
    data: Buffer;
    constructor(headers: IVBANHeaderSerial, data: Buffer);
    static toUDPPacket(packet: VBANSerialPacket): Buffer;
    static fromUDPPacket(headersBuffer: Buffer, dataBuffer: Buffer): VBANSerialPacket;
}
