import { JDDevice } from "./device"; import { NumberFormat } from "./buffer"; import { JDBus } from "./bus"; import { DecodedPacket } from "./pretty"; import { PackedValues } from "./pack"; /** * Represent serialized Packet, or several packets. */ export type JDFrameBuffer = Uint8Array & { _jacdac_sender?: string; _jacdac_timestamp?: number; _jacdac_replay?: boolean; _jacdac_meta?: any; }; export declare function isLargeFrame(frame: Uint8Array): boolean; /** * A Jacdac packet * @category JDOM */ export declare class Packet { private _header; private _data; private _meta; timestamp: number; device: JDDevice; private _decoded; readonly key: number; sender: string; replay?: boolean; isRepeatedEvent: boolean; private static _nextKey; private constructor(); static fromBinary(data: JDFrameBuffer, timestamp?: number): Packet; static from(service_command: number, data: Uint8Array): Packet; static onlyHeader(service_command: number): Packet; toBuffer(): JDFrameBuffer; get header(): Uint8Array; get deviceIdentifier(): string; set deviceIdentifier(id: string); get frameFlags(): number; set frameFlags(v: number); get isMultiCommand(): boolean; get size(): number; get requiresAck(): boolean; set requiresAck(ack: boolean); get serviceIndex(): number; set serviceIndex(value: number); get serviceClass(): number; get crc(): number; get serviceCommand(): number; set serviceCommand(cmd: number); get isRegisterSet(): boolean; get isRegisterGet(): boolean; get registerIdentifier(): number; get isEvent(): boolean; get eventCode(): number; get eventCounter(): number; get isCRCAck(): boolean; get isPipe(): boolean; get pipePort(): number; get pipeCount(): number; get data(): Uint8Array; set data(buf: Uint8Array); jdunpack(fmt: string): T; get uintData(): number; get stringData(): string; get intData(): number; get isAnnounce(): boolean; get isRepeatedAnnounce(): boolean; get decoded(): DecodedPacket; get meta(): Record; clone(): Packet; cloneForDevice(deviceId: string, serviceIndex: number): Packet; compress(stripped: Uint8Array[]): void; withFrameStripped(): Uint8Array; getNumber(fmt: NumberFormat, offset: number): number; get isCommand(): boolean; set isCommand(value: boolean); get isReport(): boolean; assignDevice(bus: JDBus): void; toString(): string; sendCoreAsync(bus: JDBus): Promise; sendReportAsync(dev: JDDevice): Promise; sendCmdAsync(dev: JDDevice): Promise; sendAsMultiCommandAsync(bus: JDBus, service_class: number): Promise; static fromFrame(frame: JDFrameBuffer, timestamp: number, skipCrc?: boolean): Packet[]; static jdpacked(service_command: number, fmt: string, nums: T): Packet; get friendlyDeviceName(): string; get friendlyServiceName(): string; get friendlyCommandName(): string; } //# sourceMappingURL=packet.d.ts.map