node-zwave-js/packages/core/core.api.md

173 KiB

API Report File for "@zwave-js/core"

Do not edit this file. It is a report generated by API Extractor.


import { Bytes } from '@zwave-js/shared/safe';
import * as crypto from 'node:crypto';
import { ExpectStatic } from 'vitest';
import type { Format } from 'logform';
import type { JsonlDB } from '@alcalzone/jsonl-db';
import type { JSONObject } from '@zwave-js/shared';
import { JSONObject as JSONObject_2 } from '@zwave-js/shared/safe';
import type { Logger } from 'winston';
import type { TransformableInfo } from 'logform';
import type Transport from 'winston-transport';
import type { TypedClassDecorator } from '@zwave-js/shared';
import { TypedEventEmitter } from '@zwave-js/shared';
import winston from 'winston';

// Warning: (ae-missing-release-tag) "actuatorCCs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const actuatorCCs: readonly CommandClasses[];

// Warning: (ae-missing-release-tag) "allCCs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const allCCs: readonly CommandClasses[];

// Warning: (ae-missing-release-tag) "applicationCCs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const applicationCCs: readonly CommandClasses[];

// Warning: (ae-missing-release-tag) "ApplicationNodeInformation" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ApplicationNodeInformation {
    // (undocumented)
    genericDeviceClass: number;
    // (undocumented)
    specificDeviceClass: number;
    // (undocumented)
    supportedCCs: CommandClasses[];
}

// Warning: (ae-missing-release-tag) "assertValueID" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function assertValueID(param: Record<any, any>): asserts param is ValueID;

// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-missing-release-tag) "assertZWaveError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function assertZWaveError<T>(expect: ExpectStatic, valueOrFactory: T, options?: AssertZWaveErrorOptions): T extends () => PromiseLike<any> ? Promise<void> : void;

// Warning: (ae-missing-release-tag) "AssertZWaveErrorOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AssertZWaveErrorOptions {
    // (undocumented)
    context?: unknown;
    // (undocumented)
    errorCode?: ZWaveErrorCodes;
    // (undocumented)
    messageMatches?: string | RegExp;
}

// Warning: (ae-missing-release-tag) "authHomeIdFromDSK" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function authHomeIdFromDSK(dsk: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "averageRSSI" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function averageRSSI(acc: number | undefined, rssi: RSSI, weight: number): number;

// Warning: (ae-missing-release-tag) "BasicDeviceClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum BasicDeviceClass {
    // (undocumented)
    "End Node" = 3,
    // (undocumented)
    "Routing End Node" = 4,
    // (undocumented)
    "Static Controller" = 2,
    // (undocumented)
    Controller = 1
}

// Warning: (ae-missing-release-tag) "BeamingInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum BeamingInfo {
    // (undocumented)
    Fragmented = 4,
    // (undocumented)
    LongContinuous = 2,
    // (undocumented)
    None = 0,
    // (undocumented)
    ShortContinuous = 1
}

// Warning: (ae-missing-release-tag) "BroadcastCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type BroadcastCC<T extends CCId = CCId> = T & {
    nodeId: typeof NODE_ID_BROADCAST | typeof NODE_ID_BROADCAST_LR;
};

// Warning: (ae-missing-release-tag) "CacheBackedMap" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class CacheBackedMap<K extends string | number, V> implements Map<K, V> {
    // (undocumented)
    [Symbol.iterator]: () => IterableIterator<[K, V]>;
    // (undocumented)
    get [Symbol.toStringTag](): string;
    constructor(cache: JsonlDB<any>, cacheKeys: CacheBackedMapKeys<K>);
    // (undocumented)
    clear(): void;
    // (undocumented)
    delete(key: K): boolean;
    // (undocumented)
    entries: () => IterableIterator<[K, V]>;
    // (undocumented)
    forEach: (callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any) => void;
    // (undocumented)
    get: (key: K) => V | undefined;
    // (undocumented)
    has: (key: K) => boolean;
    // (undocumented)
    keys: () => IterableIterator<K>;
    // (undocumented)
    set(key: K, value: V): this;
    // (undocumented)
    get size(): number;
    // (undocumented)
    values: () => IterableIterator<V>;
}

// Warning: (ae-missing-release-tag) "CacheBackedMapKeys" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CacheBackedMapKeys<K extends string | number> {
    prefix: string;
    suffixDeserializer: (suffix: string) => K | undefined;
    suffixSerializer: (suffix: K) => string;
}

// Warning: (ae-missing-release-tag) "CacheMetadata" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CacheMetadata extends Pick<ValueID, "endpoint" | "property" | "propertyKey"> {
    // (undocumented)
    metadata: ValueMetadata;
}

// Warning: (ae-missing-release-tag) "CacheValue" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CacheValue extends Pick<ValueID, "endpoint" | "property" | "propertyKey"> {
    // (undocumented)
    value: SerializedValue;
}

// Warning: (ae-missing-release-tag) "CCAddress" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface CCAddress {
    // (undocumented)
    endpointIndex?: number;
    // (undocumented)
    nodeId: number | MulticastDestination;
}

// Warning: (ae-missing-release-tag) "CCId" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface CCId extends CCAddress {
    // (undocumented)
    ccCommand?: number;
    // (undocumented)
    ccId: CommandClasses;
}

// Warning: (ae-internal-missing-underscore) The name "channelPadding" should be prefixed with an underscore because the declaration is marked as @internal
//
// @internal (undocumented)
export const channelPadding: string;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@publicAPI" is not defined in this configuration
// Warning: (ae-missing-release-tag) "CommandClasses" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum CommandClasses {
    // (undocumented)
    "Alarm Sensor" = 156,
    // (undocumented)
    "Alarm Silence" = 157,
    // (undocumented)
    "All Switch" = 39,
    // (undocumented)
    "Anti-Theft Unlock" = 126,
    // (undocumented)
    "Anti-Theft" = 93,
    // (undocumented)
    "Application Capability" = 87,
    // (undocumented)
    "Application Status" = 34,
    // (undocumented)
    "Association Command Configuration" = 155,
    // (undocumented)
    "Association Group Information" = 89,
    // (undocumented)
    "Authentication Media Write" = 162,
    // (undocumented)
    "Barrier Operator" = 102,
    // (undocumented)
    "Basic Tariff Information" = 54,
    // (undocumented)
    "Basic Window Covering" = 80,
    // (undocumented)
    "Binary Sensor" = 48,
    // (undocumented)
    "Binary Switch" = 37,
    // (undocumented)
    "Binary Toggle Switch" = 40,
    // (undocumented)
    "Central Scene" = 91,
    // (undocumented)
    "Climate Control Schedule" = 70,
    // (undocumented)
    "Color Switch" = 51,
    // (undocumented)
    "Controller Replication" = 33,
    // (undocumented)
    "CRC-16 Encapsulation" = 86,
    // (undocumented)
    "Demand Control Plan Configuration" = 58,
    // (undocumented)
    "Demand Control Plan Monitor" = 59,
    // (undocumented)
    "Device Reset Locally" = 90,
    // (undocumented)
    "Door Lock Logging" = 76,
    // (undocumented)
    "Door Lock" = 98,
    // (undocumented)
    "Energy Production" = 144,
    // (undocumented)
    "Entry Control" = 111,
    // (undocumented)
    "Firmware Update Meta Data" = 122,
    // (undocumented)
    "Generic Schedule" = 163,
    // (undocumented)
    "Geographic Location" = 140,
    // (undocumented)
    "Grouping Name" = 123,
    // (undocumented)
    "HRV Control" = 57,
    // (undocumented)
    "HRV Status" = 55,
    // (undocumented)
    "Humidity Control Mode" = 109,
    // (undocumented)
    "Humidity Control Operating State" = 110,
    // (undocumented)
    "Humidity Control Setpoint" = 100,
    // (undocumented)
    "Inclusion Controller" = 116,
    // (undocumented)
    "IP Association" = 92,
    // (undocumented)
    "IP Configuration" = 154,
    // (undocumented)
    "IR Repeater" = 160,
    // (undocumented)
    "Manufacturer Proprietary" = 145,
    // (undocumented)
    "Manufacturer Specific" = 114,
    // (undocumented)
    "Meter Table Configuration" = 60,
    // (undocumented)
    "Meter Table Monitor" = 61,
    // (undocumented)
    "Meter Table Push Configuration" = 62,
    // (undocumented)
    "Move To Position Window Covering" = 81,
    // (undocumented)
    "Multi Channel Association" = 142,
    // (undocumented)
    "Multi Channel" = 96,
    // (undocumented)
    "Multi Command" = 143,
    // (undocumented)
    "Multilevel Sensor" = 49,
    // (undocumented)
    "Multilevel Switch" = 38,
    // (undocumented)
    "Multilevel Toggle Switch" = 41,
    // (undocumented)
    "Network Management Basic Node" = 77,
    // (undocumented)
    "Network Management Inclusion" = 52,
    // (undocumented)
    "Network Management Installation and Maintenance" = 103,
    // (undocumented)
    "Network Management Primary" = 84,
    // (undocumented)
    "Network Management Proxy" = 82,
    // (undocumented)
    "No Operation" = 0,
    // (undocumented)
    "Node Naming and Location" = 119,
    // (undocumented)
    "Node Provisioning" = 120,
    // (undocumented)
    "Prepayment Encapsulation" = 65,
    // (undocumented)
    "Pulse Meter" = 53,
    // (undocumented)
    "Rate Table Configuration" = 72,
    // (undocumented)
    "Rate Table Monitor" = 73,
    // (undocumented)
    "Remote Association Activation" = 124,
    // (undocumented)
    "Remote Association Configuration" = 125,
    // (undocumented)
    "Scene Activation" = 43,
    // (undocumented)
    "Scene Actuator Configuration" = 44,
    // (undocumented)
    "Scene Controller Configuration" = 45,
    // (undocumented)
    "Schedule Entry Lock" = 78,
    // (undocumented)
    "Screen Attributes" = 147,
    // (undocumented)
    "Screen Meta Data" = 146,
    // (undocumented)
    "Security 2" = 159,
    // (undocumented)
    "Security Mark" = 61696,
    // (undocumented)
    "Sensor Configuration" = 158,
    // (undocumented)
    "Simple AV Control" = 148,
    // (undocumented)
    "Sound Switch" = 121,
    // (undocumented)
    "Support/Control Mark" = 239,
    // (undocumented)
    "Tariff Table Configuration" = 74,
    // (undocumented)
    "Tariff Table Monitor" = 75,
    // (undocumented)
    "Thermostat Fan Mode" = 68,
    // (undocumented)
    "Thermostat Fan State" = 69,
    // (undocumented)
    "Thermostat Mode" = 64,
    // (undocumented)
    "Thermostat Operating State" = 66,
    // (undocumented)
    "Thermostat Setback" = 71,
    // (undocumented)
    "Thermostat Setpoint" = 67,
    // (undocumented)
    "Time Parameters" = 139,
    // (undocumented)
    "Transport Service" = 85,
    // (undocumented)
    "User Code" = 99,
    // (undocumented)
    "User Credential" = 131,
    // (undocumented)
    "Wake Up" = 132,
    // (undocumented)
    "Window Covering" = 106,
    // (undocumented)
    "Z-Wave Long Range" = 4,
    // (undocumented)
    "Z-Wave Plus Info" = 94,
    // (undocumented)
    "Z-Wave Protocol" = 1,
    // (undocumented)
    "Z/IP 6LoWPAN" = 79,
    // (undocumented)
    "Z/IP Gateway" = 95,
    // (undocumented)
    "Z/IP Naming and Location" = 104,
    // (undocumented)
    "Z/IP ND" = 88,
    // (undocumented)
    "Z/IP Portal" = 97,
    // (undocumented)
    "Z/IP" = 35,
    // (undocumented)
    "Association" = 133,
    // (undocumented)
    "Authentication" = 161,
    // (undocumented)
    "Basic" = 32,
    // (undocumented)
    "Battery" = 128,
    // (undocumented)
    "Clock" = 129,
    // (undocumented)
    "Configuration" = 112,
    // (undocumented)
    "Hail" = 130,
    // (undocumented)
    "Indicator" = 135,
    // (undocumented)
    "Irrigation" = 107,
    // (undocumented)
    "Language" = 137,
    // (undocumented)
    "Lock" = 118,
    // (undocumented)
    "Mailbox" = 105,
    // (undocumented)
    "Meter" = 50,
    // (undocumented)
    "Notification" = 113,
    // (undocumented)
    "Powerlevel" = 115,
    // (undocumented)
    "Prepayment" = 63,
    // (undocumented)
    "Proprietary" = 136,
    // (undocumented)
    "Protection" = 117,
    // (undocumented)
    "Schedule" = 83,
    // (undocumented)
    "Security" = 152,
    // (undocumented)
    "Supervision" = 108,
    // (undocumented)
    "Time" = 138,
    // (undocumented)
    "Version" = 134
}

// Warning: (ae-missing-release-tag) "CommandClassInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CommandClassInfo {
    isControlled: boolean;
    isSupported: boolean;
    secure: boolean;
    version: number;
}

// Warning: (ae-missing-release-tag) "computeCMAC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function computeCMAC(message: Uint8Array, key: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "computeMAC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function computeMAC(authData: Uint8Array, key: Uint8Array, iv?: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "computeNoncePRK" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function computeNoncePRK(senderEI: Uint8Array, receiverEI: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "computePRK" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function computePRK(ecdhSharedSecret: Uint8Array, pubKeyA: Uint8Array, pubKeyB: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "ConfigurationMetadata" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ConfigurationMetadata extends ValueMetadataAny {
    // (undocumented)
    allowManualEntry?: boolean;
    // (undocumented)
    default?: ConfigValue;
    // (undocumented)
    description?: string;
    // (undocumented)
    format?: ConfigValueFormat;
    // (undocumented)
    isAdvanced?: boolean;
    // (undocumented)
    isFromConfig?: boolean;
    // (undocumented)
    label?: string;
    // (undocumented)
    max?: ConfigValue;
    // (undocumented)
    min?: ConfigValue;
    // (undocumented)
    requiresReInclusion?: boolean;
    // (undocumented)
    states?: Record<number, string>;
    // (undocumented)
    unit?: string;
    // (undocumented)
    valueSize?: number;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@publicAPI" is not defined in this configuration
// Warning: (ae-missing-release-tag) "ConfigValue" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ConfigValue = number;

// Warning: (ae-missing-release-tag) "ConfigValueFormat" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum ConfigValueFormat {
    // (undocumented)
    BitField = 3,
    // (undocumented)
    Enumerated = 2,
    // (undocumented)
    SignedInteger = 0,// UnsignedInt, Radio Buttons
    // (undocumented)
    UnsignedInteger = 1
}

// Warning: (ae-missing-release-tag) "CONTROL_CHAR_WIDTH" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const CONTROL_CHAR_WIDTH = 2;

// Warning: (ae-missing-release-tag) "CONTROLLER_LABEL" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const CONTROLLER_LABEL = "CNTRLR";

// Warning: (ae-missing-release-tag) "ControllerCapabilities" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ControllerCapabilities {
    // (undocumented)
    isSecondary: boolean;
    // (undocumented)
    isSISPresent: boolean;
    // (undocumented)
    isSUC: boolean;
    // (undocumented)
    isUsingHomeIdFromOtherNetwork: boolean;
    // (undocumented)
    noNodesIncluded: boolean;
    // (undocumented)
    wasRealPrimary: boolean;
}

// Warning: (ae-missing-release-tag) "ControllerCapabilityFlags" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ControllerCapabilityFlags {
    // (undocumented)
    NoNodesIncluded = 32,
    // (undocumented)
    OnOtherNetwork = 2,
    // (undocumented)
    Secondary = 1,
    // (undocumented)
    SISPresent = 4,
    // (undocumented)
    SUC = 16,
    // (undocumented)
    WasRealPrimary = 8
}

// Warning: (ae-missing-release-tag) "ControllerLogContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ControllerLogContext = ControllerSelfLogContext | ControllerNodeLogContext | ControllerValueLogContext;

