/**
 * this is the low-level implementation of the E1.31 (sACN) protocol
 */
/// <reference types="node" />
import { type Payload } from './util';
export interface Options {
    universe: Packet['universe'];
    payload: Packet['payload'];
    sequence: Packet['sequence'];
    sourceName?: Packet['sourceName'];
    priority?: Packet['priority'];
    cid?: Packet['cid'];
    /**
     * Whether to use 0-100 or 0-255 scale when creating the packet
     * - `false` (default): 0-100
     * - `true`: 0-255
     */
    useRawDmxValues?: Packet['useRawDmxValues'];
}
/**
 * This constructs a sACN Packet, either from an
 * existing `Buffer` or from `Options`.
 */
export declare class Packet {
    readonly sourceAddress?: string | undefined;
    private readonly root_vector;
    private readonly root_fl;
    private readonly preambleSize;
    private readonly postambleSize;
    private readonly acnPid;
    readonly cid: Buffer;
    private readonly frame_vector;
    private readonly frame_fl;
    readonly options: number;
    readonly sequence: number;
    readonly sourceName: string;
    readonly priority: number;
    readonly syncUniverse: number;
    readonly universe: number;
    private readonly dmp_vector;
    private readonly dmp_fl;
    private readonly type;
    private readonly firstAddress;
    private readonly addressIncrement;
    readonly propertyValueCount: number;
    private readonly startCode;
    private readonly privatePayload;
    private readonly useRawDmxValues;
    constructor(input: Buffer | Options, sourceAddress?: string | undefined);
    get payload(): Payload;
    get payloadAsBuffer(): Buffer | null;
    get buffer(): Buffer;
}
