import type { RCPMessage } from "@zwave-js/serial"; import type { DeferredPromise } from "alcalzone-shared/deferred-promise"; export interface RCPTransactionOptions { /** The "primary" message this transaction contains, e.g. the un-encapsulated version of a SendData request */ message: RCPMessage; /** Will be resolved/rejected by the Send Thread Machine when the entire transaction is handled */ promise: DeferredPromise; } /** * Transactions are used to track and correlate messages with their responses. */ export declare class RCPTransaction { constructor(options: RCPTransactionOptions); /** Will be resolved/rejected by the Send Thread Machine when the entire transaction is handled */ readonly promise: DeferredPromise; /** The "primary" message this transaction contains */ readonly message: RCPMessage; /** The stack trace where the transaction was created */ private _stack; get stack(): string; /** Is called when the queue discards this transaction before it ran */ [Symbol.dispose](): void; } //# sourceMappingURL=RCPTransaction.d.ts.map