// Warning: (ae-missing-release-tag) "ControllerLogger" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class ControllerLogger extends ZWaveLoggerBase<ControllerLogContext> {
    constructor(loggers: ZWaveLogContainer);
    interviewStage(node: Interviewable): void;
    interviewStart(node: Interviewable): void;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    logNode(nodeId: number, message: string, level?: LogNodeOptions["level"]): void;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    logNode(nodeId: number, options: LogNodeOptions): void;
    metadataUpdated(args: LogValueArgs<ValueID>): void;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    print(message: string, level?: "verbose" | "warn" | "error"): void;
    value(change: "added", args: LogValueArgs<ValueAddedArgs>): void;
    // (undocumented)
    value(change: "updated", args: LogValueArgs<ValueUpdatedArgs>): void;
    // (undocumented)
    value(change: "removed", args: LogValueArgs<ValueRemovedArgs>): void;
    // (undocumented)
    value(change: "notification", args: LogValueArgs<ValueNotificationArgs>): void;
    // (undocumented)
    valueEventPrefixes: Readonly<{
        added: "+";
        updated: "~";
        removed: "-";
        notification: "!";
    }>;
}

// Warning: (ae-missing-release-tag) "ControllerNodeLogContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ControllerNodeLogContext = LogContext<"controller"> & NodeLogContext & {
    endpoint?: number;
    direction: string;
};

// Warning: (ae-missing-release-tag) "ControllerRole" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ControllerRole {
    Inclusion = 2,
    Primary = 0,
    Secondary = 1
}

// Warning: (ae-missing-release-tag) "ControllerSelfLogContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ControllerSelfLogContext = LogContext<"controller"> & {
    type: "controller";
};

// Warning: (ae-missing-release-tag) "ControllerStatus" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ControllerStatus {
    Jammed = 2,
    Ready = 0,
    Unresponsive = 1
}

// Warning: (ae-missing-release-tag) "ControllerValueLogContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ControllerValueLogContext = LogContext<"controller"> & ValueLogContext & {
    direction?: string;
    change?: "added" | "updated" | "removed" | "notification";
    internal?: boolean;
};

// Warning: (ae-missing-release-tag) "ControlsCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface ControlsCC {
    // (undocumented)
    controlsCC(cc: CommandClasses): boolean;
}

// Warning: (ae-missing-release-tag) "CRC16_CCITT" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function CRC16_CCITT(data: Uint8Array, startValue?: number): number;

// Warning: (ae-missing-release-tag) "createDefaultTransportFormat" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createDefaultTransportFormat(colorize: boolean, shortTimestamps: boolean): Format;

// Warning: (ae-missing-release-tag) "createLoggerFormat" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createLoggerFormat(channel: string): Format;

// Warning: (ae-missing-release-tag) "createLogMessagePrinter" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createLogMessagePrinter(shortTimestamps: boolean): Format;

// Warning: (ae-forgotten-export) The symbol "Constructor" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "createReflectionDecorator" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createReflectionDecorator<TBase extends abstract new (...args: any) => any, TArgs extends any[], TValue, TConstructor extends Constructor<InstanceType<TBase>> = Constructor<InstanceType<TBase>>>({ name, valueFromArgs, constructorLookupKey, }: CreateReflectionDecoratorOptions<TBase, TArgs, TValue, TConstructor>): ReflectionDecorator<TBase, TArgs, TValue, TConstructor>;

// Warning: (ae-missing-release-tag) "CreateReflectionDecoratorOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CreateReflectionDecoratorOptions<TBase extends abstract new (...args: any) => any, TArgs extends any[], TValue, TConstructor extends Constructor<InstanceType<TBase>> = Constructor<InstanceType<TBase>>> {
    constructorLookupKey?: false | ((target: TConstructor, ...args: TArgs) => string);
    name: string;
    valueFromArgs: (...args: TArgs) => TValue;
}

// Warning: (ae-missing-release-tag) "createReflectionDecoratorPair" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createReflectionDecoratorPair<TBase extends abstract new (...args: any) => any, TSuperArgs extends [any], TSubArgs extends [any], TConstructor extends Constructor<InstanceType<TBase>> = Constructor<InstanceType<TBase>>>({ superName, subName, }: CreateReflectionDecoratorPairOptions): ReflectionDecoratorPair<TBase, TSuperArgs, TSubArgs, TConstructor>;

// Warning: (ae-missing-release-tag) "CreateReflectionDecoratorPairOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CreateReflectionDecoratorPairOptions {
    subName: string;
    superName: string;
}

// Warning: (ae-missing-release-tag) "createSimpleReflectionDecorator" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createSimpleReflectionDecorator<TBase extends abstract new (...args: any) => any, TArgs extends [any], TConstructor extends Constructor<InstanceType<TBase>> = Constructor<InstanceType<TBase>>>({ name, }: CreateSimpleReflectionDecoratorOptions): SimpleReflectionDecorator<TBase, TArgs, TConstructor>;

// Warning: (ae-missing-release-tag) "CreateSimpleReflectionDecoratorOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CreateSimpleReflectionDecoratorOptions {
    name: string;
}

// Warning: (ae-missing-release-tag) "createValuelessReflectionDecorator" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createValuelessReflectionDecorator<TBase extends abstract new (...args: any) => any>({ name, }: CreateValuelessReflectionDecoratorOptions): ValuelessReflectionDecorator<TBase>;

// Warning: (ae-missing-release-tag) "CreateValuelessReflectionDecoratorOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CreateValuelessReflectionDecoratorOptions {
    name: string;
}

// Warning: (ae-missing-release-tag) "CtrDRBG" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class CtrDRBG {
    constructor(bits: 128, derivation: boolean, entropy?: Uint8Array, nonce?: Uint8Array, pers?: Uint8Array);
    // (undocumented)
    derive(...input: Uint8Array[]): Uint8Array;
    // (undocumented)
    generate(len: number, add?: Uint8Array): Uint8Array;
    // (undocumented)
    init(entropy: Uint8Array, nonce?: Uint8Array, pers?: Uint8Array): this;
    // (undocumented)
    reseed(entropy: Uint8Array, add?: Uint8Array): this;
    // (undocumented)
    serialize(...input: Uint8Array[]): Uint8Array;
    // (undocumented)
    update(seed?: Uint8Array): this;
}

// Warning: (ae-missing-release-tag) "DataDirection" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DataDirection = "inbound" | "outbound" | "none";

// Warning: (ae-missing-release-tag) "DataRate" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DataRate = 9600 | 40000 | 100000;

// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
// Warning: (ae-missing-release-tag) "dbKeyToValueIdFast" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function dbKeyToValueIdFast(key: string): {
    nodeId: number;
} & ValueID;

// Warning: (ae-missing-release-tag) "decodeX25519KeyDER" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function decodeX25519KeyDER(key: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "decryptAES128CCM" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function decryptAES128CCM(key: Uint8Array, iv: Uint8Array, ciphertext: Uint8Array, additionalData: Uint8Array, authTag: Uint8Array): {
    plaintext: Uint8Array;
    authOK: boolean;
};

// Warning: (ae-missing-release-tag) "decryptAES128OFB" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const decryptAES128OFB: (input: Uint8Array, key: Uint8Array, iv: Uint8Array) => Uint8Array;

// Warning: (ae-missing-release-tag) "deriveMEI" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function deriveMEI(noncePRK: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "deriveNetworkKeys" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function deriveNetworkKeys(PNK: Uint8Array): {
    keyCCM: Uint8Array;
    keyMPAN: Uint8Array;
    personalizationString: Uint8Array;
};

// Warning: (ae-missing-release-tag) "deriveTempKeys" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function deriveTempKeys(PRK: Uint8Array): {
    tempKeyCCM: Uint8Array;
    tempPersonalizationString: Uint8Array;
};

// Warning: (ae-missing-release-tag) "deserializeCacheValue" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function deserializeCacheValue(value: SerializedValue): unknown;

// Warning: (ae-missing-release-tag) "directionPrefixPadding" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const directionPrefixPadding: string;

// Warning: (ae-missing-release-tag) "dskFromString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function dskFromString(dsk: string): Uint8Array;

// Warning: (ae-missing-release-tag) "dskToString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function dskToString(dsk: Uint8Array): string;

// Warning: (ae-missing-release-tag) "DSTInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface DSTInfo {
    // (undocumented)
    dstOffset: number;
    // (undocumented)
    endDate: Date;
    // (undocumented)
    standardOffset: number;
    // (undocumented)
    startDate: Date;
}

// Warning: (ae-missing-release-tag) "Duration" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class Duration {
    constructor(value: number, unit: DurationUnit);
    // (undocumented)
    static default(): Duration;
    static from(input: "default"): Duration;
    // (undocumented)
    static from(input?: Duration | string): Duration | undefined;
    static parseReport(payload?: number): Duration | undefined;
    static parseSet(payload?: number): Duration | undefined;
    static parseString(text: string): Duration | undefined;
    serializeReport(): number;
    serializeSet(): number;
    // (undocumented)
    toJSON(): string | JSONObject;
    // (undocumented)
    toMilliseconds(): number | undefined;
    // (undocumented)
    toString(): string;
    // (undocumented)
    unit: DurationUnit;
    // (undocumented)
    static unknown(): Duration;
    // (undocumented)
    get value(): number;
    set value(v: number);
}

// Warning: (ae-missing-release-tag) "DurationUnit" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DurationUnit = "seconds" | "minutes" | "unknown" | "default";

// Warning: (ae-missing-release-tag) "Either" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type Either<T, Or> = T | Or;

// Warning: (ae-missing-release-tag) "EMPTY_ROUTE" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const EMPTY_ROUTE: Route;

// Warning: (ae-missing-release-tag) "encapsulationCCs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const encapsulationCCs: readonly CommandClasses[];

// Warning: (ae-missing-release-tag) "EncapsulationFlags" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum EncapsulationFlags {
    // (undocumented)
    CRC16 = 4,
    // (undocumented)
    None = 0,
    // (undocumented)
    Security = 2,
    // (undocumented)
    Supervision = 1
}

// Warning: (ae-missing-release-tag) "encodeApplicationNodeInformation" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeApplicationNodeInformation(nif: ApplicationNodeInformation): Bytes;

// Warning: (ae-missing-release-tag) "encodeBitMask" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeBitMask(values: readonly number[], maxValue?: number, startValue?: number): Bytes;

// Warning: (ae-missing-release-tag) "encodeBoolean" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeBoolean(val: boolean): number;

// Warning: (ae-missing-release-tag) "encodeCCId" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeCCId(ccId: CommandClasses, payload: Bytes, offset?: number): number;

// Warning: (ae-missing-release-tag) "encodeCCList" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeCCList(supportedCCs: readonly CommandClasses[], controlledCCs: readonly CommandClasses[]): Bytes;

// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-missing-release-tag) "encodeFloatWithScale" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeFloatWithScale(value: number, scale: number, override?: {
    size?: number;
    precision?: number;
}): Bytes;

// Warning: (ae-missing-release-tag) "encodeLongRangeNodeBitMask" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeLongRangeNodeBitMask(nodeIDs: readonly number[], startValue: number): Bytes;

// Warning: (ae-missing-release-tag) "encodeMaybeBoolean" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
// Warning: (ae-unresolved-link) The @link reference could not be resolved: The reference is ambiguous because "UNKNOWN_STATE" has more than one declaration; you need to add a TSDoc member reference selector
//
// @public
export function encodeMaybeBoolean(val: MaybeUnknown<boolean>): number;

// Warning: (ae-missing-release-tag) "encodeNodeBitMask" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeNodeBitMask(nodeIDs: readonly number[]): Bytes;

// Warning: (ae-missing-release-tag) "encodeNodeID" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeNodeID(nodeId: number, type?: NodeIDType): Bytes;

// Warning: (ae-missing-release-tag) "encodeNodeInformationFrame" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeNodeInformationFrame(info: NodeInformationFrame, isLongRange?: boolean): Bytes;

// Warning: (ae-missing-release-tag) "encodeNodeProtocolInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeNodeProtocolInfo(info: NodeProtocolInfo, isLongRange?: boolean): Bytes;

// Warning: (ae-missing-release-tag) "encodeNodeProtocolInfoAndDeviceClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeNodeProtocolInfoAndDeviceClass(info: NodeProtocolInfoAndDeviceClass, isLongRange?: boolean): Bytes;

// Warning: (ae-missing-release-tag) "encodeNodeUpdatePayload" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeNodeUpdatePayload(nif: NodeUpdatePayload, nodeIdType?: NodeIDType): Bytes;

// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-missing-release-tag) "encodePartial" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodePartial(fullValue: number, partialValue: number, bitMask: number): number;

// Warning: (ae-missing-release-tag) "encodeX25519KeyDERPKCS8" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeX25519KeyDERPKCS8(key: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "encodeX25519KeyDERSPKI" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeX25519KeyDERSPKI(key: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "encryptAES128CCM" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encryptAES128CCM(key: Uint8Array, iv: Uint8Array, plaintext: Uint8Array, additionalData: Uint8Array, authTagLength: number): {
    ciphertext: Uint8Array;
    authTag: Uint8Array;
};

// Warning: (ae-missing-release-tag) "encryptAES128ECB" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encryptAES128ECB(plaintext: Uint8Array, key: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "encryptAES128OFB" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const encryptAES128OFB: (input: Uint8Array, key: Uint8Array, iv: Uint8Array) => Uint8Array;

// Warning: (ae-missing-release-tag) "EndpointId" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface EndpointId {
    // (undocumented)
    readonly index: number;
    // (undocumented)
    readonly nodeId: number;
    // (undocumented)
    readonly virtual: false;
}

// Warning: (ae-missing-release-tag) "enumValuesToMetadataStates" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function enumValuesToMetadataStates<T extends Record<string, any>>(enumeration: T, values?: readonly number[]): Record<number, string>;

// Warning: (ae-missing-release-tag) "extractFirmware" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function extractFirmware(rawData: Uint8Array, format: FirmwareFileFormat): Firmware;

// Warning: (ae-missing-release-tag) "extractRawECDHPrivateKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function extractRawECDHPrivateKey(privateKey: crypto.KeyObject): Uint8Array;

// Warning: (ae-missing-release-tag) "extractRawECDHPublicKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function extractRawECDHPublicKey(publicKey: crypto.KeyObject): Uint8Array;

// Warning: (ae-missing-release-tag) "Firmware" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Firmware {
    // (undocumented)
    data: Uint8Array;
    // (undocumented)
    firmwareTarget?: number;
}

// Warning: (ae-missing-release-tag) "FirmwareFileFormat" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type FirmwareFileFormat = "aeotec" | "otz" | "ota" | "hex" | "hec" | "gecko" | "bin";

// Warning: (ae-missing-release-tag) "FLiRS" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type FLiRS = false | "250ms" | "1000ms";

// Warning: (ae-missing-release-tag) "FloatParameters" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FloatParameters {
    // (undocumented)
    precision: number;
    // (undocumented)
    size: number;
}

// Warning: (ae-missing-release-tag) "FloatParametersWithValue" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FloatParametersWithValue extends FloatParameters {
    // (undocumented)
    roundedValue: number;
}

// Warning: (ae-missing-release-tag) "formatDate" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function formatDate(date: Date, format: string): string;

// Warning: (ae-missing-release-tag) "FrameType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type FrameType = "singlecast" | "broadcast" | "multicast";

// Warning: (ae-missing-release-tag) "generateAuthKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function generateAuthKey(networkKey: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "generateECDHKeyPair" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function generateECDHKeyPair(): KeyPair;

// Warning: (ae-missing-release-tag) "generateEncryptionKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function generateEncryptionKey(networkKey: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "GenericDeviceClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface GenericDeviceClass {
    // (undocumented)
    readonly key: number;
    // (undocumented)
    readonly label: string;
    // (undocumented)
    readonly maySupportBasicCC: boolean;
    // (undocumented)
    readonly requiresSecurity: boolean;
    // (undocumented)
    readonly zwavePlusDeviceType?: string;
}

