import { type DataRate, type FLiRS, type MaybeNotKnown, type NodeType, type ProtocolVersion, Protocols } from "@zwave-js/core"; import { ZWaveNodeBase } from "./00_Base.js"; export interface NodeNetworkRole { /** Whether this node is always listening or not */ readonly isListening: MaybeNotKnown; /** Indicates the wakeup interval if this node is a FLiRS node. `false` if it isn't. */ readonly isFrequentListening: MaybeNotKnown; /** Whether this node can sleep */ readonly canSleep: MaybeNotKnown; /** Whether the node supports routing/forwarding messages. */ readonly isRouting: MaybeNotKnown; /** All supported data rates of this node */ readonly supportedDataRates: MaybeNotKnown; /** The maximum data rate supported by this node */ readonly maxDataRate: MaybeNotKnown; /** The Z-Wave protocol version this node implements */ readonly protocolVersion: MaybeNotKnown; /** Whether this node is a controller (can calculate routes) or an end node (relies on route info) */ readonly nodeType: MaybeNotKnown; /** * Whether this node supports security (S0 or S2). * **WARNING:** Nodes often report this incorrectly - do not blindly trust it. */ readonly supportsSecurity: MaybeNotKnown; /** Whether this node can issue wakeup beams to FLiRS nodes */ readonly supportsBeaming: MaybeNotKnown; /** Which protocol is used to communicate with this node */ readonly protocol: Protocols; /** Returns whether this node is the controller */ readonly isControllerNode: boolean; } export declare abstract class NetworkRoleMixin extends ZWaveNodeBase implements NodeNetworkRole { get isListening(): MaybeNotKnown; protected set isListening(value: MaybeNotKnown); get isFrequentListening(): MaybeNotKnown; protected set isFrequentListening(value: MaybeNotKnown); get canSleep(): MaybeNotKnown; get isRouting(): MaybeNotKnown; protected set isRouting(value: MaybeNotKnown); get supportedDataRates(): MaybeNotKnown; protected set supportedDataRates(value: MaybeNotKnown); get maxDataRate(): MaybeNotKnown; get protocolVersion(): MaybeNotKnown; protected set protocolVersion(value: MaybeNotKnown); get nodeType(): MaybeNotKnown; protected set nodeType(value: MaybeNotKnown); get supportsSecurity(): MaybeNotKnown; protected set supportsSecurity(value: MaybeNotKnown); get supportsBeaming(): MaybeNotKnown; protected set supportsBeaming(value: MaybeNotKnown); get protocol(): Protocols; get isControllerNode(): boolean; } //# sourceMappingURL=01_NetworkRole.d.ts.map