// Warning: (ae-missing-release-tag) "GenericDeviceClassWithSpecific" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface GenericDeviceClassWithSpecific extends GenericDeviceClass {
    // (undocumented)
    readonly specific: SpecificDeviceClass[];
}

// Warning: (ae-missing-release-tag) "getAllDeviceClasses" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getAllDeviceClasses(): readonly GenericDeviceClassWithSpecific[];

// Warning: (ae-missing-release-tag) "GetAllEndpoints" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface GetAllEndpoints<T extends EndpointId | VirtualEndpointId> {
    // (undocumented)
    getAllEndpoints(): T[];
}

// Warning: (ae-missing-release-tag) "getAllIndicatorProperties" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getAllIndicatorProperties(): readonly IndicatorProperty[];

// Warning: (ae-missing-release-tag) "getAllMeters" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getAllMeters(): readonly Meter[];

// Warning: (ae-missing-release-tag) "getAllMeterScales" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getAllMeterScales(meterType: number): readonly MeterScale[] | undefined;

// Warning: (ae-missing-release-tag) "getAllNamedScaleGroups" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getAllNamedScaleGroups(): readonly NamedScaleGroup[];

// Warning: (ae-missing-release-tag) "getAllNotifications" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getAllNotifications(): readonly Notification[];

// Warning: (ae-missing-release-tag) "getAllSensors" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getAllSensors(): readonly Sensor[];

// Warning: (ae-missing-release-tag) "getAllSensorScales" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getAllSensorScales(sensorType: number): readonly Scale[] | undefined;

// Warning: (ae-missing-release-tag) "getBitMaskWidth" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getBitMaskWidth(mask: number): number;

// Warning: (ae-missing-release-tag) "getCCName" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getCCName(cc: number): string;

// Warning: (ae-missing-release-tag) "GetCCs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface GetCCs {
    // (undocumented)
    getCCs(): Iterable<[ccId: CommandClasses, info: CommandClassInfo]>;
}

// Warning: (ae-missing-release-tag) "getChipTypeAndVersion" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getChipTypeAndVersion(zWaveChipType: string): MaybeNotKnown<{
    type: number;
    version: number;
}>;

// Warning: (ae-missing-release-tag) "getDefaultDSTInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getDefaultDSTInfo(defaultOffset?: number): DSTInfo;

// Warning: (ae-missing-release-tag) "getDirectionPrefix" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getDirectionPrefix(direction: DataDirection): "« " | "» " | "  ";

// Warning: (ae-missing-release-tag) "getDSTInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getDSTInfo(now?: Date): DSTInfo;

// Warning: (ae-missing-release-tag) "GetEndpoint" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface GetEndpoint<T extends EndpointId | VirtualEndpointId> {
    // (undocumented)
    getEndpoint(index: 0): T;
    // (undocumented)
    getEndpoint(index: number): T | undefined;
    // (undocumented)
    getEndpointOrThrow(index: number): T;
}

// Warning: (ae-missing-release-tag) "getErrorSuffix" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getErrorSuffix(code: ZWaveErrorCodes): string;

// Warning: (ae-missing-release-tag) "getFloatParameters" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getFloatParameters(value: number): FloatParametersWithValue;

// Warning: (ae-missing-release-tag) "getGenericDeviceClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getGenericDeviceClass(generic: number): GenericDeviceClass;

// Warning: (ae-missing-release-tag) "getHighestSecurityClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getHighestSecurityClass(securityClasses: SecurityClass[]): SecurityClass;

// Warning: (ae-missing-release-tag) "getIndicatorProperty" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getIndicatorProperty<ID extends number>(id: ID): ID extends keyof IndicatorProperties ? ({
    id: ID;
} & (IndicatorProperties[ID])) : (IndicatorProperty | undefined);

// Warning: (ae-missing-release-tag) "getIntegerLimits" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getIntegerLimits(size: 1 | 2 | 3 | 4, signed: boolean): {
    min: number;
    max: number;
};

// Warning: (ae-missing-release-tag) "getLegalRangeForBitMask" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getLegalRangeForBitMask(mask: number, unsigned: boolean): [min: number, max: number];

// Warning: (ae-missing-release-tag) "getMeter" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getMeter<MeterType extends number>(type: MeterType): MeterType extends keyof Meters ? ({
    key: MeterType;
} & (Meters[MeterType])) : (Meter | undefined);

// Warning: (ae-missing-release-tag) "getMeterName" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getMeterName(meterType: number): string;

// Warning: (ae-missing-release-tag) "getMeterScale" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getMeterScale<MeterType extends number, ScaleKey extends number>(type: MeterType, scale: ScaleKey): MeterType extends keyof Meters ? ScaleKey extends keyof Meters[MeterType]["scales"] ? ({
    key: ScaleKey;
} & (Meters[MeterType]["scales"][ScaleKey])) : (MeterScale | undefined) : (MeterScale | undefined);

// Warning: (ae-missing-release-tag) "getMinimumShiftForBitMask" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getMinimumShiftForBitMask(mask: number): number;

// Warning: (ae-missing-release-tag) "getMinIntegerSize" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getMinIntegerSize(value: number, signed: boolean): 1 | 2 | 4 | undefined;

// Warning: (ae-missing-release-tag) "getNamedScale" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getNamedScale<Name extends keyof NamedScales, Key extends (keyof NamedScales[Name]) & number>(group: Name, key: Key): {
    key: Key;
} & (NamedScales[Name][Key]);

// Warning: (ae-missing-release-tag) "getNamedScaleGroup" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getNamedScaleGroup<Name extends keyof NamedScales>(group: Name): NamedScales[Name];

// Warning: (ae-missing-release-tag) "getNodeTag" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getNodeTag(nodeId: number): string;

// Warning: (ae-missing-release-tag) "getNotification" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getNotification(type: number): Notification | undefined;

// Warning: (ae-missing-release-tag) "getNotificationEventName" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getNotificationEventName(type: number, event: number): string;

// Warning: (ae-missing-release-tag) "getNotificationName" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getNotificationName(type: number): string;

// Warning: (ae-missing-release-tag) "getNotificationValue" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getNotificationValue(notification: Notification, value: number): NotificationValue | undefined;

// Warning: (ae-missing-release-tag) "getNotificationValueName" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getNotificationValueName(type: number, event: number): string;

// Warning: (ae-missing-release-tag) "getNumericEnumValues" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getNumericEnumValues<T extends Record<string, any>>(enumeration: T): readonly number[];

// Warning: (ae-missing-release-tag) "getSensor" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getSensor<Key extends number>(type: Key): Key extends keyof Sensors ? Sensors[Key] : (Sensor | undefined);

// Warning: (ae-missing-release-tag) "getSensorName" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getSensorName(sensorType: number): string;

// Warning: (ae-missing-release-tag) "getSensorScale" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getSensorScale<SensorType extends number, ScaleKey extends number>(type: SensorType, scale: ScaleKey): SensorType extends keyof Sensors ? ScaleKey extends keyof Sensors[SensorType]["scales"] ? ({
    key: ScaleKey;
} & (Sensors[SensorType]["scales"][ScaleKey])) : (Scale | undefined) : (Scale | undefined);

// Warning: (ae-missing-release-tag) "getSpecificDeviceClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getSpecificDeviceClass(generic: number, specific: number): SpecificDeviceClass;

// Warning: (ae-missing-release-tag) "getUnknownMeterScale" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getUnknownMeterScale(key: number): MeterScale;

// Warning: (ae-missing-release-tag) "getUnknownScale" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getUnknownScale(key: number): Scale;

// Warning: (ae-missing-release-tag) "getZWaveChipType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getZWaveChipType(type: number, version: number): string | UnknownZWaveChipType;

// Warning: (ae-missing-release-tag) "GraphNode" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class GraphNode<T> {
    constructor(value: T, edges?: Iterable<GraphNode<T>>);
    readonly edges: Set<GraphNode<T>>;
    readonly value: T;
}

// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-missing-release-tag) "guessFirmwareFileFormat" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function guessFirmwareFileFormat(filename: string, rawData: Uint8Array): FirmwareFileFormat;

// Warning: (ae-missing-release-tag) "highResTimestamp" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function highResTimestamp(): number;

// Warning: (ae-missing-release-tag) "HOMEID_BYTES" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const HOMEID_BYTES = 4;

// Warning: (ae-missing-release-tag) "importRawECDHPrivateKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function importRawECDHPrivateKey(privateKey: Uint8Array): crypto.KeyObject;

// Warning: (ae-missing-release-tag) "importRawECDHPublicKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function importRawECDHPublicKey(publicKey: Uint8Array): crypto.KeyObject;

// Warning: (ae-missing-release-tag) "indexDBsByNode" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function indexDBsByNode(databases: JsonlDB[]): Map<number, Set<string>>;

// Warning: (ae-missing-release-tag) "Indicator" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum Indicator {
    // (undocumented)
    "Alarming: Burglar" = 13,
    // (undocumented)
    "Alarming: Carbon Monoxide" = 15,
    // (undocumented)
    "Alarming: Freeze warning" = 20,
    // (undocumented)
    "Alarming: Medical" = 19,
    // (undocumented)
    "Alarming: Panic" = 22,
    // (undocumented)
    "Alarming: Smoke / Fire" = 14,
    // (undocumented)
    "Alarming: Water leak" = 21,
    // (undocumented)
    "Armed Away" = 11,
    // (undocumented)
    "Armed Stay" = 10,
    // (undocumented)
    "Button 1 indication" = 67,
    // (undocumented)
    "Button 10 indication" = 76,
    // (undocumented)
    "Button 11 indication" = 77,
    // (undocumented)
    "Button 12 indication" = 78,
    // (undocumented)
    "Button 2 indication" = 68,
    // (undocumented)
    "Button 3 indication" = 69,
    // (undocumented)
    "Button 4 indication" = 70,
    // (undocumented)
    "Button 5 indication" = 71,
    // (undocumented)
    "Button 6 indication" = 72,
    // (undocumented)
    "Button 7 indication" = 73,
    // (undocumented)
    "Button 8 indication" = 74,
    // (undocumented)
    "Button 9 indication" = 75,
    // (undocumented)
    "Button backlight command" = 66,
    // (undocumented)
    "Button backlight digits" = 65,
    // (undocumented)
    "Button backlight letters" = 64,
    // (undocumented)
    "Bypass challenge" = 16,
    // (undocumented)
    "Code accepted" = 8,
    // (undocumented)
    "Code not accepted" = 9,
    // (undocumented)
    "Enter ID" = 6,
    // (undocumented)
    "Enter PIN" = 7,
    // (undocumented)
    "Entry Delay" = 17,
    // (undocumented)
    "Exit Delay" = 18,
    // (undocumented)
    "Generic event sound notification 1" = 96,
    // (undocumented)
    "Generic event sound notification 10" = 105,
    // (undocumented)
    "Generic event sound notification 11" = 106,
    // (undocumented)
    "Generic event sound notification 12" = 107,
    // (undocumented)
    "Generic event sound notification 13" = 108,
    // (undocumented)
    "Generic event sound notification 14" = 109,
    // (undocumented)
    "Generic event sound notification 15" = 110,
    // (undocumented)
    "Generic event sound notification 16" = 111,
    // (undocumented)
    "Generic event sound notification 17" = 112,
    // (undocumented)
    "Generic event sound notification 18" = 113,
    // (undocumented)
    "Generic event sound notification 19" = 114,
    // (undocumented)
    "Generic event sound notification 2" = 97,
    // (undocumented)
    "Generic event sound notification 20" = 115,
    // (undocumented)
    "Generic event sound notification 21" = 116,
    // (undocumented)
    "Generic event sound notification 22" = 117,
    // (undocumented)
    "Generic event sound notification 23" = 118,
    // (undocumented)
    "Generic event sound notification 24" = 119,
    // (undocumented)
    "Generic event sound notification 25" = 120,
    // (undocumented)
    "Generic event sound notification 26" = 121,
    // (undocumented)
    "Generic event sound notification 27" = 122,
    // (undocumented)
    "Generic event sound notification 28" = 123,
    // (undocumented)
    "Generic event sound notification 29" = 124,
    // (undocumented)
    "Generic event sound notification 3" = 98,
    // (undocumented)
    "Generic event sound notification 30" = 125,
    // (undocumented)
    "Generic event sound notification 31" = 126,
    // (undocumented)
    "Generic event sound notification 32" = 127,
    // (undocumented)
    "Generic event sound notification 4" = 99,
    // (undocumented)
    "Generic event sound notification 5" = 100,
    // (undocumented)
    "Generic event sound notification 6" = 101,
    // (undocumented)
    "Generic event sound notification 7" = 102,
    // (undocumented)
    "Generic event sound notification 8" = 103,
    // (undocumented)
    "Generic event sound notification 9" = 104,
    // (undocumented)
    "LCD backlight" = 48,
    // (undocumented)
    "Manufacturer defined 1" = 128,
    // (undocumented)
    "Manufacturer defined 10" = 137,
    // (undocumented)
    "Manufacturer defined 11" = 138,
    // (undocumented)
    "Manufacturer defined 12" = 139,
    // (undocumented)
    "Manufacturer defined 13" = 140,
    // (undocumented)
    "Manufacturer defined 14" = 141,
    // (undocumented)
    "Manufacturer defined 15" = 142,
    // (undocumented)
    "Manufacturer defined 16" = 143,
    // (undocumented)
    "Manufacturer defined 17" = 144,
    // (undocumented)
    "Manufacturer defined 18" = 145,
    // (undocumented)
    "Manufacturer defined 19" = 146,
    // (undocumented)
    "Manufacturer defined 2" = 129,
    // (undocumented)
    "Manufacturer defined 20" = 147,
    // (undocumented)
    "Manufacturer defined 21" = 148,
    // (undocumented)
    "Manufacturer defined 22" = 149,
    // (undocumented)
    "Manufacturer defined 23" = 150,
    // (undocumented)
    "Manufacturer defined 24" = 151,
    // (undocumented)
    "Manufacturer defined 25" = 152,
    // (undocumented)
    "Manufacturer defined 26" = 153,
    // (undocumented)
    "Manufacturer defined 27" = 154,
    // (undocumented)
    "Manufacturer defined 28" = 155,
    // (undocumented)
    "Manufacturer defined 29" = 156,
    // (undocumented)
    "Manufacturer defined 3" = 130,
    // (undocumented)
    "Manufacturer defined 30" = 157,
    // (undocumented)
    "Manufacturer defined 31" = 158,
    // (undocumented)
    "Manufacturer defined 32" = 159,
    // (undocumented)
    "Manufacturer defined 4" = 131,
    // (undocumented)
    "Manufacturer defined 5" = 132,
    // (undocumented)
    "Manufacturer defined 6" = 133,
    // (undocumented)
    "Manufacturer defined 7" = 134,
    // (undocumented)
    "Manufacturer defined 8" = 135,
    // (undocumented)
    "Manufacturer defined 9" = 136,
    // (undocumented)
    "Node Identify" = 80,
    // (undocumented)
    "Not armed / disarmed" = 2,
    // (undocumented)
    "Zone 1 armed" = 32,
    // (undocumented)
    "Zone 2 armed" = 33,
    // (undocumented)
    "Zone 3 armed" = 34,
    // (undocumented)
    "Zone 4 armed" = 35,
    // (undocumented)
    "Zone 5 armed" = 36,
    // (undocumented)
    "Zone 6 armed" = 37,
    // (undocumented)
    "Zone 7 armed" = 38,
    // (undocumented)
    "Zone 8 armed" = 39,
    // (undocumented)
    "Alarming" = 12,
    // (undocumented)
    "Armed" = 1,
    // (undocumented)
    "Busy" = 5,
    // (undocumented)
    "Buzzer" = 240,
    // (undocumented)
    "Fault" = 4,
    // (undocumented)
    "Ready" = 3
}

// Warning: (ae-forgotten-export) The symbol "indicatorProperties" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "IndicatorProperties" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type IndicatorProperties = typeof indicatorProperties;

// Warning: (ae-missing-release-tag) "IndicatorProperty" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface IndicatorProperty extends IndicatorPropertyDefinition {
    // (undocumented)
    readonly id: number;
}

// Warning: (ae-missing-release-tag) "IndicatorPropertyDefinition" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface IndicatorPropertyDefinition {
    // (undocumented)
    readonly description?: string;
    // (undocumented)
    readonly label: string;
    // (undocumented)
    readonly max?: number;
    // (undocumented)
    readonly min?: number;
    // (undocumented)
    readonly readonly?: boolean;
    // (undocumented)
    readonly type?: ValueType;
}

// Warning: (ae-missing-release-tag) "IntegerLimits" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const IntegerLimits: Readonly<{
    UInt8: Readonly<{
        min: 0;
        max: 255;
    }>;
    UInt16: Readonly<{
        min: 0;
        max: 65535;
    }>;
    UInt24: Readonly<{
        min: 0;
        max: 16777215;
    }>;
    UInt32: Readonly<{
        min: 0;
        max: 4294967295;
    }>;
    Int8: Readonly<{
        min: -128;
        max: 127;
    }>;
    Int16: Readonly<{
        min: -32768;
        max: 32767;
    }>;
    Int24: Readonly<{
        min: -8388608;
        max: 8388607;
    }>;
    Int32: Readonly<{
        min: -2147483648;
        max: 2147483647;
    }>;
}>;

// Warning: (ae-missing-release-tag) "Interviewable" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Interviewable {
    // (undocumented)
    id: number;
    // (undocumented)
    interviewStage: InterviewStage;
}

// Warning: (ae-missing-release-tag) "InterviewStage" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum InterviewStage {
    CommandClasses = 3,
    Complete = 5,
    NodeInfo = 2,
    None = 0,
    OverwriteConfig = 4,
    ProtocolInfo = 1
}

// Warning: (ae-missing-release-tag) "isActuatorCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function isActuatorCC(cc: CommandClasses): boolean;

// Warning: (ae-missing-release-tag) "isApplicationCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function isApplicationCC(cc: CommandClasses): boolean;

// Warning: (ae-missing-release-tag) "IsCCSecure" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface IsCCSecure {
    // (undocumented)
    isCCSecure(cc: CommandClasses): boolean;
}

// Warning: (ae-missing-release-tag) "isConsecutiveArray" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function isConsecutiveArray(values: number[]): boolean;

// Warning: (ae-missing-release-tag) "isEmptyRoute" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isEmptyRoute(route: Route): boolean;

// Warning: (ae-missing-release-tag) "isEncapsulationCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function isEncapsulationCC(cc: CommandClasses): boolean;

// Warning: (ae-missing-release-tag) "isExtendedCCId" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isExtendedCCId(ccId: CommandClasses): boolean;

// Warning: (ae-missing-release-tag) "isLongRangeNodeId" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isLongRangeNodeId(nodeId: number): boolean;

// Warning: (ae-missing-release-tag) "isManagementCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function isManagementCC(cc: CommandClasses): boolean;

// Warning: (ae-missing-release-tag) "isMessagePriority" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isMessagePriority(val: unknown): val is MessagePriority;

// Warning: (ae-missing-release-tag) "isMissingControllerACK" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isMissingControllerACK(e: unknown): e is ZWaveError & {
    code: ZWaveErrorCodes.Controller_Timeout;
    context: "ACK";
};

// Warning: (ae-missing-release-tag) "isMissingControllerCallback" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isMissingControllerCallback(e: unknown): e is ZWaveError & {
    code: ZWaveErrorCodes.Controller_Timeout;
    context: "callback";
};

// Warning: (ae-missing-release-tag) "isMissingControllerResponse" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isMissingControllerResponse(e: unknown): e is ZWaveError & {
    code: ZWaveErrorCodes.Controller_Timeout;
    context: "response";
};

// Warning: (ae-missing-release-tag) "isRecoverableZWaveError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function isRecoverableZWaveError(e: unknown): e is ZWaveError & {
    code: ZWaveErrorCodes.Controller_InterviewRestarted | ZWaveErrorCodes.Controller_NodeRemoved;
};

// Warning: (ae-missing-release-tag) "isRssiError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isRssiError(rssi: RSSI): rssi is RssiError;

// Warning: (ae-missing-release-tag) "isSensorCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function isSensorCC(cc: CommandClasses): boolean;

// Warning: (ae-missing-release-tag) "isSupervisionResult" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isSupervisionResult(obj: unknown): obj is SupervisionResult;

// Warning: (ae-missing-release-tag) "isTransmissionError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isTransmissionError(e: unknown): e is ZWaveError & {
    code: ZWaveErrorCodes.Controller_Timeout | ZWaveErrorCodes.Controller_MessageDropped | ZWaveErrorCodes.Controller_CallbackNOK | ZWaveErrorCodes.Controller_ResponseNOK | ZWaveErrorCodes.Controller_NodeTimeout | ZWaveErrorCodes.Security2CC_CannotDecode;
};

// Warning: (ae-missing-release-tag) "isUnsupervisedOrSucceeded" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isUnsupervisedOrSucceeded(result: SupervisionResult | undefined): result is undefined | (SupervisionResult & {
    status: SupervisionStatus.Success | SupervisionStatus.Working;
});

// Warning: (ae-missing-release-tag) "isValidDSK" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isValidDSK(dsk: string): boolean;

// Warning: (ae-missing-release-tag) "isValueID" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isValueID(param: Record<any, any>): param is ValueID;

// Warning: (ae-missing-release-tag) "isZWaveError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isZWaveError(e: unknown): e is ZWaveError;

// Warning: (ae-missing-release-tag) "KeyPair" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface KeyPair {
    // (undocumented)
    privateKey: crypto.KeyObject;
    // (undocumented)
    publicKey: crypto.KeyObject;
}

// Warning: (ae-missing-release-tag) "keyPairFromRawECDHPrivateKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function keyPairFromRawECDHPrivateKey(privateKey: Uint8Array): KeyPair;

// Warning: (ae-missing-release-tag) "ListenBehavior" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface ListenBehavior {
    readonly canSleep: MaybeNotKnown<boolean>;
    readonly isFrequentListening: MaybeNotKnown<FLiRS>;
    readonly isListening: MaybeNotKnown<boolean>;
}

// Warning: (ae-missing-release-tag) "LOG_PREFIX_WIDTH" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const LOG_PREFIX_WIDTH = 20;

// Warning: (ae-missing-release-tag) "LOG_WIDTH" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const LOG_WIDTH = 80;

// Warning: (ae-missing-release-tag) "LogConfig" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LogConfig {
    // (undocumented)
    enabled: boolean;
    // (undocumented)
    filename: string;
    // (undocumented)
    forceConsole: boolean;
    // (undocumented)
    level: string | number;
    // (undocumented)
    logToFile: boolean;
    // (undocumented)
    maxFiles: number;
    // (undocumented)
    nodeFilter?: number[];
    // (undocumented)
    transports: Transport[];
}

// Warning: (ae-missing-release-tag) "LogContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LogContext<T extends string = string> {
    source: T;
    type?: string;
}

// Warning: (ae-missing-release-tag) "logMessageFormatter" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const logMessageFormatter: Format;

// Warning: (ae-missing-release-tag) "LogNodeOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LogNodeOptions {
    // (undocumented)
    direction?: DataDirection;
    // (undocumented)
    endpoint?: number;
    // (undocumented)
    level?: "silly" | "debug" | "verbose" | "warn" | "error";
    // (undocumented)
    message: string;
}

// Warning: (ae-missing-release-tag) "LogValueArgs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LogValueArgs<T> = T & {
    nodeId: number;
    internal?: boolean;
};

// Warning: (ae-missing-release-tag) "LongRangeChannel" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum LongRangeChannel {
    // (undocumented)
    A = 1,
    Auto = 255,
    // (undocumented)
    B = 2,
    Unsupported = 0
}

// Warning: (ae-missing-release-tag) "managementCCs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const managementCCs: readonly CommandClasses[];

// Warning: (ae-missing-release-tag) "MAX_NODES" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const MAX_NODES = 232;

// Warning: (ae-missing-release-tag) "MAX_NODES_LR" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const MAX_NODES_LR = 4000;

// Warning: (ae-missing-release-tag) "MAX_REPEATERS" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const MAX_REPEATERS = 4;

// Warning: (ae-missing-release-tag) "MAX_SUPERVISION_SESSION_ID" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const MAX_SUPERVISION_SESSION_ID = 63;

// Warning: (ae-missing-release-tag) "MAX_TRANSPORT_SERVICE_SESSION_ID" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const MAX_TRANSPORT_SERVICE_SESSION_ID = 15;

// Warning: (ae-missing-release-tag) "MaybeNotKnown" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MaybeNotKnown<T> = Either<T, NOT_KNOWN>;

// Warning: (ae-missing-release-tag) "MaybeUnknown" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MaybeUnknown<T> = Either<T, UNKNOWN_STATE>;

// Warning: (ae-missing-release-tag) "maybeUnknownToString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function maybeUnknownToString<T>(val: MaybeUnknown<T>, ifNotUnknown?: (val: NonNullable<T>) => string): string;

// Warning: (ae-missing-release-tag) "mergeSupervisionResults" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function mergeSupervisionResults(results: unknown[]): SupervisionResult | undefined;

// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-missing-release-tag) "messageFitsIntoOneLine" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function messageFitsIntoOneLine(info: ZWaveLogInfo, messageLength: number): boolean;

// Warning: (ae-missing-release-tag) "MessageOrCCLogEntry" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MessageOrCCLogEntry {
    // (undocumented)
    message?: MessageRecord;
    // (undocumented)
    tags: string[];
}

// Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
// Warning: (ae-missing-release-tag) "MessagePriority" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum MessagePriority {
    // (undocumented)
    Controller = 1,
    // (undocumented)
    ControllerImmediate = 0,
    // (undocumented)
    Immediate = 2,
    // (undocumented)
    ImmediateLow = 3,
    // (undocumented)
    NodeQuery = 7,
    // (undocumented)
    Normal = 6,
    // (undocumented)
    Ping = 4,
    // (undocumented)
    Poll = 8,
    // (undocumented)
    WakeUp = 5
}

// Warning: (ae-missing-release-tag) "MessageRecord" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MessageRecord = Record<string, string | number | boolean>;

// Warning: (ae-missing-release-tag) "messageRecordToLines" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function messageRecordToLines(message: MessageRecord): string[];

// Warning: (ae-missing-release-tag) "messageToLines" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function messageToLines(message: string | string[]): string[];

// Warning: (ae-missing-release-tag) "MetadataUpdatedArgs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MetadataUpdatedArgs extends ValueID {
    // (undocumented)
    metadata: ValueMetadata | undefined;
}

// Warning: (ae-missing-release-tag) "Meter" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Meter extends MeterDefinition {
    // (undocumented)
    readonly key: number;
}

// Warning: (ae-missing-release-tag) "MeterDefinition" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MeterDefinition {
    // (undocumented)
    readonly name: string;
    // (undocumented)
    readonly scales: MeterScaleGroup;
}

// Warning: (ae-missing-release-tag) "Meters" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type Meters = typeof meters;

// Warning: (ae-missing-release-tag) "meters" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const meters: Readonly<{
    readonly 1: {
        readonly name: "Electric";
        readonly scales: {
            readonly 0: {
                readonly label: "kWh";
                readonly unit: "kWh";
            };
            readonly 1: {
                readonly label: "kVAh";
                readonly unit: "kVAh";
            };
            readonly 2: {
                readonly label: "W";
                readonly unit: "W";
            };
            readonly 3: {
                readonly label: "Pulse count";
            };
            readonly 4: {
                readonly label: "V";
                readonly unit: "V";
            };
            readonly 5: {
                readonly label: "A";
                readonly unit: "A";
            };
            readonly 6: {
                readonly label: "Power Factor";
            };
            readonly 7: {
                readonly label: "kVar";
                readonly unit: "kVar";
            };
            readonly 8: {
                readonly label: "kVarh";
                readonly unit: "kVarh";
            };
        };
    };
    readonly 2: {
        readonly name: "Gas";
        readonly scales: {
            readonly 0: {
                readonly label: "Cubic meters";
                readonly unit: "m³";
            };
            readonly 1: {
                readonly label: "Cubic feet";
                readonly unit: "ft³";
            };
            readonly 3: {
                readonly label: "Pulse count";
            };
        };
    };
    readonly 3: {
        readonly name: "Water";
        readonly scales: {
            readonly 0: {
                readonly label: "Cubic meters";
                readonly unit: "m³";
            };
            readonly 1: {
                readonly label: "Cubic feet";
                readonly unit: "ft³";
            };
            readonly 2: {
                readonly label: "US gallons";
                readonly unit: "gal";
            };
            readonly 3: {
                readonly label: "Pulse count";
            };
        };
    };
    readonly 4: {
        readonly name: "Heating";
        readonly scales: {
            readonly 0: {
                readonly label: "kWh";
                readonly unit: "kWh";
            };
        };
    };
    readonly 5: {
        readonly name: "Cooling";
        readonly scales: {
            readonly 0: {
                readonly label: "kWh";
                readonly unit: "kWh";
            };
        };
    };
}>;

// Warning: (ae-missing-release-tag) "MeterScale" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MeterScale extends MeterScaleDefinition {
    // (undocumented)
    readonly key: number;
}

// Warning: (ae-missing-release-tag) "MeterScaleDefinition" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MeterScaleDefinition {
    // (undocumented)
    readonly label: string;
    // (undocumented)
    readonly unit?: string;
}

// Warning: (ae-missing-release-tag) "MeterScaleGroup" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MeterScaleGroup = Record<number, MeterScaleDefinition>;

// Warning: (ae-missing-release-tag) "ModifyCCs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface ModifyCCs {
    // (undocumented)
    addCC(cc: CommandClasses, info: Partial<CommandClassInfo>): void;
    // (undocumented)
    removeCC(cc: CommandClasses): void;
}

// Warning: (ae-missing-release-tag) "MPANState" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum MPANState {
    MPAN = 2,
    None = 0,
    OutOfSync = 1
}

// Warning: (ae-missing-release-tag) "MPANTableEntry" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MPANTableEntry = {
    type: MPANState.OutOfSync;
} | {
    type: MPANState.MPAN;
    currentMPAN: Uint8Array;
};

// Warning: (ae-missing-release-tag) "MPDUHeaderType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum MPDUHeaderType {
    // (undocumented)
    Acknowledgement = 3,
    // (undocumented)
    Explorer = 5,
    // (undocumented)
    Multicast = 2,
    // (undocumented)
    Routed = 8,
    // (undocumented)
    Singlecast = 1
}

// Warning: (ae-missing-release-tag) "MulticastCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MulticastCC<T extends CCId = CCId> = T & {
    nodeId: MulticastDestination;
};

// Warning: (ae-missing-release-tag) "MulticastDestination" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type MulticastDestination = [number, number, ...number[]];

// Warning: (ae-missing-release-tag) "MulticastGroup" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MulticastGroup {
    // (undocumented)
    nodeIDs: readonly number[];
    // (undocumented)
    securityClass: S2SecurityClass;
    // (undocumented)
    sequenceNumber: number;
}

// Warning: (ae-missing-release-tag) "NamedScaleGroup" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface NamedScaleGroup {
    // (undocumented)
    name: string;
    // (undocumented)
    scales: Record<number, ScaleDefinition>;
}

// Warning: (ae-forgotten-export) The symbol "namedScales" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "NamedScales" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type NamedScales = typeof namedScales;

// Warning: (ae-missing-release-tag) "NODE_ID_BROADCAST" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const NODE_ID_BROADCAST = 255;

// Warning: (ae-missing-release-tag) "NODE_ID_BROADCAST_LR" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const NODE_ID_BROADCAST_LR = 4095;

// Warning: (ae-missing-release-tag) "NODE_ID_MAX" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const NODE_ID_MAX = 232;

// Warning: (ae-missing-release-tag) "NodeId" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface NodeId extends EndpointId {
    // (undocumented)
    readonly id: number;
}

// Warning: (ae-missing-release-tag) "NodeIDType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum NodeIDType {
    // (undocumented)
    Long = 2,
    // (undocumented)
    Short = 1
}

// Warning: (ae-missing-release-tag) "NodeInformationFrame" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type NodeInformationFrame = NodeProtocolInfoAndDeviceClass & ApplicationNodeInformation;

// Warning: (ae-missing-release-tag) "NodeLogContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type NodeLogContext = LogContext & {
    nodeId: number;
    type: "node";
};

// Warning: (ae-missing-release-tag) "NodeProtocolInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface NodeProtocolInfo {
    hasSpecificDeviceClass: boolean;
    isFrequentListening: FLiRS;
    isListening: boolean;
    isRouting: boolean;
    nodeType: NodeType;
    optionalFunctionality: boolean;
    // (undocumented)
    protocolVersion: ProtocolVersion;
    // (undocumented)
    supportedDataRates: DataRate[];
    supportsBeaming: boolean;
    supportsSecurity: boolean;
}

// Warning: (ae-missing-release-tag) "NodeProtocolInfoAndDeviceClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface NodeProtocolInfoAndDeviceClass extends Omit<NodeProtocolInfo, "hasSpecificDeviceClass"> {
    // (undocumented)
    basicDeviceClass: BasicDeviceClass;
    // (undocumented)
    genericDeviceClass: number;
    // (undocumented)
    specificDeviceClass: number;
}

// Warning: (ae-missing-release-tag) "NodeStatus" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum NodeStatus {
    // (undocumented)
    Alive = 4,
    // (undocumented)
    Asleep = 1,
    // (undocumented)
    Awake = 2,
    // (undocumented)
    Dead = 3,
    // (undocumented)
    Unknown = 0
}

// Warning: (ae-missing-release-tag) "NodeType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum NodeType {
    // (undocumented)
    "End Node" = 1,
    // (undocumented)
    Controller = 0
}

// Warning: (ae-missing-release-tag) "NodeUpdatePayload" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface NodeUpdatePayload extends ApplicationNodeInformation {
    // (undocumented)
    basicDeviceClass: BasicDeviceClass;
    // (undocumented)
    nodeId: number;
}

// Warning: (ae-missing-release-tag) "nonApplicationCCs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const nonApplicationCCs: readonly CommandClasses[];

// Warning: (ae-internal-missing-underscore) The name "nonUndefinedLogConfigKeys" should be prefixed with an underscore because the declaration is marked as @internal
//
// @internal (undocumented)
export const nonUndefinedLogConfigKeys: readonly ["enabled", "level", "transports", "logToFile", "maxFiles", "filename", "forceConsole"];

// Warning: (ae-missing-release-tag) "normalizeValueID" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function normalizeValueID(valueID: ValueID): ValueID;

// Warning: (ae-missing-release-tag) "NOT_KNOWN" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
// Warning: (ae-missing-release-tag) "NOT_KNOWN" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const NOT_KNOWN: undefined;

// @public (undocumented)
export type NOT_KNOWN = typeof NOT_KNOWN;

// Warning: (ae-missing-release-tag) "Notification" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Notification {
    // (undocumented)
    readonly events: ReadonlyMap<number, NotificationEvent>;
    // (undocumented)
    readonly name: string;
    // (undocumented)
    readonly type: number;
    // (undocumented)
    readonly variables: readonly NotificationVariable[];
}

// Warning: (ae-missing-release-tag) "NotificationEvent" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface NotificationEvent extends NotificationValueBase {
    // (undocumented)
    readonly type: "event";
    // (undocumented)
    readonly value: number;
}

// Warning: (ae-missing-release-tag) "NotificationParameter" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type NotificationParameter = NotificationParameterWithDuration | NotificationParameterWithCommandClass | NotificationParameterWithValue | NotificationParameterWithEnum;

// Warning: (ae-missing-release-tag) "NotificationParameterWithCommandClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface NotificationParameterWithCommandClass {
    // (undocumented)
    readonly type: "commandclass";
}

// Warning: (ae-missing-release-tag) "NotificationParameterWithDuration" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface NotificationParameterWithDuration {
    // (undocumented)
    readonly type: "duration";
}

// Warning: (ae-missing-release-tag) "NotificationParameterWithEnum" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface NotificationParameterWithEnum {
    // (undocumented)
    readonly default?: number;
    // (undocumented)
    readonly type: "enum";
    // (undocumented)
    readonly values: Record<number, string>;
}

// Warning: (ae-missing-release-tag) "NotificationParameterWithValue" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface NotificationParameterWithValue {
    // (undocumented)
    readonly propertyName: string;
    // (undocumented)
    readonly type: "value";
}

// Warning: (ae-missing-release-tag) "NotificationState" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface NotificationState extends NotificationValueBase {
    readonly idle: boolean;
    // (undocumented)
    readonly type: "state";
    // (undocumented)
    readonly value: number;
    // (undocumented)
    readonly variableName: string;
}

// Warning: (ae-missing-release-tag) "NotificationValue" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type NotificationValue = NotificationState | NotificationEvent;

// Warning: (ae-missing-release-tag) "NotificationValueBase" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface NotificationValueBase {
    // (undocumented)
    readonly description?: string;
    // (undocumented)
    readonly idleVariables?: readonly number[];
    // (undocumented)
    readonly label: string;
    // (undocumented)
    readonly parameter?: NotificationParameter;
}

// Warning: (ae-missing-release-tag) "NotificationVariable" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface NotificationVariable {
    readonly idle: boolean;
    // (undocumented)
    readonly name: string;
    // (undocumented)
    readonly states: ReadonlyMap<number, NotificationState>;
}

// Warning: (ae-missing-release-tag) "NUM_LR_NODEMASK_SEGMENT_BYTES" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const NUM_LR_NODEMASK_SEGMENT_BYTES: number;

// Warning: (ae-missing-release-tag) "NUM_LR_NODES_PER_SEGMENT" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const NUM_LR_NODES_PER_SEGMENT = 128;

// Warning: (ae-missing-release-tag) "NUM_NODEMASK_BYTES" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const NUM_NODEMASK_BYTES: number;

// Warning: (ae-missing-release-tag) "nwiHomeIdFromDSK" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function nwiHomeIdFromDSK(dsk: Uint8Array): Uint8Array;

// Warning: (ae-missing-release-tag) "parseApplicationNodeInformation" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function parseApplicationNodeInformation(nif: Uint8Array): ApplicationNodeInformation;

// Warning: (ae-missing-release-tag) "parseBitMask" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function parseBitMask(mask: Uint8Array | ArrayLike<number>, startValue?: number, numBits?: number): number[];

// Warning: (ae-missing-release-tag) "parseBoolean" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function parseBoolean(val: number): boolean | undefined;

// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-missing-release-tag) "parseCCId" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function parseCCId(payload: Uint8Array, offset?: number): {
    ccId: CommandClasses;
    bytesRead: number;
};

// Warning: (ae-missing-release-tag) "parseCCList" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function parseCCList(payload: Uint8Array): {
    supportedCCs: CommandClasses[];
    controlledCCs: CommandClasses[];
};

// Warning: (ae-missing-release-tag) "parseFloatWithScale" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
// Warning: (ae-missing-release-tag) "parseFloatWithScale" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function parseFloatWithScale(payload: Uint8Array, allowEmpty?: false): {
    value: number;
    scale: number;
    bytesRead: number;
};

// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
//
// @public
export function parseFloatWithScale(payload: Uint8Array, allowEmpty: true): {
    value?: number;
    scale?: number;
    bytesRead: number;
};

// Warning: (ae-missing-release-tag) "parseLongRangeNodeBitMask" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function parseLongRangeNodeBitMask(mask: Uint8Array | ArrayLike<number>, startValue: number): number[];

// Warning: (ae-missing-release-tag) "parseMaybeBoolean" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
// Warning: (ae-unresolved-link) The @link reference could not be resolved: The reference is ambiguous because "UNKNOWN_STATE" has more than one declaration; you need to add a TSDoc member reference selector
//
// @public
export function parseMaybeBoolean(val: number): MaybeUnknown<boolean> | undefined;

// Warning: (ae-missing-release-tag) "parseMaybeNumber" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
// Warning: (ae-unresolved-link) The @link reference could not be resolved: The reference is ambiguous because "UNKNOWN_STATE" has more than one declaration; you need to add a TSDoc member reference selector
//
// @public
export function parseMaybeNumber(val: number): MaybeUnknown<number> | undefined;

// Warning: (ae-missing-release-tag) "parseNodeBitMask" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function parseNodeBitMask(mask: Uint8Array): number[];

// Warning: (ae-missing-release-tag) "parseNodeID" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function parseNodeID(buffer: Uint8Array, type?: NodeIDType, offset?: number): {
    nodeId: number;
    bytesRead: number;
};

// Warning: (ae-missing-release-tag) "parseNodeInformationFrame" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function parseNodeInformationFrame(buffer: Uint8Array, isLongRange?: boolean): NodeInformationFrame;

// Warning: (ae-missing-release-tag) "parseNodeProtocolInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function parseNodeProtocolInfo(buffer: Uint8Array, offset: number, isLongRange?: boolean): NodeProtocolInfo;

// Warning: (ae-missing-release-tag) "parseNodeProtocolInfoAndDeviceClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function parseNodeProtocolInfoAndDeviceClass(buffer: Uint8Array, isLongRange?: boolean): {
    info: NodeProtocolInfoAndDeviceClass;
    bytesRead: number;
};

// Warning: (ae-missing-release-tag) "parseNodeUpdatePayload" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function parseNodeUpdatePayload(nif: Uint8Array, nodeIdType?: NodeIDType): NodeUpdatePayload;

// Warning: (ae-missing-release-tag) "parseNumber" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function parseNumber(val: number): number | undefined;

// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-missing-release-tag) "parsePartial" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function parsePartial(value: number, bitMask: number, signed: boolean): number;

// Warning: (ae-missing-release-tag) "parseQRCodeString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function parseQRCodeString(qr: string): QRProvisioningInformation;

// Warning: (ae-missing-release-tag) "PhysicalNodes" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface PhysicalNodes<T extends NodeId> {
    // (undocumented)
    readonly physicalNodes: readonly T[];
}

// Warning: (ae-missing-release-tag) "ProtocolDataRate" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ProtocolDataRate {
    // (undocumented)
    LongRange_100k = 4,
    // (undocumented)
    ZWave_100k = 3,
    // (undocumented)
    ZWave_40k = 2,
    // (undocumented)
    ZWave_9k6 = 1
}

// Warning: (ae-missing-release-tag) "protocolDataRateMask" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const protocolDataRateMask = 7;

// Warning: (ae-missing-release-tag) "protocolDataRateToString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function protocolDataRateToString(rate: ProtocolDataRate): string;

// Warning: (ae-missing-release-tag) "Protocols" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum Protocols {
    // (undocumented)
    ZWave = 0,
    // (undocumented)
    ZWaveLongRange = 1
}

// Warning: (ae-missing-release-tag) "ProtocolType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ProtocolType {
    // (undocumented)
    "Z-Wave AV" = 1,
    // (undocumented)
    "Z-Wave for IP" = 2,
    // (undocumented)
    "Z-Wave" = 0
}

// Warning: (ae-missing-release-tag) "ProtocolVersion" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ProtocolVersion {
    // (undocumented)
    "2.0" = 1,
    // (undocumented)
    "4.2x / 5.0x" = 2,
    // (undocumented)
    "4.5x / 6.0x" = 3,
    // (undocumented)
    "unknown" = 0
}

// Warning: (ae-missing-release-tag) "ProvisioningInformation_MaxInclusionRequestInterval" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ProvisioningInformation_MaxInclusionRequestInterval {
    // (undocumented)
    maxInclusionRequestInterval: number;
}

// Warning: (ae-missing-release-tag) "ProvisioningInformation_ProductId" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ProvisioningInformation_ProductId {
    // (undocumented)
    applicationVersion: string;
    // (undocumented)
    manufacturerId: number;
    // (undocumented)
    productId: number;
    // (undocumented)
    productType: number;
}

// Warning: (ae-missing-release-tag) "ProvisioningInformation_ProductType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ProvisioningInformation_ProductType {
    // (undocumented)
    genericDeviceClass: number;
    // (undocumented)
    installerIconType: number;
    // (undocumented)
    specificDeviceClass: number;
}

// Warning: (ae-missing-release-tag) "ProvisioningInformation_SupportedProtocols" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ProvisioningInformation_SupportedProtocols {
    // (undocumented)
    supportedProtocols: Protocols[];
}

// Warning: (ae-missing-release-tag) "ProvisioningInformation_UUID16" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ProvisioningInformation_UUID16 {
    // (undocumented)
    uuid: string;
}

// Warning: (ae-missing-release-tag) "ProvisioningInformationType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ProvisioningInformationType {
    // (undocumented)
    AdvancedJoining = 53,
    // (undocumented)
    BootstrappingMode = 54,
    // (undocumented)
    Location = 51,
    // (undocumented)
    MaxInclusionRequestInterval = 2,
    // (undocumented)
    Name = 50,
    // (undocumented)
    NetworkStatus = 55,
    // (undocumented)
    ProductId = 1,
    // (undocumented)
    ProductType = 0,
    // (undocumented)
    SmartStartInclusionSetting = 52,
    // (undocumented)
    SupportedProtocols = 4,
    // (undocumented)
    UUID16 = 3
}

// Warning: (ae-missing-release-tag) "QRCodeVersion" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum QRCodeVersion {
    // (undocumented)
    S2 = 0,
    // (undocumented)
    SmartStart = 1
}

// Warning: (ae-missing-release-tag) "QRProvisioningInformation" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type QRProvisioningInformation = {
    version: QRCodeVersion;
    readonly requestedSecurityClasses: SecurityClass[];
    securityClasses: SecurityClass[];
    dsk: string;
} & ProvisioningInformation_ProductType & ProvisioningInformation_ProductId & Partial<ProvisioningInformation_MaxInclusionRequestInterval> & Partial<ProvisioningInformation_UUID16> & Partial<ProvisioningInformation_SupportedProtocols>;

// Warning: (ae-missing-release-tag) "QueryNodeStatus" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface QueryNodeStatus {
    readonly status: NodeStatus;
}

// Warning: (ae-missing-release-tag) "QuerySecurityClasses" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface QuerySecurityClasses {
    getHighestSecurityClass(): MaybeNotKnown<SecurityClass>;
    hasSecurityClass(securityClass: SecurityClass): MaybeNotKnown<boolean>;
    readonly isSecure: MaybeNotKnown<boolean>;
}

// Warning: (ae-missing-release-tag) "ReflectionDecorator" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ReflectionDecorator<TBase extends abstract new (...args: any) => any, TArgs extends any[], TValue, TConstructor extends Constructor<InstanceType<TBase>> = Constructor<InstanceType<TBase>>> {
    decorator: <TTarget extends TBase>(...args: TArgs) => TypedClassDecorator<TTarget>;
    lookupConstructorByKey: (key: string) => TConstructor | undefined;
    lookupConstructorByValue: (value: TValue) => TConstructor | undefined;
    lookupValue: (target: InstanceType<TBase>) => TValue | undefined;
    lookupValueStatic: (constr: TBase) => TValue | undefined;
}

// Warning: (ae-missing-release-tag) "ReflectionDecoratorPair" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ReflectionDecoratorPair<TBase extends abstract new (...args: any) => any, TSuperArgs extends [any], TSubArgs extends [any], TConstructor extends Constructor<InstanceType<TBase>> = Constructor<InstanceType<TBase>>> {
    lookupSubConstructor: (...args: [...TSuperArgs, ...TSubArgs]) => TConstructor | undefined;
    lookupSubValue: (target: InstanceType<TBase>) => TSubArgs[0] | undefined;
    lookupSubValueStatic: (constr: TBase) => TSubArgs[0] | undefined;
    lookupSuperConstructor: (...args: TSuperArgs) => TConstructor | undefined;
    lookupSuperValue: (target: InstanceType<TBase>) => TSuperArgs[0] | undefined;
    lookupSuperValueStatic: (constr: TBase) => TSuperArgs[0] | undefined;
    subDecorator: <TTarget extends TBase>(...args: TSubArgs) => TypedClassDecorator<TTarget>;
    superDecorator: <TTarget extends TBase>(...args: TSuperArgs) => TypedClassDecorator<TTarget>;
}

// Warning: (ae-missing-release-tag) "restoreSilence" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function restoreSilence(logger: winston.Logger, original: boolean): void;

// Warning: (ae-missing-release-tag) "RFRegion" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum RFRegion {
    // (undocumented)
    "Australia/New Zealand" = 2,
    // (undocumented)
    "Default (EU)" = 255,
    // (undocumented)
    "Europe (Long Range)" = 11,
    // (undocumented)
    "Hong Kong" = 3,
    // (undocumented)
    "USA (Long Range)" = 9,
    // (undocumented)
    "China" = 8,
    // (undocumented)
    "Europe" = 0,
    // (undocumented)
    "India" = 5,
    // (undocumented)
    "Israel" = 6,
    // (undocumented)
    "Japan" = 32,
    // (undocumented)
    "Korea" = 33,
    // (undocumented)
    "Russia" = 7,
    // (undocumented)
    "Unknown" = 254,
    // (undocumented)
    "USA" = 1
}

// Warning: (ae-missing-release-tag) "RFRegionInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface RFRegionInfo {
    // (undocumented)
    includesRegion?: RFRegion;
    // (undocumented)
    region: RFRegion;
    // (undocumented)
    supportsLongRange: boolean;
    // (undocumented)
    supportsZWave: boolean;
}

// Warning: (ae-missing-release-tag) "Route" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Route {
    // (undocumented)
    repeaters: number[];
    // (undocumented)
    routeSpeed: ZWaveDataRate;
}

// Warning: (ae-missing-release-tag) "RouteKind" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum RouteKind {
    Application = 16,
    LWR = 1,
    NLWR = 2,
    // (undocumented)
    None = 0
}

// Warning: (ae-missing-release-tag) "RouteProtocolDataRate" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum RouteProtocolDataRate {
    // (undocumented)
    LongRange_100k = 4,
    // (undocumented)
    Unspecified = 0,
    // (undocumented)
    ZWave_100k = 3,
    // (undocumented)
    ZWave_40k = 2,
    // (undocumented)
    ZWave_9k6 = 1
}

// Warning: (ae-missing-release-tag) "RoutingScheme" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum RoutingScheme {
    // (undocumented)
    Auto = 5,
    // (undocumented)
    Direct = 1,
    // (undocumented)
    Explore = 7,
    // (undocumented)
    Idle = 0,
    // (undocumented)
    LWR = 3,
    // (undocumented)
    NLWR = 4,
    // (undocumented)
    Priority = 2,
    // (undocumented)
    ResortDirect = 6
}

// Warning: (ae-missing-release-tag) "routingSchemeToString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function routingSchemeToString(scheme: RoutingScheme): string;

// Warning: (ae-missing-release-tag) "RSSI" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type RSSI = number | RssiError;

// Warning: (ae-missing-release-tag) "RssiError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum RssiError {
    // (undocumented)
    NoSignalDetected = 125,
    // (undocumented)
    NotAvailable = 127,
    // (undocumented)
    ReceiverSaturated = 126
}

// Warning: (ae-missing-release-tag) "rssiToString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function rssiToString(rssi: RSSI): string;

// Warning: (ae-missing-release-tag) "S2SecurityClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type S2SecurityClass = SecurityClass.S2_Unauthenticated | SecurityClass.S2_Authenticated | SecurityClass.S2_AccessControl;

// Warning: (ae-missing-release-tag) "Scale" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Scale extends ScaleDefinition {
    // (undocumented)
    readonly key: number;
}

// Warning: (ae-missing-release-tag) "ScaleDefinition" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ScaleDefinition {
    // (undocumented)
    readonly description?: string;
    // (undocumented)
    readonly label: string;
    // (undocumented)
    readonly unit?: string;
}

// Warning: (ae-missing-release-tag) "ScaleGroup" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ScaleGroup = Record<number, ScaleDefinition>;

// Warning: (ae-missing-release-tag) "sdkVersionGt" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function sdkVersionGt(sdkVersion: MaybeNotKnown<string>, compareVersion: string): MaybeNotKnown<boolean>;

// Warning: (ae-missing-release-tag) "sdkVersionGte" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function sdkVersionGte(sdkVersion: MaybeNotKnown<string>, compareVersion: string): MaybeNotKnown<boolean>;

// Warning: (ae-missing-release-tag) "sdkVersionLt" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function sdkVersionLt(sdkVersion: MaybeNotKnown<string>, compareVersion: string): MaybeNotKnown<boolean>;

// Warning: (ae-missing-release-tag) "sdkVersionLte" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function sdkVersionLte(sdkVersion: MaybeNotKnown<string>, compareVersion: string): MaybeNotKnown<boolean>;

// Warning: (ae-missing-release-tag) "SECURITY_S2_AUTH_TAG_LENGTH" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const SECURITY_S2_AUTH_TAG_LENGTH = 8;

// Warning: (ae-missing-release-tag) "SecurityClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum SecurityClass {
    None = -1,
    // (undocumented)
    S0_Legacy = 7,
    // (undocumented)
    S2_AccessControl = 2,
    // (undocumented)
    S2_Authenticated = 1,
    // (undocumented)
    S2_Unauthenticated = 0,
    Temporary = -2
}

// Warning: (ae-missing-release-tag) "securityClassIsLongRange" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function securityClassIsLongRange(secClass: SecurityClass | undefined): secClass is S2SecurityClass;

// Warning: (ae-missing-release-tag) "securityClassIsS2" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function securityClassIsS2(secClass: SecurityClass | undefined): secClass is S2SecurityClass;

// Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
// Warning: (ae-missing-release-tag) "securityClassOrder" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const securityClassOrder: readonly [SecurityClass.S2_AccessControl, SecurityClass.S2_Authenticated, SecurityClass.S2_Unauthenticated, SecurityClass.S0_Legacy];

// Warning: (ae-missing-release-tag) "SecurityManager" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class SecurityManager {
    constructor(options: SecurityManagerOptions);
    // (undocumented)
    get authKey(): Uint8Array;
    deleteAllNoncesForReceiver(receiver: number): void;
    // (undocumented)
    deleteNonce(id: number | NonceKey): void;
    // (undocumented)
    get encryptionKey(): Uint8Array;
    generateNonce(receiver: number, length: number): Uint8Array;
    // (undocumented)
    getFreeNonce(nodeId: number): Uint8Array | undefined;
    // (undocumented)
    getNonce(id: number | NonceKey): Uint8Array | undefined;
    // (undocumented)
    getNonceId(nonce: Uint8Array): number;
    // (undocumented)
    hasNonce(id: number | NonceKey): boolean;
    // (undocumented)
    get networkKey(): Uint8Array;
    set networkKey(v: Uint8Array);
    // Warning: (ae-forgotten-export) The symbol "NonceKey" needs to be exported by the entry point index.d.ts
    // Warning: (ae-forgotten-export) The symbol "NonceEntry" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    setNonce(id: number | NonceKey, entry: NonceEntry, { free }?: SetNonceOptions): void;
}

// Warning: (ae-missing-release-tag) "SecurityManager2" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class SecurityManager2 {
    constructor();
    createMulticastGroup(nodeIDs: number[], s2SecurityClass: S2SecurityClass): number;
    deleteNonce(receiver: number): void;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    generateNonce(receiver: number | undefined): Uint8Array;
    // (undocumented)
    getInnerMPANState(groupId: number): Uint8Array | undefined;
    // (undocumented)
    getKeysForNode(peerNodeID: number): NetworkKeys | TempNetworkKeys;
    // Warning: (ae-forgotten-export) The symbol "NetworkKeys" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    getKeysForSecurityClass(securityClass: SecurityClass): NetworkKeys;
    // (undocumented)
    getMulticastGroup(group: number): Readonly<MulticastGroup> | undefined;
    // (undocumented)
    getMulticastKeyAndIV(groupId: number): {
        key: Uint8Array;
        iv: Uint8Array;
    };
    getPeerMPAN(peerNodeId: number, groupId: number): MPANTableEntry | {
        type: MPANState.None;
    };
    // (undocumented)
    getSPANState(peerNodeID: number): SPANTableEntry | {
        type: SPANState.None;
    };
    // (undocumented)
    hasKeysForSecurityClass(securityClass: SecurityClass): boolean;
    hasUsedSecurityClass(peerNodeID: number, securityClass: SecurityClass): boolean;
    initializeSPAN(peerNodeId: number, securityClass: SecurityClass, senderEI: Uint8Array, receiverEI: Uint8Array): void;
    initializeTempSPAN(peerNodeId: number, senderEI: Uint8Array, receiverEI: Uint8Array): void;
    isDuplicateSinglecast(peerNodeId: number, sequenceNumber: number): boolean;
    nextMulticastSequenceNumber(groupId: number): number;
    nextNonce(peerNodeId: number, store?: boolean): Uint8Array;
    nextPeerMPAN(peerNodeId: number, groupId: number): Uint8Array;
    nextSequenceNumber(peerNodeId: number): number;
    resetOutOfSyncMPANs(peerNodeId: number): void;
    setKey(securityClass: SecurityClass, key: Uint8Array): void;
    setSPANState(peerNodeID: number, state: SPANTableEntry | {
        type: SPANState.None;
    }): void;
    // (undocumented)
    storePeerMPAN(peerNodeId: number, groupId: number, mpanState: MPANTableEntry): void;
    // (undocumented)
    storeRemoteEI(peerNodeId: number, remoteEI: Uint8Array): void;
    storeSequenceNumber(peerNodeId: number, sequenceNumber: number): number | undefined;
    // Warning: (ae-forgotten-export) The symbol "TempNetworkKeys" needs to be exported by the entry point index.d.ts
    readonly tempKeys: Map<number, TempNetworkKeys>;
    tryIncrementMPAN(groupId: number): void;
    tryIncrementPeerMPAN(peerNodeId: number, groupId: number): void;
}

// Warning: (ae-missing-release-tag) "SecurityManagerOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SecurityManagerOptions {
    // (undocumented)
    networkKey: Uint8Array;
    // (undocumented)
    nonceTimeout: number;
    // (undocumented)
    ownNodeId: number;
}

// Warning: (ae-missing-release-tag) "SecurityManagers" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface SecurityManagers {
    securityManager: SecurityManager | undefined;
    securityManager2: SecurityManager2 | undefined;
    securityManagerLR: SecurityManager2 | undefined;
}

// Warning: (ae-missing-release-tag) "SendCommandOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SendCommandOptions = SendMessageOptions & SupervisionOptions & SendCommandSecurityS2Options & {
    maxSendAttempts?: number;
    autoEncapsulate?: boolean;
    encapsulationFlags?: EncapsulationFlags;
    transmitOptions?: TransmitOptions;
    reportTimeoutMs?: number;
};

// Warning: (ae-missing-release-tag) "SendCommandReturnType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SendCommandReturnType<TResponse extends CCId | undefined> = undefined extends TResponse ? SupervisionResult | undefined : TResponse | undefined;

// Warning: (ae-missing-release-tag) "SendCommandSecurityS2Options" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SendCommandSecurityS2Options = {
    s2OverrideSecurityClass?: SecurityClass;
    s2VerifyDelivery?: boolean;
    s2MulticastOutOfSync?: boolean;
    s2MulticastGroupId?: number;
};

// Warning: (ae-missing-release-tag) "SendMessageOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SendMessageOptions {
    changeNodeStatusOnMissingACK?: boolean;
    expire?: number;
    onProgress?: TransactionProgressListener;
    onTXReport?: (report: TXReport) => void;
    // @internal
    pauseSendThread?: boolean;
    priority?: MessagePriority;
    requestWakeUpOnDemand?: boolean;
    supportCheck?: boolean;
    // @internal
    tag?: any;
}

// Warning: (ae-missing-release-tag) "Sensor" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Sensor extends SensorDefinition {
    // (undocumented)
    readonly key: number;
}

// Warning: (ae-missing-release-tag) "sensorCCs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const sensorCCs: readonly CommandClasses[];

// Warning: (ae-missing-release-tag) "SensorDefinition" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SensorDefinition {
    // (undocumented)
    readonly label: string;
    // (undocumented)
    readonly scaleGroupName?: string;
    // (undocumented)
    readonly scales: ScaleGroup;
}

// Warning: (ae-forgotten-export) The symbol "sensors" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "Sensors" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type Sensors = typeof sensors;

// Warning: (ae-missing-release-tag) "SerialApiInitData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SerialApiInitData {
    // (undocumented)
    isPrimary: boolean;
    // (undocumented)
    isSIS: boolean;
    // (undocumented)
    nodeIds: number[];
    // (undocumented)
    nodeType: NodeType;
    // (undocumented)
    supportsTimers: boolean;
    // (undocumented)
    zwaveApiVersion: ZWaveApiVersion;
    // (undocumented)
    zwaveChipType?: string | UnknownZWaveChipType;
}

// Warning: (ae-missing-release-tag) "SerializableTXReport" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type SerializableTXReport = Partial<Omit<TXReport, "numRepeaters">> & Pick<TXReport, "txTicks" | "routeSpeed">;

// Warning: (ae-missing-release-tag) "serializeCacheValue" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function serializeCacheValue(value: unknown): SerializedValue;

// Warning: (ae-missing-release-tag) "SerializedValue" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SerializedValue = number | string | boolean | JSONObject_2 | undefined;

// Warning: (ae-missing-release-tag) "SetNonceOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SetNonceOptions {
    // (undocumented)
    free?: boolean;
}

// Warning: (ae-missing-release-tag) "SetSecurityClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface SetSecurityClass {
    // (undocumented)
    setSecurityClass(securityClass: SecurityClass, granted: boolean): void;
}

// Warning: (ae-missing-release-tag) "SetValueOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SetValueOptions {
    noEvent?: boolean;
    noThrow?: boolean;
    source?: ValueUpdatedArgs["source"];
    stateful?: boolean;
    updateTimestamp?: boolean;
}

// Warning: (ae-missing-release-tag) "SimpleReflectionDecorator" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SimpleReflectionDecorator<TBase extends abstract new (...args: any) => any, TArgs extends [any], TConstructor extends Constructor<InstanceType<TBase>> = Constructor<InstanceType<TBase>>> {
    decorator: <TTarget extends TBase>(...args: TArgs) => TypedClassDecorator<TTarget>;
    lookupConstructor: (...args: TArgs) => TConstructor | undefined;
    lookupValue: (target: InstanceType<TBase>) => TArgs[0] | undefined;
    lookupValueStatic: (constr: TBase) => TArgs[0] | undefined;
}

// Warning: (ae-missing-release-tag) "SinglecastCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SinglecastCC<T extends CCId = CCId> = T & {
    nodeId: number;
};

// Warning: (ae-missing-release-tag) "SPANState" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum SPANState {
    // (undocumented)
    LocalEI = 2,
    None = 0,
    // (undocumented)
    RemoteEI = 1,
    // (undocumented)
    SPAN = 3
}

// Warning: (ae-missing-release-tag) "SPANTableEntry" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SPANTableEntry = {
    type: SPANState.RemoteEI;
    receiverEI: Uint8Array;
} | {
    type: SPANState.LocalEI;
    receiverEI: Uint8Array;
} | {
    type: SPANState.SPAN;
    securityClass: SecurityClass;
    rng: CtrDRBG;
    currentSPAN?: {
        nonce: Uint8Array;
        expires: number;
    };
};

// Warning: (ae-missing-release-tag) "SpecificDeviceClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SpecificDeviceClass = GenericDeviceClass;

// Warning: (ae-internal-missing-underscore) The name "stringToNodeList" should be prefixed with an underscore because the declaration is marked as @internal
//
// @internal (undocumented)
export function stringToNodeList(nodes?: string): number[] | undefined;

// Warning: (ae-missing-release-tag) "stripUndefined" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function stripUndefined<T>(obj: Record<string, T | undefined>): Record<string, T>;

// Warning: (ae-missing-release-tag) "supervisedCommandFailed" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function supervisedCommandFailed(result: unknown): result is SupervisionResult & {
    status: SupervisionStatus.Fail | SupervisionStatus.NoSupport;
};

// Warning: (ae-missing-release-tag) "supervisedCommandSucceeded" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function supervisedCommandSucceeded(result: unknown): result is SupervisionResult & {
    status: SupervisionStatus.Success | SupervisionStatus.Working;
};

// Warning: (ae-missing-release-tag) "SupervisionOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SupervisionOptions = ({
    useSupervision?: "auto";
} & ({
    requestStatusUpdates?: false;
} | {
    requestStatusUpdates: true;
    onUpdate: SupervisionUpdateHandler;
})) | {
    useSupervision: false;
};

// Warning: (ae-missing-release-tag) "SupervisionResult" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SupervisionResult = {
    status: SupervisionStatus.NoSupport | SupervisionStatus.Fail | SupervisionStatus.Success;
    remainingDuration?: undefined;
} | {
    status: SupervisionStatus.Working;
    remainingDuration: Duration;
};

// Warning: (ae-missing-release-tag) "SupervisionStatus" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum SupervisionStatus {
    // (undocumented)
    Fail = 2,
    // (undocumented)
    NoSupport = 0,
    // (undocumented)
    Success = 255,
    // (undocumented)
    Working = 1
}

// Warning: (ae-missing-release-tag) "SupervisionUpdateHandler" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SupervisionUpdateHandler = (update: SupervisionResult) => void;

// Warning: (ae-missing-release-tag) "SupportsCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface SupportsCC {
    // (undocumented)
    getCCVersion(cc: CommandClasses): number;
    // (undocumented)
    supportsCC(cc: CommandClasses): boolean;
}

// Warning: (ae-missing-release-tag) "tagify" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function tagify(tags: string[]): string;

// Warning: (ae-missing-release-tag) "Timeout" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class Timeout {
    constructor(value: number, unit: TimeoutUnit);
    static parse(payload: number): Timeout;
    // (undocumented)
    static parse(payload: undefined): undefined;
    serialize(): number;
    // (undocumented)
    toJSON(): string | JSONObject;
    // (undocumented)
    toMilliseconds(): number | undefined;
    // (undocumented)
    toString(): string;
    // (undocumented)
    unit: TimeoutUnit;
    // (undocumented)
    get value(): number;
    set value(v: number);
}

// Warning: (ae-missing-release-tag) "TimeoutUnit" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type TimeoutUnit = "seconds" | "minutes" | "none" | "infinite";

// Warning: (ae-missing-release-tag) "timespan" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const timespan: Readonly<{
    seconds: (num: number) => number;
    minutes: (num: number) => number;
    hours: (num: number) => number;
    days: (num: number) => number;
}>;

// Warning: (ae-missing-release-tag) "timestampFormatShort" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const timestampFormatShort = "HH:mm:ss.SSS";

// Warning: (ae-missing-release-tag) "timestampPadding" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const timestampPadding: string;

// Warning: (ae-missing-release-tag) "timestampPaddingShort" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const timestampPaddingShort: string;

// Warning: (ae-missing-release-tag) "topologicalSort" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function topologicalSort<T>(graph: GraphNode<T>[]): T[];

// Warning: (ae-missing-release-tag) "TransactionProgress" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type TransactionProgress = {
    state: TransactionState.Queued | TransactionState.Active | TransactionState.Completed;
} | {
    state: TransactionState.Failed;
    reason?: string;
};

// Warning: (ae-missing-release-tag) "TransactionProgressListener" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type TransactionProgressListener = (progress: TransactionProgress) => void;

// Warning: (ae-missing-release-tag) "TransactionState" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum TransactionState {
    Active = 1,
    Completed = 2,
    Failed = 3,
    Queued = 0
}

// Warning: (ae-missing-release-tag) "TranslatedValueID" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface TranslatedValueID extends ValueID {
    // (undocumented)
    commandClassName: string;
    // (undocumented)
    propertyKeyName?: string;
    // (undocumented)
    propertyName?: string;
}

// Warning: (ae-missing-release-tag) "TransmitOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum TransmitOptions {
    // (undocumented)
    ACK = 1,
    // (undocumented)
    AutoRoute = 4,
    // (undocumented)
    DEFAULT = 37,
    // (undocumented)
    DEFAULT_NOACK = 36,
    // (undocumented)
    Explore = 32,
    // (undocumented)
    LowPower = 2,
    // (undocumented)
    NoRoute = 16,
    // (undocumented)
    NotSet = 0
}

// Warning: (ae-missing-release-tag) "TransmitStatus" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum TransmitStatus {
    // (undocumented)
    Fail = 2,
    // (undocumented)
    NoAck = 1,
    // (undocumented)
    NoRoute = 4,
    // (undocumented)
    NotIdle = 3,
    // (undocumented)
    OK = 0
}

// Warning: (ae-missing-release-tag) "tryParseDSKFromQRCodeString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function tryParseDSKFromQRCodeString(qr: string): string | undefined;

// Warning: (ae-missing-release-tag) "tryParseParamNumber" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function tryParseParamNumber(str: string): {
    parameter: number;
    valueBitMask?: number;
} | undefined;

// Warning: (ae-missing-release-tag) "TXReport" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface TXReport {
    ackChannelNo?: number;
    ackRepeaterRSSI?: [RSSI?, RSSI?, RSSI?, RSSI?];
    ackRSSI?: RSSI;
    beam1000ms: boolean;
    beam250ms: boolean;
    destinationAckMeasuredNoiseFloor?: RSSI;
    destinationAckMeasuredRSSI?: RSSI;
    destinationAckTxPower?: number;
    failedRouteFirstNonFunctionalNodeId?: number;
    failedRouteLastFunctionalNodeId?: number;
    measuredNoiseFloor?: RSSI;
    repeaterNodeIds: [number?, number?, number?, number?];
    routeSchemeState: RoutingScheme;
    routeSpeed: ProtocolDataRate;
    routingAttempts: number;
    txChannelNo: number;
    txPower?: number;
    txTicks: number;
}

// Warning: (ae-missing-release-tag) "UNKNOWN_STATE" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
// Warning: (ae-missing-release-tag) "UNKNOWN_STATE" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const UNKNOWN_STATE: null;

// @public (undocumented)
export type UNKNOWN_STATE = typeof UNKNOWN_STATE;

// Warning: (ae-missing-release-tag) "UnknownZWaveChipType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface UnknownZWaveChipType {
    // (undocumented)
    type: number;
    // (undocumented)
    version: number;
}

// Warning: (ae-missing-release-tag) "unsilence" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function unsilence(logger: winston.Logger): boolean;

// Warning: (ae-forgotten-export) The symbol "ValidatePayload" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "validatePayload" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const validatePayload: ValidatePayload;

// Warning: (ae-missing-release-tag) "ValueAddedArgs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValueAddedArgs extends ValueID {
    // (undocumented)
    newValue: unknown;
}

// Warning: (ae-missing-release-tag) "ValueChangeOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface ValueChangeOptions {
    transitionDuration: Duration | string;
    volume: number;
}

// Warning: (ae-forgotten-export) The symbol "ValueDBEventCallbacks" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "ValueDB" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class ValueDB extends TypedEventEmitter<ValueDBEventCallbacks> {
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    constructor(nodeId: number, valueDB: JsonlDB, metadataDB: JsonlDB<ValueMetadata>, ownKeys?: Set<string>);
    clear(options?: SetValueOptions): void;
    findMetadata(predicate: (id: ValueID) => boolean): (ValueID & {
        metadata: ValueMetadata;
    })[];
    findValues(predicate: (id: ValueID) => boolean): (ValueID & {
        value: unknown;
    })[];
    getAllMetadata(forCC: CommandClasses): (ValueID & {
        metadata: ValueMetadata;
    })[];
    getMetadata(valueId: ValueID): ValueMetadata | undefined;
    getTimestamp(valueId: ValueID): number | undefined;
    getValue<T = unknown>(valueId: ValueID): T | undefined;
    getValues(forCC: CommandClasses): (ValueID & {
        value: unknown;
    })[];
    hasMetadata(valueId: ValueID): boolean;
    hasValue(valueId: ValueID): boolean;
    removeValue(valueId: ValueID, options?: SetValueOptions): boolean;
    setMetadata(valueId: ValueID, metadata: ValueMetadata | undefined, options?: SetValueOptions): void;
    setValue(valueId: ValueID, value: unknown, options?: SetValueOptions): void;
}

// Warning: (ae-missing-release-tag) "ValueID" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface ValueID {
    // (undocumented)
    commandClass: CommandClasses;
    // (undocumented)
    endpoint?: number;
    // (undocumented)
    property: string | number;
    // (undocumented)
    propertyKey?: string | number;
}

// Warning: (ae-missing-release-tag) "valueIdToString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function valueIdToString(valueID: ValueID): string;

// Warning: (ae-missing-release-tag) "ValuelessReflectionDecorator" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValuelessReflectionDecorator<TBase extends abstract new (...args: any) => any> {
    decorator: <TTarget extends TBase>() => TypedClassDecorator<TTarget>;
    isDecorated: (target: InstanceType<TBase>) => boolean;
    isDecoratedStatic: (constr: TBase) => boolean;
}

// Warning: (ae-missing-release-tag) "ValueLogContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ValueLogContext = LogContext & ValueID & {
    nodeId: number;
    type: "value";
};

// Warning: (ae-missing-release-tag) "ValueMetadata" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
// Warning: (ae-missing-release-tag) "ValueMetadata" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ValueMetadata = ValueMetadataAny | ValueMetadataNumeric | ValueMetadataBoolean | ValueMetadataString | ValueMetadataDuration | ValueMetadataBuffer | ConfigurationMetadata;

// @public
export const ValueMetadata: {
    Any: Readonly<{
        readonly type: "any";
        readonly readable: true;
        readonly writeable: true;
    }>;
    ReadOnly: Readonly<{
        readonly writeable: false;
        readonly type: "any";
        readonly readable: true;
    }>;
    WriteOnly: Readonly<{
        readonly readable: false;
        readonly type: "any";
        readonly writeable: true;
    }>;
    Number: Readonly<{
        readonly type: "number";
        readonly readable: true;
        readonly writeable: true;
    }>;
    ReadOnlyNumber: Readonly<{
        readonly writeable: false;
        readonly type: "number";
        readonly readable: true;
    }>;
    WriteOnlyNumber: Readonly<{
        readonly readable: false;
        readonly type: "number";
        readonly writeable: true;
    }>;
    UInt8: Readonly<{
        readonly min: 0;
        readonly max: 255;
        readonly type: "number";
        readonly readable: true;
        readonly writeable: true;
    }>;
    UInt16: Readonly<{
        readonly min: 0;
        readonly max: 65535;
        readonly type: "number";
        readonly readable: true;
        readonly writeable: true;
    }>;
    UInt24: Readonly<{
        readonly min: 0;
        readonly max: 16777215;
        readonly type: "number";
        readonly readable: true;
        readonly writeable: true;
    }>;
    UInt32: Readonly<{
        readonly min: 0;
        readonly max: 4294967295;
        readonly type: "number";
        readonly readable: true;
        readonly writeable: true;
    }>;
    Int8: Readonly<{
        readonly min: -128;
        readonly max: 127;
        readonly type: "number";
        readonly readable: true;
        readonly writeable: true;
    }>;
    Int16: Readonly<{
        readonly min: -32768;
        readonly max: 32767;
        readonly type: "number";
        readonly readable: true;
        readonly writeable: true;
    }>;
    Int24: Readonly<{
        readonly min: -8388608;
        readonly max: 8388607;
        readonly type: "number";
        readonly readable: true;
        readonly writeable: true;
    }>;
    Int32: Readonly<{
        readonly min: -2147483648;
        readonly max: 2147483647;
        readonly type: "number";
        readonly readable: true;
        readonly writeable: true;
    }>;
    ReadOnlyUInt8: Readonly<{
        readonly writeable: false;
        readonly min: 0;
        readonly max: 255;
        readonly type: "number";
        readonly readable: true;
    }>;
    ReadOnlyUInt16: Readonly<{
        readonly writeable: false;
        readonly min: 0;
        readonly max: 65535;
        readonly type: "number";
        readonly readable: true;
    }>;
    ReadOnlyUInt24: Readonly<{
        readonly writeable: false;
        readonly min: 0;
        readonly max: 16777215;
        readonly type: "number";
        readonly readable: true;
    }>;
    ReadOnlyUInt32: Readonly<{
        readonly writeable: false;
        readonly min: 0;
        readonly max: 4294967295;
        readonly type: "number";
        readonly readable: true;
    }>;
    ReadOnlyInt8: Readonly<{
        readonly writeable: false;
        readonly min: -128;
        readonly max: 127;
        readonly type: "number";
        readonly readable: true;
    }>;
    ReadOnlyInt16: Readonly<{
        readonly writeable: false;
        readonly min: -32768;
        readonly max: 32767;
        readonly type: "number";
        readonly readable: true;
    }>;
    ReadOnlyInt24: Readonly<{
        readonly writeable: false;
        readonly min: -8388608;
        readonly max: 8388607;
        readonly type: "number";
        readonly readable: true;
    }>;
    ReadOnlyInt32: Readonly<{
        readonly writeable: false;
        readonly min: -2147483648;
        readonly max: 2147483647;
        readonly type: "number";
        readonly readable: true;
    }>;
    WriteOnlyUInt8: Readonly<{
        readonly readable: false;
        readonly min: 0;
        readonly max: 255;
        readonly type: "number";
        readonly writeable: true;
    }>;
    WriteOnlyUInt16: Readonly<{
        readonly readable: false;
        readonly min: 0;
        readonly max: 65535;
        readonly type: "number";
        readonly writeable: true;
    }>;
    WriteOnlyUInt24: Readonly<{
        readonly readable: false;
        readonly min: 0;
        readonly max: 16777215;
        readonly type: "number";
        readonly writeable: true;
    }>;
    WriteOnlyUInt32: Readonly<{
        readonly readable: false;
        readonly min: 0;
        readonly max: 4294967295;
        readonly type: "number";
        readonly writeable: true;
    }>;
    WriteOnlyInt8: Readonly<{
        readonly readable: false;
        readonly min: -128;
        readonly max: 127;
        readonly type: "number";
        readonly writeable: true;
    }>;
    WriteOnlyInt16: Readonly<{
        readonly readable: false;
        readonly min: -32768;
        readonly max: 32767;
        readonly type: "number";
        readonly writeable: true;
    }>;
    WriteOnlyInt24: Readonly<{
        readonly readable: false;
        readonly min: -8388608;
        readonly max: 8388607;
        readonly type: "number";
        readonly writeable: true;
    }>;
    WriteOnlyInt32: Readonly<{
        readonly readable: false;
        readonly min: -2147483648;
        readonly max: 2147483647;
        readonly type: "number";
        readonly writeable: true;
    }>;
    Level: Readonly<{
        readonly max: 99;
        readonly min: 0;
        readonly type: "number";
        readonly readable: true;
        readonly writeable: true;
    }>;
    ReadOnlyLevel: Readonly<{
        readonly writeable: false;
        readonly max: 99;
        readonly min: 0;
        readonly type: "number";
        readonly readable: true;
    }>;
    WriteOnlyLevel: Readonly<{
        readonly readable: false;
        readonly max: 99;
        readonly min: 0;
        readonly type: "number";
        readonly writeable: true;
    }>;
    Boolean: Readonly<{
        readonly type: "boolean";
        readonly readable: true;
        readonly writeable: true;
    }>;
    ReadOnlyBoolean: Readonly<{
        readonly writeable: false;
        readonly type: "boolean";
        readonly readable: true;
    }>;
    WriteOnlyBoolean: Readonly<{
        readonly readable: false;
        readonly type: "boolean";
        readonly writeable: true;
    }>;
    String: Readonly<{
        readonly type: "string";
        readonly readable: true;
        readonly writeable: true;
    }>;
    ReadOnlyString: Readonly<{
        readonly writeable: false;
        readonly type: "string";
        readonly readable: true;
    }>;
    WriteOnlyString: Readonly<{
        readonly readable: false;
        readonly type: "string";
        readonly writeable: true;
    }>;
    Color: Readonly<{
        readonly type: "color";
        readonly readable: true;
        readonly writeable: true;
    }>;
    ReadOnlyColor: Readonly<{
        readonly writeable: false;
        readonly type: "color";
        readonly readable: true;
    }>;
    WriteOnlyColor: Readonly<{
        readonly readable: false;
        readonly type: "color";
        readonly writeable: true;
    }>;
    Duration: Readonly<{
        readonly type: "duration";
        readonly readable: true;
        readonly writeable: true;
    }>;
    ReadOnlyDuration: Readonly<{
        readonly writeable: false;
        readonly type: "duration";
        readonly readable: true;
    }>;
    WriteOnlyDuration: Readonly<{
        readonly readable: false;
        readonly type: "duration";
        readonly writeable: true;
    }>;
    Buffer: Readonly<{
        readonly type: "buffer";
        readonly readable: true;
        readonly writeable: true;
    }>;
    ReadOnlyBuffer: Readonly<{
        readonly writeable: false;
        readonly type: "buffer";
        readonly readable: true;
    }>;
    WriteOnlyBuffer: Readonly<{
        readable: false;
        type: "buffer";
        writeable: true;
    }>;
};

// Warning: (ae-missing-release-tag) "ValueMetadataAny" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValueMetadataAny {
    ccSpecific?: Record<string, any>;
    default?: any;
    description?: string;
    label?: string;
    readable: boolean;
    secret?: boolean;
    stateful?: boolean;
    type: ValueType;
    valueChangeOptions?: readonly (keyof ValueChangeOptions)[];
    writeable: boolean;
}

// Warning: (ae-missing-release-tag) "ValueMetadataBoolean" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValueMetadataBoolean extends ValueMetadataAny {
    default?: number;
    states?: {
        true?: string;
        false?: string;
    };
    // (undocumented)
    type: "boolean";
}

// Warning: (ae-missing-release-tag) "ValueMetadataBuffer" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValueMetadataBuffer extends ValueMetadataAny {
    maxLength?: number;
    minLength?: number;
    // (undocumented)
    type: "buffer";
}

// Warning: (ae-missing-release-tag) "ValueMetadataDuration" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValueMetadataDuration extends ValueMetadataAny {
    // (undocumented)
    default?: Duration;
    // (undocumented)
    type: "duration";
}

// Warning: (ae-missing-release-tag) "ValueMetadataNumeric" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValueMetadataNumeric extends ValueMetadataAny {
    allowManualEntry?: boolean;
    default?: number;
    max?: number;
    min?: number;
    states?: Record<number, string>;
    steps?: number;
    // (undocumented)
    type: "number";
    unit?: string;
}

// Warning: (ae-missing-release-tag) "ValueMetadataString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValueMetadataString extends ValueMetadataAny {
    default?: string;
    maxLength?: number;
    minLength?: number;
    // (undocumented)
    type: "string" | "color";
}

// Warning: (ae-missing-release-tag) "ValueNotificationArgs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValueNotificationArgs extends ValueID {
    // (undocumented)
    value: unknown;
}

// Warning: (ae-missing-release-tag) "ValueRemovedArgs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValueRemovedArgs extends ValueID {
    // (undocumented)
    prevValue: unknown;
}

// Warning: (ae-missing-release-tag) "ValueType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ValueType = "number" | "boolean" | "string" | "number[]" | "boolean[]" | "string[]" | "duration" | "color" | "buffer" | "any";

// Warning: (ae-missing-release-tag) "ValueUpdatedArgs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValueUpdatedArgs extends ValueID {
    // (undocumented)
    newValue: unknown;
    // (undocumented)
    prevValue: unknown;
    source?: "driver" | "node";
}

// Warning: (ae-missing-release-tag) "VirtualEndpointId" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface VirtualEndpointId {
    // (undocumented)
    readonly index: number;
    // (undocumented)
    readonly nodeId: number | MulticastDestination;
    // (undocumented)
    readonly virtual: true;
}

// Warning: (ae-missing-release-tag) "VirtualNodeId" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface VirtualNodeId extends VirtualEndpointId {
    // (undocumented)
    readonly id: number | undefined;
}

// Warning: (ae-missing-release-tag) "wasControllerReset" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function wasControllerReset(e: unknown): e is ZWaveError & {
    code: ZWaveErrorCodes.Controller_Reset;
};

// Warning: (ae-missing-release-tag) "WithAddress" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type WithAddress<T extends object> = T & CCAddress;

// Warning: (ae-missing-release-tag) "ZnifferProtocolDataRate" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ZnifferProtocolDataRate {
    // (undocumented)
    LongRange_100k = 3,
    // (undocumented)
    ZWave_100k = 2,
    // (undocumented)
    ZWave_40k = 1,
    // (undocumented)
    ZWave_9k6 = 0
}

// Warning: (ae-missing-release-tag) "znifferProtocolDataRateToString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function znifferProtocolDataRateToString(rate: ZnifferProtocolDataRate, includeProtocol?: boolean): string;

// Warning: (ae-missing-release-tag) "ZnifferRegion" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ZnifferRegion {
    // (undocumented)
    "Australia/New Zealand" = 2,
    // (undocumented)
    "Default (EU)" = 255,
    // (undocumented)
    "Europe (Long Range)" = 11,
    // (undocumented)
    "Hong Kong" = 3,
    // (undocumented)
    "USA (Long Range)" = 9,
    // (undocumented)
    "USA (Long Range, backup)" = 10,
    // (undocumented)
    "USA (Long Range, end device)" = 48,
    // (undocumented)
    "China" = 8,
    // (undocumented)
    "Europe" = 0,
    // (undocumented)
    "India" = 5,
    // (undocumented)
    "Israel" = 6,
    // (undocumented)
    "Japan" = 32,
    // (undocumented)
    "Korea" = 33,
    // (undocumented)
    "Russia" = 7,
    // (undocumented)
    "Unknown" = 254,
    // (undocumented)
    "USA" = 1
}

// Warning: (ae-missing-release-tag) "ZnifferRegionLegacy" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum ZnifferRegionLegacy {
    // (undocumented)
    ANZ = 2,
    // (undocumented)
    CN = 29,
    // (undocumented)
    EU = 0,
    // (undocumented)
    HK = 3,
    // (undocumented)
    IL = 27,
    // (undocumented)
    IN = 9,
    // (undocumented)
    JP = 10,
    // (undocumented)
    KR = 28,
    // (undocumented)
    MY = 8,
    // (undocumented)
    RU = 26,
    // (undocumented)
    TF_835_3CH = 24,
    // (undocumented)
    TF_840_3CH = 16,
    // (undocumented)
    TF_850_3CH = 17,
    // (undocumented)
    TF_866 = 4,
    // (undocumented)
    TF_870 = 5,
    // (undocumented)
    TF_878 = 11,
    // (undocumented)
    TF_882 = 12,
    // (undocumented)
    TF_886 = 13,
    // (undocumented)
    TF_906 = 6,
    // (undocumented)
    TF_910 = 7,
    // (undocumented)
    TF_932_3CH = 14,
    // (undocumented)
    TF_940_3CH = 15,
    // (undocumented)
    US = 1
}

// Warning: (ae-missing-release-tag) "ZWaveApiVersion" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ZWaveApiVersion {
    // (undocumented)
    kind: "official" | "legacy";
    // (undocumented)
    version: number;
}

// Warning: (ae-missing-release-tag) "ZWaveDataRate" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ZWaveDataRate {
    // (undocumented)
    "100k" = 3,
    // (undocumented)
    "40k" = 2,
    // (undocumented)
    "9k6" = 1
}

// Warning: (ae-missing-release-tag) "zwaveDataRateToString" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function zwaveDataRateToString(rate: ZWaveDataRate): string;

// Warning: (ae-missing-release-tag) "ZWaveError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class ZWaveError extends Error {
    constructor(message: string, code: ZWaveErrorCodes,
    context?: unknown,
    transactionSource?: string | undefined);
    // (undocumented)
    readonly code: ZWaveErrorCodes;
    readonly context?: unknown;
    // (undocumented)
    readonly message: string;
    readonly transactionSource?: string | undefined;
}

// Warning: (ae-missing-release-tag) "ZWaveErrorCodes" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum ZWaveErrorCodes {
    // (undocumented)
    Argument_Invalid = 322,
    // (undocumented)
    Arithmetic = 321,
    AssociationCC_InvalidGroup = 1300,
    AssociationCC_NotAllowed = 1301,
    // (undocumented)
    CC_Invalid = 300,
    // (undocumented)
    CC_NoAPI = 304,
    // (undocumented)
    CC_NoNodeID = 301,// FIXME: This is not used
    // (undocumented)
    CC_NotImplemented = 303,
    // (undocumented)
    CC_NotSupported = 302,
    CC_OperationFailed = 305,
    Config_CircularImport = 342,
    // (undocumented)
    Config_Invalid = 340,
    // (undocumented)
    Config_NotFound = 341,
    Config_Update_InstallFailed = 345,
    Config_Update_PackageManagerNotFound = 344,
    Config_Update_RegistryError = 343,
    ConfigurationCC_FirstParameterNumber = 1000,
    ConfigurationCC_NoLegacyScanOnNewDevices = 1001,
    ConfigurationCC_NoResetToDefaultOnLegacyDevices = 1002,
    // (undocumented)
    Controller_CallbackNOK = 204,
    Controller_CommandError = 216,
    Controller_EndpointNotFound = 212,
    // (undocumented)
    Controller_ExclusionFailed = 208,
    // (undocumented)
    Controller_InclusionFailed = 207,
    Controller_InterviewRestarted = 210,
    // (undocumented)
    Controller_Jammed = 205,
    // (undocumented)
    Controller_MessageDropped = 202,
    Controller_MessageExpired = 215,
    Controller_MessageTooLarge = 217,
    Controller_NodeInsecureCommunication = 214,
    Controller_NodeNotFound = 211,
    Controller_NodeRemoved = 213,
    Controller_NodeTimeout = 201,
    Controller_NotSupported = 209,
    Controller_NotSupportedForLongRange = 218,
    Controller_Reset = 206,
    // (undocumented)
    Controller_ResponseNOK = 203,
    Controller_Timeout = 200,
    // (undocumented)
    Deserialization_NotImplemented = 320,
    // (undocumented)
    Driver_Destroyed = 102,
    Driver_Failed = 100,
    // (undocumented)
    Driver_FeatureDisabled = 111,
    // (undocumented)
    Driver_InvalidCache = 107,
    // (undocumented)
    Driver_InvalidDataReceived = 104,
    // (undocumented)
    Driver_InvalidOptions = 108,
    // (undocumented)
    Driver_NoErrorHandler = 110,
    // (undocumented)
    Driver_NoPriority = 106,
    Driver_NoSecurity = 109,
    // (undocumented)
    Driver_NotReady = 103,
    // (undocumented)
    Driver_NotSupported = 105,
    // (undocumented)
    Driver_Reset = 101,
    Driver_TaskRemoved = 112,
    FirmwareUpdateCC_Busy = 1500,
    FirmwareUpdateCC_FailedToAbort = 1504,
    FirmwareUpdateCC_FailedToStart = 1503,
    FirmwareUpdateCC_NetworkBusy = 1508,
    FirmwareUpdateCC_NotUpgradable = 1501,
    FirmwareUpdateCC_TargetNotFound = 1502,
    FirmwareUpdateCC_Timeout = 1505,
    FWUpdateService_DeviceMismatch = 263,
    FWUpdateService_IntegrityCheckFailed = 262,
    FWUpdateService_MissingInformation = 260,
    FWUpdateService_RequestError = 261,
    HealthCheck_Busy = 400,
    Invalid_Firmware_File = 1506,
    LinkReliabilityCheck_Busy = 401,
    ManufacturerProprietaryCC_NoManufacturerId = 1200,
    NVM_InvalidFormat = 283,
    NVM_InvalidJSON = 281,
    NVM_NoSpace = 284,
    NVM_NotOpen = 285,
    NVM_NotSupported = 280,
    NVM_ObjectNotFound = 282,
    OTW_Update_Busy = 380,
    // (undocumented)
    PacketFormat_Checksum = 2,
    // (undocumented)
    PacketFormat_DecryptionFailed = 4,
    // (undocumented)
    PacketFormat_Invalid = 1,
    // (undocumented)
    PacketFormat_InvalidPayload = 3,
    // (undocumented)
    PacketFormat_Truncated = 0,
    PowerlevelCC_UnsupportedTestNode = 1600,
    RemoveFailedNode_Failed = 360,
    RemoveFailedNode_NodeOK = 361,
    ReplaceFailedNode_Failed = 362,
    ReplaceFailedNode_NodeOK = 363,
    Security2CC_CannotDecode = 1405,
    Security2CC_CannotDecodeMulticast = 1408,
    Security2CC_InvalidQRCode = 1406,
    Security2CC_MissingExtension = 1404,
    Security2CC_NoMPAN = 1407,
    Security2CC_NoSPAN = 1401,
    Security2CC_NotInitialized = 1402,
    Security2CC_NotSecure = 1403,
    SecurityCC_NoNonce = 1400,
    SupervisionCC_CommandFailed = 1100,
    Unsupported_Firmware_Format = 1507
}

// Warning: (ae-missing-release-tag) "ZWaveLibraryTypes" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ZWaveLibraryTypes {
    // (undocumented)
    "AV Device" = 11,
    // (undocumented)
    "AV Remote" = 10,
    // (undocumented)
    "Bridge Controller" = 7,
    // (undocumented)
    "Device under Test" = 8,
    // (undocumented)
    "Enhanced Slave" = 3,
    // (undocumented)
    "N/A" = 9,
    // (undocumented)
    "Routing Slave" = 6,
    // (undocumented)
    "Static Controller" = 1,
    // (undocumented)
    "Controller" = 2,
    // (undocumented)
    "Installer" = 5,
    // (undocumented)
    "Slave" = 4,
    // (undocumented)
    "Unknown" = 0
}

// Warning: (ae-missing-release-tag) "ZWaveLogContainer" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class ZWaveLogContainer extends winston.Container {
    constructor(config?: Partial<LogConfig>);
    // (undocumented)
    destroy(): void;
    // (undocumented)
    getConfiguration(): LogConfig;
    // (undocumented)
    getLogger(label: string): ZWaveLogger;
    isLoglevelVisible(loglevel: string): boolean;
    shouldLogNode(nodeId: number): boolean;
    // (undocumented)
    updateConfiguration(config: Partial<LogConfig>): void;
}

// Warning: (ae-missing-release-tag) "ZWaveLogger" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ZWaveLogger<TContext extends LogContext = LogContext> = Omit<Logger, "log"> & {
    log: <T extends TContext>(info: ZWaveLogInfo<T>) => void;
};

// Warning: (ae-missing-release-tag) "ZWaveLoggerBase" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class ZWaveLoggerBase<TContext extends LogContext = LogContext> {
    constructor(loggers: ZWaveLogContainer, logLabel: string);
    // (undocumented)
    container: ZWaveLogContainer;
    // (undocumented)
    logger: ZWaveLogger<TContext>;
}

// Warning: (ae-missing-release-tag) "ZWaveLogInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ZWaveLogInfo<TContext extends LogContext = LogContext> extends Omit<TransformableInfo, "message"> {
    // (undocumented)
    context: TContext;
    // (undocumented)
    direction: string;
    // (undocumented)
    label?: string;
    // (undocumented)
    message: string | string[];
    // (undocumented)
    multiline?: boolean;
    primaryTags?: string;
    // (undocumented)
    secondaryTagPadding?: number;
    secondaryTags?: string;
    // (undocumented)
    timestamp?: string;
}

// Warnings were encountered during analysis:
//
// src/security/Manager2.ts:118:79 - (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
// src/security/Manager2.ts:118:98 - (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
// src/security/QR.ts:100:3 - (ae-unresolved-link) The @link reference could not be resolved: The package "@zwave-js/core" does not have an export "requestedSecurityClasses"

// (No @packageDocumentation comment for this package)