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

110 KiB

API Report File for "zwave-js"

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


import { AllOrNone } from '@zwave-js/shared';
import { APIMethodsOf } from '@zwave-js/cc';
import { AssociationAddress } from '@zwave-js/cc';
import { AssociationCheckResult } from '@zwave-js/cc';
import { AssociationGroup } from '@zwave-js/cc';
import { BasicDeviceClass } from '@zwave-js/core/safe';
import { BeamingInfo } from '@zwave-js/core/safe';
import { BeamingInfo as BeamingInfo_2 } from '@zwave-js/core';
import { BootloaderChunk } from '@zwave-js/serial';
import { buffer2hex } from '@zwave-js/shared/safe';
import { Bytes } from '@zwave-js/shared';
import { CCAPIHost } from '@zwave-js/cc';
import { CCAPIs } from '@zwave-js/cc';
import { CCConstructor } from '@zwave-js/cc';
import { CCId } from '@zwave-js/core';
import { CCNameOrId } from '@zwave-js/cc';
import { CommandClass } from '@zwave-js/cc';
import { CommandClasses } from '@zwave-js/core/safe';
import { CommandClasses as CommandClasses_2 } from '@zwave-js/core';
import { CommandClassInfo } from '@zwave-js/core';
import type { CommandClassInfo as CommandClassInfo_2 } from '@zwave-js/core/safe';
import { CommandRequest } from '@zwave-js/serial/serialapi';
import { Comparable } from 'alcalzone-shared/comparable';
import { CompareResult } from 'alcalzone-shared/comparable';
import { ConfigManager } from '@zwave-js/config';
import { ContainsCC } from '@zwave-js/serial/serialapi';
import { containsCC } from '@zwave-js/serial/serialapi';
import { ContainsSerializedCC } from '@zwave-js/serial/serialapi';
import { containsSerializedCC } from '@zwave-js/serial/serialapi';
import { ControllerCapabilities } from '@zwave-js/core';
import { ControllerLogContext } from '@zwave-js/core';
import { ControllerNodeLogContext } from '@zwave-js/core';
import { ControllerRole } from '@zwave-js/core';
import { ControllerSelfLogContext } from '@zwave-js/core';
import { ControllerStatus } from '@zwave-js/core/safe';
import { ControllerStatus as ControllerStatus_2 } from '@zwave-js/core';
import { ControllerValueLogContext } from '@zwave-js/core';
import type { ControlsCC } from '@zwave-js/core';
import { DataDirection } from '@zwave-js/core';
import { DataRate } from '@zwave-js/core/safe';
import { DataRate as DataRate_2 } from '@zwave-js/core';
import { DeepPartial } from '@zwave-js/shared';
import type { DeferredPromise } from 'alcalzone-shared/deferred-promise';
import { DeviceConfig } from '@zwave-js/config';
import { DeviceID } from '@zwave-js/config';
import { Duration } from '@zwave-js/core/safe';
import { Duration as Duration_2 } from '@zwave-js/core';
import { DurationUnit } from '@zwave-js/core/safe';
import type { EndpointId } from '@zwave-js/core';
import { EntryControlDataTypes } from '@zwave-js/cc/safe';
import { EntryControlEventTypes } from '@zwave-js/cc/safe';
import { EventHandler } from '@zwave-js/shared';
import { Expand } from '@zwave-js/shared';
import { Expand as Expand_2 } from '@zwave-js/shared/safe';
import { ExtendedNVMOperationsCommand } from '@zwave-js/serial/serialapi';
import { extractFirmware } from '@zwave-js/core';
import { FileSystem } from '@zwave-js/host/safe';
import type { FileSystem as FileSystem_2 } from '@zwave-js/host';
import { Firmware } from '@zwave-js/core';
import { FirmwareFileFormat } from '@zwave-js/core';
import { FirmwareUpdateCapabilities } from '@zwave-js/cc';
import { FirmwareUpdateMetaDataCCGet } from '@zwave-js/cc';
import { FirmwareUpdateMetaDataCCMetaDataGet } from '@zwave-js/cc';
import { FirmwareUpdateOptions } from '@zwave-js/cc';
import type { FirmwareUpdateProgress } from '@zwave-js/cc/safe';
import type { FirmwareUpdateResult } from '@zwave-js/cc/safe';
import { FirmwareUpdateResult as FirmwareUpdateResult_2 } from '@zwave-js/cc';
import { FirmwareUpdateStatus } from '@zwave-js/cc/safe';
import { FLiRS } from '@zwave-js/core/safe';
import { FLiRS as FLiRS_2 } from '@zwave-js/core';
import { formatId } from '@zwave-js/shared/safe';
import { FunctionType } from '@zwave-js/serial';
import { GenericDeviceClass } from '@zwave-js/core/safe';
import { GetAllEndpoints } from '@zwave-js/core';
import type { GetCCs } from '@zwave-js/core';
import { GetEndpoint } from '@zwave-js/core';
import { getEnumMemberName } from '@zwave-js/shared/safe';
import { GraphNode } from '@zwave-js/core';
import { guessFirmwareFileFormat } from '@zwave-js/core';
import { Interpreter } from 'xstate';
import { InterpreterFrom } from 'xstate';
import { InterviewContext } from '@zwave-js/cc';
import { InterviewStage } from '@zwave-js/core/safe';
import { InterviewStage as InterviewStage_2 } from '@zwave-js/core';
import type { IsCCSecure } from '@zwave-js/core';
import { isCommandRequest } from '@zwave-js/serial/serialapi';
import { isMessageWithCC } from '@zwave-js/serial/serialapi';
import { isRssiError } from '@zwave-js/core/safe';
import { JSONObject } from '@zwave-js/shared/safe';
import { JSONObject as JSONObject_2 } from '@zwave-js/shared';
import { KEXFailType } from '@zwave-js/cc';
import { LogConfig } from '@zwave-js/core';
import { LogContext } from '@zwave-js/core';
import { LogNodeOptions } from '@zwave-js/core';
import { LongRangeChannel } from '@zwave-js/core';
import { MaybeNotKnown } from '@zwave-js/core';
import { MaybeUnknown } from '@zwave-js/core';
import { Message } from '@zwave-js/serial';
import { MessageHeaders } from '@zwave-js/serial';
import { MessageOptions } from '@zwave-js/serial';
import { MessageOrCCLogEntry } from '@zwave-js/core';
import { MessagePriority } from '@zwave-js/core';
import { MessageType } from '@zwave-js/serial';
import { MessageWithCC } from '@zwave-js/serial/serialapi';
import type { MetadataUpdatedArgs } from '@zwave-js/core/safe';
import { MockControllerBehavior } from '@zwave-js/testing';
import { MockNodeBehavior } from '@zwave-js/testing';
import type { ModifyCCs } from '@zwave-js/core';
import { MPDUHeaderType } from '@zwave-js/core/safe';
import { MPDUHeaderType as MPDUHeaderType_2 } from '@zwave-js/core';
import { MulticastDestination } from '@zwave-js/core/safe';
import { MultilevelSwitchCommand } from '@zwave-js/cc/safe';
import { NODE_ID_BROADCAST } from '@zwave-js/core/safe';
import { NODE_ID_BROADCAST as NODE_ID_BROADCAST_2 } from '@zwave-js/core';
import { NODE_ID_BROADCAST_LR } from '@zwave-js/core/safe';
import { NODE_ID_BROADCAST_LR as NODE_ID_BROADCAST_LR_2 } from '@zwave-js/core';
import { NODE_ID_MAX } from '@zwave-js/core/safe';
import { NodeId } from '@zwave-js/core/safe';
import { NodeIDType } from '@zwave-js/core';
import { NodeSchedulePollOptions } from '@zwave-js/host';
import { NodeStatus } from '@zwave-js/core/safe';
import { NodeType } from '@zwave-js/core/safe';
import { NodeType as NodeType_2 } from '@zwave-js/core';
import { NodeUpdatePayload } from '@zwave-js/core';
import type { NotificationCCReport } from '@zwave-js/cc/NotificationCC';
import { num2hex } from '@zwave-js/shared/safe';
import { NVMAdapter } from '@zwave-js/nvmedit';
import { NVMId } from '@zwave-js/serial/serialapi';
import { parseQRCodeString } from '@zwave-js/core';
import { PersistValuesContext } from '@zwave-js/cc';
import { Powerlevel } from '@zwave-js/cc/safe';
import { Powerlevel as Powerlevel_2 } from '@zwave-js/cc';
import { PowerlevelTestStatus } from '@zwave-js/cc/safe';
import { ProtocolDataRate } from '@zwave-js/core/safe';
import type { ProtocolDataRate as ProtocolDataRate_2 } from '@zwave-js/core';
import { protocolDataRateToString } from '@zwave-js/core';
import { Protocols } from '@zwave-js/core';
import type { Protocols as Protocols_2 } from '@zwave-js/core/safe';
import { ProtocolType } from '@zwave-js/core';
import { ProtocolVersion } from '@zwave-js/core/safe';
import { ProtocolVersion as ProtocolVersion_2 } from '@zwave-js/core';
import { QRCodeVersion } from '@zwave-js/core';
import { QRProvisioningInformation } from '@zwave-js/core';
import { QuerySecurityClasses } from '@zwave-js/core';
import { ReadonlyObjectKeyMap } from '@zwave-js/shared';
import { ReadonlyThrowingMap } from '@zwave-js/shared';
import { RefreshValuesContext } from '@zwave-js/cc';
import { ResponsePredicate } from '@zwave-js/serial';
import { ResponseRole } from '@zwave-js/serial';
import { RFRegion } from '@zwave-js/core/safe';
import { RFRegion as RFRegion_2 } from '@zwave-js/core';
import { RFRegionInfo } from '@zwave-js/core';
import { Route } from '@zwave-js/core';
import { RouteKind } from '@zwave-js/core';
import { RouteProtocolDataRate } from '@zwave-js/core';
import { RSSI } from '@zwave-js/core/safe';
import { RSSI as RSSI_2 } from '@zwave-js/core';
import { RssiError } from '@zwave-js/core/safe';
import { rssiToString } from '@zwave-js/core';
import { Scale } from '@zwave-js/core/safe';
import type { SecurityClass } from '@zwave-js/core/safe';
import { SecurityClass as SecurityClass_2 } from '@zwave-js/core';
import { SecurityManager } from '@zwave-js/core';
import { SecurityManager2 } from '@zwave-js/core';
import { SendCommandOptions } from '@zwave-js/core';
import { SendCommandReturnType } from '@zwave-js/core';
import { SendDataBridgeRequest } from '@zwave-js/serial/serialapi';
import { SendDataMessage } from '@zwave-js/serial/serialapi';
import { SendDataMulticastBridgeRequest } from '@zwave-js/serial/serialapi';
import { SendDataMulticastRequest } from '@zwave-js/serial/serialapi';
import { SendDataRequest } from '@zwave-js/serial/serialapi';
import { SendMessageOptions } from '@zwave-js/core';
import { Sensor } from '@zwave-js/core/safe';
import { SerialApiInitData } from '@zwave-js/core';
import { SerialAPISetup_GetPowerlevelResponse } from '@zwave-js/serial/serialapi';
import { SerialAPISetupCommand } from '@zwave-js/serial/serialapi';
import type { SerializedValue } from '@zwave-js/core/safe';
import type { SerialPort } from 'serialport';
import { SetbackState } from '@zwave-js/cc';
import { SetSecurityClass } from '@zwave-js/core';
import { SetValueAPIOptions } from '@zwave-js/cc';
import { SetValueResult } from '@zwave-js/cc/safe';
import { SpecificDeviceClass } from '@zwave-js/core/safe';
import { StateMachine } from 'xstate';
import type { SupportsCC } from '@zwave-js/core';
import { SupportsCC as SupportsCC_2 } from '@zwave-js/core/safe';
import { Switchpoint } from '@zwave-js/cc';
import { TransactionProgress } from '@zwave-js/core';
import { TransactionProgressListener } from '@zwave-js/core';
import { TranslatedValueID } from '@zwave-js/core/safe';
import { TranslatedValueID as TranslatedValueID_2 } from '@zwave-js/core';
import { TransmitStatus } from '@zwave-js/core';
import { TXReport } from '@zwave-js/core/safe';
import { TypedEventEmitter } from '@zwave-js/shared';
import { UnknownZWaveChipType } from '@zwave-js/core';
import * as util from 'node:util';
import type { ValueAddedArgs } from '@zwave-js/core/safe';
import { ValueDB } from '@zwave-js/core';
import { ValueID } from '@zwave-js/core/safe';
import { ValueID as ValueID_2 } from '@zwave-js/core';
import { ValueMetadata } from '@zwave-js/core/safe';
import { ValueMetadata as ValueMetadata_2 } from '@zwave-js/core';
import { ValueMetadataAny } from '@zwave-js/core/safe';
import { ValueMetadataBoolean } from '@zwave-js/core/safe';
import { ValueMetadataNumeric } from '@zwave-js/core/safe';
import { ValueMetadataString } from '@zwave-js/core/safe';
import type { ValueNotificationArgs } from '@zwave-js/core/safe';
import type { ValueRemovedArgs } from '@zwave-js/core/safe';
import { ValueType } from '@zwave-js/core/safe';
import type { ValueUpdatedArgs } from '@zwave-js/core/safe';
import { VirtualEndpointId } from '@zwave-js/core/safe';
import type { Weekday } from '@zwave-js/cc/safe';
import { ZnifferDataMessage } from '@zwave-js/serial';
import { ZnifferFrameInfo } from '@zwave-js/serial';
import { ZnifferProtocolDataRate } from '@zwave-js/core';
import { ZnifferRegion } from '@zwave-js/core';
import { ZWaveApiVersion } from '@zwave-js/core/safe';
import { ZWaveApiVersion as ZWaveApiVersion_2 } from '@zwave-js/core';
import { ZWaveDataRate } from '@zwave-js/core';
import { ZWaveError } from '@zwave-js/core/safe';
import { ZWaveError as ZWaveError_2 } from '@zwave-js/core';
import { ZWaveErrorCodes } from '@zwave-js/core/safe';
import type { ZWaveHostOptions } from '@zwave-js/host';
import { ZWaveLibraryTypes } from '@zwave-js/core/safe';
import { ZWaveLibraryTypes as ZWaveLibraryTypes_2 } from '@zwave-js/core';
import { ZWavePlusNodeType } from '@zwave-js/cc';
import { ZWavePlusRoleType } from '@zwave-js/cc';
import type { ZWaveSerialPortBase } from '@zwave-js/serial';
import { ZWaveSerialPortImplementation } from '@zwave-js/serial';

// Warning: (ae-missing-release-tag) "BeamFrame" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type BeamFrame = {
    channel: number;
} & ({
    protocol: Protocols.ZWave;
    type: ZWaveFrameType.BeamStart;
    protocolDataRate: ZnifferProtocolDataRate;
    rssiRaw: number;
    rssi?: RSSI_2;
    region: ZnifferRegion;
    homeIdHash?: number;
    destinationNodeId: number;
} | {
    protocol: Protocols.ZWaveLongRange;
    type: LongRangeFrameType.BeamStart;
    protocolDataRate: ZnifferProtocolDataRate;
    rssiRaw: number;
    rssi?: RSSI_2;
    region: ZnifferRegion;
    txPower: number;
    homeIdHash: number;
    destinationNodeId: number;
} | {
    protocol: Protocols.ZWave;
    type: ZWaveFrameType.BeamStop;
} | {
    protocol: Protocols.ZWaveLongRange;
    type: LongRangeFrameType.BeamStop;
});

export { BeamingInfo }

export { buffer2hex }

export { CommandRequest }

export { ContainsCC }

export { containsCC }

export { ContainsSerializedCC }

export { containsSerializedCC }

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

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

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

// Warning: (ae-missing-release-tag) "ControllerFirmwareUpdateStatus" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ControllerFirmwareUpdateStatus {
    Error_Aborted = 2,
    Error_NotSupported = 3,
    Error_RetryLimitReached = 1,
    // (undocumented)
    Error_Timeout = 0,
    // (undocumented)
    OK = 255
}

export { ControllerLogContext }

export { ControllerNodeLogContext }

export { ControllerSelfLogContext }

// Warning: (ae-missing-release-tag) "ControllerStatistics" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface ControllerStatistics {
    backgroundRSSI?: {
        timestamp: number;
        channel0: {
            average: number;
            current: number;
        };
        channel1: {
            average: number;
            current: number;
        };
        channel2?: {
            average: number;
            current: number;
        };
        channel3?: {
            average: number;
            current: number;
        };
    };
    CAN: number;
    messagesDroppedRX: number;
    messagesDroppedTX: number;
    messagesRX: number;
    messagesTX: number;
    NAK: number;
    timeoutACK: number;
    timeoutCallback: number;
    timeoutResponse: number;
}

export { ControllerStatus }

export { ControllerValueLogContext }

// Warning: (ae-missing-release-tag) "CorruptedFrame" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type CorruptedFrame = {
    channel: number;
    region: number;
    rssiRaw: number;
    rssi?: RSSI_2;
    protocolDataRate: ZnifferProtocolDataRate;
    payload: Uint8Array;
};

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

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

export { DataRate }

// Warning: (ae-missing-release-tag) "DateAndTime" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DateAndTime = AllOrNone<{
    hour: number;
    minute: number;
}> & ({
    weekday?: Weekday;
    second?: undefined;
} | {
    weekday?: undefined;
    second?: number;
}) & AllOrNone<{
    year: number;
    month: number;
    day: number;
}> & AllOrNone<{
    dstOffset: number;
    standardOffset: number;
}>;

// Warning: (ae-missing-release-tag) "DeviceClass" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class DeviceClass {
    constructor(basic: BasicDeviceClass, generic: number, specific: number);
    // (undocumented)
    readonly basic: BasicDeviceClass;
    // (undocumented)
    readonly generic: GenericDeviceClass;
    // (undocumented)
    readonly specific: SpecificDeviceClass;
    // (undocumented)
    toJSON(): JSONObject;
}

// Warning: (ae-forgotten-export) The symbol "DriverEventCallbacks" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "Driver" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class Driver extends TypedEventEmitter<DriverEventCallbacks> implements CCAPIHost, InterviewContext, RefreshValuesContext, PersistValuesContext {
    // (undocumented)
    [util.inspect.custom](): string;
    constructor(port: string | ZWaveSerialPortImplementation, ...optionsAndPresets: (PartialZWaveOptions | undefined)[]);
    get allNodesReady(): boolean;
    // (undocumented)
    readonly cacheDir: string;
    checkForConfigUpdates(silent?: boolean): Promise<string | undefined>;
    computeNetCCPayloadSize(commandOrMsg: CommandClass | (SendDataRequest | SendDataBridgeRequest) & ContainsCC, ignoreEncapsulation?: boolean): number;
    // (undocumented)
    readonly configManager: ConfigManager;
    // (undocumented)
    get configVersion(): string;
    get controller(): ZWaveController;
    createSendDataMessage(command: CommandClass, options?: Omit<SendCommandOptions, keyof SendMessageOptions>): SendDataMessage & ContainsCC;
    destroy(): Promise<void>;
    disableStatistics(): void;
    // Warning: (ae-forgotten-export) The symbol "AppInfo" needs to be exported by the entry point index.d.ts
    enableStatistics(appInfo: Pick<AppInfo, "applicationName" | "applicationVersion">): 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
    static enumerateSerialPorts({ local, remote, }?: {
        local?: boolean;
        remote?: boolean;
    }): Promise<string[]>;
    // (undocumented)
    exceedsMaxPayloadLength(msg: SendDataMessage): boolean;
    getCommunicationTimeouts(): ZWaveHostOptions["timeouts"];
    getConservativeWaitTimeAfterFirmwareUpdate(advertisedWaitTime: number | undefined): number;
    // (undocumented)
    getDeviceConfig(nodeId: number): DeviceConfig | undefined;
    // (undocumented)
    getHighestSecurityClass(nodeId: number): MaybeNotKnown<SecurityClass_2>;
    getInterviewOptions(): ZWaveHostOptions["interview"];
    getLogConfig(): LogConfig;
    getMaxPayloadLength(msg: SendDataMessage): number;
    readonly getNextCallbackId: () => number;
    getNextSupervisionSessionId(nodeId: number): number;
    readonly getNextTransportServiceSessionId: () => number;
    getReportTimeout(msg: Message): number;
    // 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
    getSafeCCVersion(cc: CommandClasses_2, nodeId: number, endpointIndex?: number): number | undefined;
    getSendDataMulticastConstructor(): typeof SendDataMulticastRequest | typeof SendDataMulticastBridgeRequest;
    getSendDataSinglecastConstructor(): typeof SendDataRequest | typeof SendDataBridgeRequest;
    // 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
    getSupportedCCVersion(cc: CommandClasses_2, nodeId: number, endpointIndex?: number): number;
    getUserAgentStringWithComponents(components?: Record<string, string | null | undefined>): string;
    getUserPreferences(): ZWaveHostOptions["preferences"];
    getValueDB(nodeId: number): ValueDB;
    hardReset(): Promise<void>;
    // Warning: (ae-forgotten-export) The symbol "Transaction" needs to be exported by the entry point index.d.ts
    hasPendingTransactions(predicate: (t: Transaction) => boolean): boolean;
    // (undocumented)
    hasSecurityClass(nodeId: number, securityClass: SecurityClass_2): MaybeNotKnown<boolean>;
    get homeId(): number;
    installConfigUpdate(): Promise<boolean>;
    // 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
    isCCSecure(ccId: CommandClasses_2, nodeId: number, endpointIndex?: number): boolean;
    // (undocumented)
    isInBootloader(): boolean;
    // (undocumented)
    logNode(nodeId: number, message: string, level?: LogNodeOptions["level"]): void;
    // (undocumented)
    logNode(nodeId: number, options: LogNodeOptions): void;
    // (undocumented)
    lookupManufacturer(manufacturerId: number): string | undefined;
    // (undocumented)
    get options(): Readonly<ZWaveOptions>;
    get ownNodeId(): number;
    get queueIdle(): boolean;
    get ready(): boolean;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    registerCommandHandler<T extends CCId>(predicate: (cc: CCId) => boolean, handler: (cc: T) => void): {
        unregister: () => 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
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    // Warning: (ae-forgotten-export) The symbol "RequestHandler" needs to be exported by the entry point index.d.ts
    registerRequestHandler<T extends Message>(fnType: FunctionType, handler: RequestHandler<T>, oneTime?: boolean): void;
    resetAllSPANs(): void;
    resetSPAN(nodeId: number): void;
    restoreNetworkStructureFromCache(): Promise<void>;
    schedulePoll(nodeId: number, valueId: ValueID_2, options: NodeSchedulePollOptions): boolean;
    // Warning: (ae-forgotten-export) The symbol "TaskScheduler" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    get scheduler(): TaskScheduler;
    get securityManager(): SecurityManager | undefined;
    get securityManager2(): SecurityManager2 | undefined;
    get securityManagerLR(): SecurityManager2 | 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-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "SupervisionResult"
    sendCommand<TResponse extends CCId | undefined = undefined>(command: CommandClass, options?: SendCommandOptions): Promise<SendCommandReturnType<TResponse>>;
    // 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
    sendMessage<TResponse extends Message = Message>(msg: Message, options?: SendMessageOptions): Promise<TResponse>;
    sendTestFrame(nodeId: number, powerlevel: Powerlevel_2): Promise<TransmitStatus | undefined>;
    setPreferredScales(scales: ZWaveOptions["preferences"]["scales"]): void;
    setSecurityClass(nodeId: number, securityClass: SecurityClass_2, granted: boolean): void;
    shutdown(): Promise<boolean>;
    softReset(): Promise<void>;
    start(): Promise<void>;
    get statisticsEnabled(): boolean;
    // (undocumented)
    tryGetEndpoint(cc: CommandClass): Endpoint | undefined;
    // (undocumented)
    tryGetNode(msg: Message): ZWaveNode | undefined;
    tryGetValueDB(nodeId: number): ValueDB | undefined;
    trySoftReset(): Promise<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
    unregisterRequestHandler(fnType: FunctionType, handler: RequestHandler): void;
    // (undocumented)
    unwrapCommands(msg: Message & ContainsCC): void;
    updateLogConfig(config: Partial<LogConfig>): void;
    updateOptions(options: EditableZWaveOptions): void;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    updateUserAgent(components: Record<string, string | null | undefined>): void;
    get userAgent(): string;
    // 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
    waitForBootloaderChunk<T extends BootloaderChunk>(predicate: (chunk: BootloaderChunk) => boolean, timeout: number): Promise<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
    waitForCommand<T extends CCId>(predicate: (cc: CCId) => boolean, timeout: number): Promise<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: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "waitForCommand"
    waitForMessage<T extends Message>(predicate: (msg: Message) => boolean, timeout: number, refreshPredicate?: (msg: Message) => boolean): Promise<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
    waitForMessageHeader(predicate: (header: MessageHeaders) => boolean, timeout: number): Promise<MessageHeaders>;
}

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

// Warning: (ae-missing-release-tag) "driverPresets" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const driverPresets: Readonly<{
    readonly SAFE_MODE: {
        readonly timeouts: {
            readonly response: 60000;
            readonly sendDataAbort: 60000;
            readonly sendDataCallback: 65000;
            readonly report: 10000;
            readonly nonce: 20000;
        };
        readonly attempts: {
            readonly sendData: 5;
            readonly sendDataJammed: 10;
            readonly nodeInterview: 10;
        };
    };
    readonly NO_CONTROLLER_RECOVERY: {
        readonly features: {
            readonly unresponsiveControllerRecovery: false;
        };
    };
    readonly NO_WATCHDOG: {
        readonly features: {
            readonly watchdog: false;
        };
    };
    readonly BATTERY_SAVE: {
        readonly timeouts: {
            readonly sendToSleep: 100;
        };
    };
    readonly AWAKE_LONGER: {
        readonly timeouts: {
            readonly sendToSleep: 1000;
        };
    };
}>;

export { Duration }

export { DurationUnit }

// Warning: (ae-missing-release-tag) "EditableZWaveOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type EditableZWaveOptions = Expand<Pick<PartialZWaveOptions, "disableOptimisticValueUpdate" | "emitValueUpdateAfterSetValue" | "inclusionUserCallbacks" | "joinNetworkUserCallbacks" | "interview" | "logConfig" | "preferences" | "vendor"> & {
    userAgent?: Record<string, string | null | undefined>;
}>;

// Warning: (ae-missing-release-tag) "Endpoint" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class Endpoint implements EndpointId, SupportsCC, ControlsCC, IsCCSecure, ModifyCCs, GetCCs {
    constructor(
    nodeId: number,
    driver: Driver,
    index: number, deviceClass?: DeviceClass, supportedCCs?: CommandClasses_2[]);
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    addCC(cc: CommandClasses_2, info: Partial<CommandClassInfo>): void;
    buildCCInterviewGraph(skipCCs: CommandClasses_2[]): GraphNode<CommandClasses_2>[];
    get commandClasses(): CCAPIs;
    controlsCC(cc: CommandClasses_2): boolean;
    createCCInstance<T extends CommandClass>(cc: CommandClasses_2 | CCConstructor<T>): T | undefined;
    createCCInstanceUnsafe<T extends CommandClass>(cc: CommandClasses_2 | CCConstructor<T>): T | undefined;
    // (undocumented)
    get deviceClass(): MaybeNotKnown<DeviceClass>;
    protected set deviceClass(deviceClass: MaybeNotKnown<DeviceClass>);
    protected readonly driver: Driver;
    get endpointLabel(): string | undefined;
    // (undocumented)
    getCCs(): Iterable<[ccId: CommandClasses_2, info: CommandClassInfo]>;
    getCCVersion(cc: CommandClasses_2): number;
    getSupportedCCInstances(): readonly CommandClass[];
    readonly index: number;
    get installerIcon(): MaybeNotKnown<number>;
    invokeCCAPI<CC extends CCNameOrId, TMethod extends keyof TAPI, TAPI extends Record<string, (...args: any[]) => any> = CommandClasses_2 extends CC ? any : Omit<CCNameOrId, CommandClasses_2> extends CC ? any : APIMethodsOf<CC>>(cc: CC, method: TMethod, ...args: Parameters<TAPI[TMethod]>): ReturnType<TAPI[TMethod]>;
    isCCSecure(cc: CommandClasses_2): boolean;
    maySupportBasicCC(): boolean;
    readonly nodeId: number;
    removeCC(cc: CommandClasses_2): void;
    protected reset(): void;
    supportsCC(cc: CommandClasses_2): boolean;
    supportsCCAPI(cc: CCNameOrId): boolean;
    tryGetNode(): ZWaveNode | undefined;
    get userIcon(): MaybeNotKnown<number>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "IZWaveEndpoint"
    readonly virtual = false;
    wasCCRemovedViaConfig(cc: CommandClasses_2): boolean;
}

export { EntryControlDataTypes }

export { EntryControlEventTypes }

// Warning: (ae-missing-release-tag) "ExclusionOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ExclusionOptions = {
    strategy: ExclusionStrategy.ExcludeOnly | ExclusionStrategy.DisableProvisioningEntry | ExclusionStrategy.Unprovision;
};

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

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

export { extractFirmware }

export { FileSystem }

export { Firmware }

export { FirmwareFileFormat }

// Warning: (ae-missing-release-tag) "FirmwareUpdateDeviceID" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type FirmwareUpdateDeviceID = Expand_2<DeviceID & {
    firmwareVersion: string;
    rfRegion?: RFRegion_2;
}>;

// Warning: (ae-missing-release-tag) "FirmwareUpdateFileInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FirmwareUpdateFileInfo {
    // (undocumented)
    integrity: `sha256:${string}`;
    // (undocumented)
    target: number;
    // (undocumented)
    url: string;
}

// Warning: (ae-forgotten-export) The symbol "FirmwareUpdateServiceResponse" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "FirmwareUpdateInfo" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type FirmwareUpdateInfo = Expand_2<FirmwareUpdateServiceResponse & {
    device: FirmwareUpdateDeviceID;
}>;

export { FirmwareUpdateStatus }

export { FLiRS }

export { formatId }

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

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

// Warning: (ae-missing-release-tag) "formatRouteHealthCheckRound" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function formatRouteHealthCheckRound(sourceNodeId: number, targetNodeId: number, round: number, numRounds: number, result: RouteHealthCheckResult): string;

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

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

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

export { FunctionType }

export { getEnumMemberName }

// Warning: (ae-missing-release-tag) "GetFirmwareUpdatesOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface GetFirmwareUpdatesOptions {
    additionalUserAgentComponents?: Record<string, string>;
    apiKey?: string;
    includePrereleases?: boolean;
}

export { guessFirmwareFileFormat }

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

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

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

// Warning: (ae-missing-release-tag) "InclusionOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type InclusionOptions = {
    strategy: InclusionStrategy.Default;
    userCallbacks?: InclusionUserCallbacks;
    forceSecurity?: boolean;
} | {
    strategy: InclusionStrategy.Security_S2;
    dsk?: string;
    userCallbacks?: InclusionUserCallbacks;
} | {
    strategy: InclusionStrategy.Security_S2;
    provisioning?: PlannedProvisioningEntry;
} | {
    strategy: InclusionStrategy.Insecure | InclusionStrategy.Security_S0;
};

// Warning: (ae-missing-release-tag) "InclusionResult" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type InclusionResult = {
    lowSecurity?: false;
} | {
    lowSecurity: true;
    lowSecurityReason: SecurityBootstrapFailure;
};

// Warning: (ae-missing-release-tag) "InclusionState" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum InclusionState {
    Busy = 3,
    Excluding = 2,
    Idle = 0,
    Including = 1,
    SmartStart = 4
}

// Warning: (ae-missing-release-tag) "InclusionStrategy" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum InclusionStrategy {
    Default = 0,
    Insecure = 2,
    Security_S0 = 3,
    Security_S2 = 4,
    SmartStart = 1
}

// Warning: (ae-missing-release-tag) "InclusionUserCallbacks" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface InclusionUserCallbacks {
    abort(): void;
    grantSecurityClasses(requested: InclusionGrant): Promise<InclusionGrant | false>;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    validateDSKAndEnterPIN(dsk: string): Promise<string | false>;
}

export { InterviewStage }

export { isCommandRequest }

export { isMessageWithCC }

export { isRssiError }

// Warning: (ae-missing-release-tag) "JoinNetworkOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type JoinNetworkOptions = {
    strategy: JoinNetworkStrategy.Default;
    userCallbacks?: JoinNetworkUserCallbacks;
};

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

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

// Warning: (ae-missing-release-tag) "JoinNetworkUserCallbacks" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface JoinNetworkUserCallbacks {
    done(): void;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    showDSK(dsk: string): void;
}

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

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

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

// Warning: (ae-missing-release-tag) "LifelineHealthCheckResult" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface LifelineHealthCheckResult {
    failedPingsController?: number;
    failedPingsNode: number;
    latency: number;
    minPowerlevel?: Powerlevel;
    // Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
    numNeighbors?: number;
    rating: number;
    routeChanges?: number;
    snrMargin?: number;
}

// Warning: (ae-missing-release-tag) "LifelineHealthCheckSummary" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LifelineHealthCheckSummary {
    // Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
    // Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
    // Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
    // Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
    rating: number;
    results: LifelineHealthCheckResult[];
}

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

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

// Warning: (ae-missing-release-tag) "LinkReliabilityCheckOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LinkReliabilityCheckOptions {
    // (undocumented)
    interval: number;
    // (undocumented)
    mode: LinkReliabilityCheckMode;
    // (undocumented)
    onProgress?: (progress: LinkReliabilityCheckResult) => void;
    // (undocumented)
    rounds?: number;
}

// Warning: (ae-missing-release-tag) "LinkReliabilityCheckResult" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LinkReliabilityCheckResult {
    // (undocumented)
    ackRSSI: {
        min: number;
        max: number;
        average: number;
    };
    // (undocumented)
    commandErrors: number;
    // (undocumented)
    commandsSent: number;
    // (undocumented)
    latency?: {
        min: number;
        max: number;
        average: number;
    };
    // (undocumented)
    missingResponses?: number;
    // (undocumented)
    responseRSSI?: {
        min: number;
        max: number;
        average: number;
    };
    // (undocumented)
    rounds: number;
    // (undocumented)
    rtt: {
        min: number;
        max: number;
        average: number;
    };
}

// Warning: (ae-missing-release-tag) "LongRangeFrame" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LongRangeFrame = {
    protocol: Protocols.ZWaveLongRange;
    channel: number;
    region: ZnifferRegion;
    protocolDataRate: ZnifferProtocolDataRate;
    rssiRaw: number;
    rssi?: RSSI_2;
    noiseFloor: RSSI_2;
    txPower: number;
    sequenceNumber: number;
    homeId: number;
    sourceNodeId: number;
    destinationNodeId: number;
} & ({
    type: LongRangeFrameType.Singlecast;
    ackRequested: boolean;
    payload: Uint8Array | CommandClass;
} | {
    type: LongRangeFrameType.Broadcast;
    destinationNodeId: typeof NODE_ID_BROADCAST_LR_2;
    ackRequested: boolean;
    payload: Uint8Array | CommandClass;
} | {
    type: LongRangeFrameType.Ack;
    incomingRSSI: RSSI_2;
    payload: Uint8Array;
});

// Warning: (ae-missing-release-tag) "LongRangeFrameType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum LongRangeFrameType {
    // (undocumented)
    Ack = 1,
    // (undocumented)
    BeamStart = 2,
    // (undocumented)
    BeamStop = 3,
    // (undocumented)
    Broadcast = 4,
    // (undocumented)
    Singlecast = 0
}

// Warning: (ae-missing-release-tag) "LongRangeMPDU" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class LongRangeMPDU implements MPDU {
    // Warning: (ae-forgotten-export) The symbol "MPDUOptions" needs to be exported by the entry point index.d.ts
    constructor(options: MPDUOptions);
    // (undocumented)
    readonly ackRequested: boolean;
    // (undocumented)
    readonly destinationNodeId: number;
    // (undocumented)
    readonly frameInfo: ZnifferFrameInfo;
    // (undocumented)
    static from(msg: ZnifferDataMessage): LongRangeMPDU;
    // (undocumented)
    readonly headerType: MPDUHeaderType_2;
    // (undocumented)
    readonly homeId: number;
    // (undocumented)
    readonly noiseFloor: RSSI_2;
    // (undocumented)
    payload: Bytes;
    // (undocumented)
    readonly sequenceNumber: number;
    // (undocumented)
    readonly sourceNodeId: number;
    // (undocumented)
    toLogEntry(): MessageOrCCLogEntry;
    // (undocumented)
    readonly txPower: number;
}

export { Message }

export { MessageOptions }

export { MessagePriority }

export { MessageType }

export { MessageWithCC }

// Warning: (ae-missing-release-tag) "MPDU" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MPDU {
    // (undocumented)
    ackRequested: boolean;
    // (undocumented)
    frameInfo: ZnifferFrameInfo;
    // (undocumented)
    headerType: MPDUHeaderType_2;
    // (undocumented)
    homeId: number;
    // (undocumented)
    payload: Bytes;
    // (undocumented)
    sequenceNumber: number;
    // (undocumented)
    sourceNodeId: number;
}

export { MPDUHeaderType }

export { MultilevelSwitchCommand }

export { NODE_ID_BROADCAST }

export { NODE_ID_BROADCAST_LR }

export { NODE_ID_MAX }

// Warning: (ae-missing-release-tag) "NodeDump" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface NodeDump {
    // Warning: (ae-forgotten-export) The symbol "CommandClassDump" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    commandClasses: Record<string, CommandClassDump>;
    // (undocumented)
    compatFlags?: JSONObject_2;
    // (undocumented)
    configFileName?: string;
    // (undocumented)
    description?: string;
    // Warning: (ae-forgotten-export) The symbol "DeviceClassesDump" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    deviceClass: DeviceClassesDump | "unknown";
    // (undocumented)
    dsk?: string;
    // Warning: (ae-forgotten-export) The symbol "EndpointDump" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    endpoints?: Record<number, EndpointDump>;
    // (undocumented)
    fingerprint: {
        manufacturerId: string;
        productType: string;
        productId: string;
        firmwareVersion: string;
        hardwareVersion?: number;
    };
    // (undocumented)
    id: number;
    // (undocumented)
    interviewStage: string;
    // (undocumented)
    isFrequentListening: FLiRS | "unknown";
    // (undocumented)
    isListening: boolean | "unknown";
    // (undocumented)
    isRouting: boolean | "unknown";
    // (undocumented)
    label?: string;
    // (undocumented)
    manufacturer?: string;
    // (undocumented)
    maySupportBasicCC: boolean;
    // (undocumented)
    protocol: string;
    // (undocumented)
    protocolVersion: string;
    // (undocumented)
    ready: boolean;
    // (undocumented)
    sdkVersion: string;
    // (undocumented)
    securityClasses: Record<string, boolean | "unknown">;
    // (undocumented)
    supportedDataRates: DataRate[] | "unknown";
    // (undocumented)
    supportedProtocols?: string[];
    // (undocumented)
    supportsBeaming: boolean | "unknown";
    // (undocumented)
    supportsSecurity: boolean | "unknown";
}

// Warning: (ae-missing-release-tag) "NodeInterviewFailedEventArgs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type NodeInterviewFailedEventArgs = {
    errorMessage: string;
    isFinal: boolean;
} & AllOrNone<{
    attempt: number;
    maxAttempts: number;
}>;

// Warning: (ae-missing-release-tag) "NodeStatistics" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface NodeStatistics {
    commandsDroppedRX: number;
    commandsDroppedTX: number;
    commandsRX: number;
    commandsTX: number;
    lastSeen?: Date;
    lwr?: RouteStatistics;
    nlwr?: RouteStatistics;
    rssi?: RSSI_2;
    rtt?: number;
    timeoutResponse: number;
}

export { NodeStatus }

export { NodeType }

export { num2hex }

// Warning: (ae-missing-release-tag) "parseMPDU" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function parseMPDU(frame: ZnifferDataMessage): ZWaveMPDU | LongRangeMPDU;

export { parseQRCodeString }

// Warning: (ae-missing-release-tag) "PartialZWaveOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type PartialZWaveOptions = Expand<DeepPartial<Omit<ZWaveOptions, "inclusionUserCallbacks" | "joinNetworkUserCallbacks" | "logConfig" | "testingHooks">> & Partial<Pick<ZWaveOptions, "testingHooks" | "vendor">> & {
    inclusionUserCallbacks?: ZWaveOptions["inclusionUserCallbacks"];
    joinNetworkUserCallbacks?: ZWaveOptions["joinNetworkUserCallbacks"];
    logConfig?: Partial<LogConfig>;
}>;

// Warning: (ae-missing-release-tag) "PlannedProvisioningEntry" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface PlannedProvisioningEntry {
    [prop: string]: any;
    dsk: string;
    protocol?: Protocols_2;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "securityClasses"
    requestedSecurityClasses?: readonly SecurityClass[];
    securityClasses: SecurityClass[];
    status?: ProvisioningEntryStatus;
    supportedProtocols?: readonly Protocols_2[];
}

export { Powerlevel }

export { PowerlevelTestStatus }

export { ProtocolDataRate }

export { protocolDataRateToString }

export { Protocols }

export { ProtocolType }

export { ProtocolVersion }

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

export { QRCodeVersion }

export { QRProvisioningInformation }

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

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

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

// Warning: (ae-missing-release-tag) "RemoveNodeReason" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum RemoveNodeReason {
    Excluded = 0,
    ProxyExcluded = 1,
    ProxyReplaced = 4,
    RemoveFailed = 2,
    Replaced = 3,
    Reset = 5,
    SmartStartFailed = 6
}

// Warning: (ae-missing-release-tag) "ReplaceNodeOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type ReplaceNodeOptions = {
    strategy: InclusionStrategy.Security_S2;
    userCallbacks?: InclusionUserCallbacks;
} | {
    strategy: InclusionStrategy.Security_S2;
    provisioning?: PlannedProvisioningEntry;
} | {
    strategy: InclusionStrategy.Insecure | InclusionStrategy.Security_S0;
};

export { ResponsePredicate }

export { ResponseRole }

export { RFRegion }

// Warning: (ae-missing-release-tag) "RouteHealthCheckResult" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface RouteHealthCheckResult {
    failedPingsToSource?: number;
    failedPingsToTarget?: number;
    minPowerlevelSource?: Powerlevel;
    minPowerlevelTarget?: Powerlevel;
    // Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
    numNeighbors: number;
    rating: number;
}

// Warning: (ae-missing-release-tag) "RouteHealthCheckSummary" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface RouteHealthCheckSummary {
    // Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
    // Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
    rating: number;
    results: RouteHealthCheckResult[];
}

export { RouteProtocolDataRate }

// Warning: (ae-missing-release-tag) "RouteStatistics" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface RouteStatistics {
    protocolDataRate?: ProtocolDataRate_2;
    repeaterRSSI?: RSSI_2[];
    repeaters: number[];
    routeFailedBetween?: [number, number];
    rssi?: RSSI_2;
}

export { RSSI }

export { RssiError }

export { rssiToString }

export { Scale }

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

// Warning: (ae-missing-release-tag) "SecurityBootstrapFailure" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum SecurityBootstrapFailure {
    NodeCanceled = 5,
    NoKeysConfigured = 1,
    ParameterMismatch = 4,
    S0Downgrade = 8,
    S2IncorrectPIN = 6,
    S2NoUserCallbacks = 2,
    S2WrongSecurityLevel = 7,
    Timeout = 3,
    Unknown = 9,
    UserCanceled = 0
}

export { SendMessageOptions }

export { Sensor }

export { SerialAPISetupCommand }

export { SetbackState }

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

export { Switchpoint }

export { TranslatedValueID }

export { TXReport }

export { ValueID }

export { ValueMetadata }

export { ValueMetadataAny }

export { ValueMetadataBoolean }

export { ValueMetadataNumeric }

export { ValueMetadataString }

export { ValueType }

// Warning: (ae-missing-release-tag) "VirtualEndpoint" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class VirtualEndpoint implements VirtualEndpointId, SupportsCC_2 {
    constructor(
    node: VirtualNode | undefined,
    driver: Driver,
    index: number);
    get commandClasses(): CCAPIs;
    protected readonly driver: Driver;
    getCCVersion(cc: CommandClasses): number;
    readonly index: number;
    invokeCCAPI<CC extends CCNameOrId, TMethod extends keyof TAPI, TAPI extends Record<string, (...args: any[]) => any> = CommandClasses extends CC ? any : Omit<CCNameOrId, CommandClasses> extends CC ? any : APIMethodsOf<CC>>(cc: CC, method: TMethod, ...args: Parameters<TAPI[TMethod]>): ReturnType<TAPI[TMethod]>;
    // (undocumented)
    get node(): VirtualNode;
    // (undocumented)
    get nodeId(): number | MulticastDestination;
    // (undocumented)
    protected setNode(node: VirtualNode): void;
    supportsCC(cc: CommandClasses): boolean;
    supportsCCAPI(cc: CommandClasses): boolean;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "IZWaveEndpoint"
    readonly virtual = true;
}

// Warning: (ae-missing-release-tag) "VirtualNode" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class VirtualNode extends VirtualEndpoint {
    constructor(id: number | undefined, driver: Driver,
    physicalNodes: Iterable<ZWaveNode>);
    getDefinedValueIDs(): VirtualValueID[];
    getEndpoint(index: 0): VirtualEndpoint;
    // (undocumented)
    getEndpoint(index: number): VirtualEndpoint | undefined;
    getEndpointCount(): number;
    // (undocumented)
    getEndpointOrThrow(index: number): VirtualEndpoint;
    // (undocumented)
    get hasMixedSecurityClasses(): boolean;
    // (undocumented)
    readonly id: number | undefined;
    // (undocumented)
    readonly nodesBySecurityClass: ReadonlyMap<SecurityClass_2, readonly ZWaveNode[]>;
    // (undocumented)
    readonly physicalNodes: readonly ZWaveNode[];
    setValue(valueId: ValueID_2, value: unknown, options?: SetValueAPIOptions): Promise<SetValueResult>;
}

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

// Warning: (ae-forgotten-export) The symbol "ZnifferEventCallbacks" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "Zniffer" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class Zniffer extends TypedEventEmitter<ZnifferEventCallbacks> {
    constructor(port: string | ZWaveSerialPortImplementation, options?: ZnifferOptions);
    get active(): boolean;
    // Warning: (ae-forgotten-export) The symbol "CapturedFrame" needs to be exported by the entry point index.d.ts
    get capturedFrames(): Readonly<CapturedFrame>[];
    clearCapturedFrames(): void;
    get currentFrequency(): number | undefined;
    destroy(): Promise<void>;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    getCaptureAsZLFBuffer(frameFilter?: (frame: CapturedFrame) => boolean): Uint8Array;
    // (undocumented)
    init(): Promise<void>;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    saveCaptureToFile(filePath: string, frameFilter?: (frame: CapturedFrame) => boolean): Promise<void>;
    // (undocumented)
    setFrequency(frequency: number): Promise<void>;
    start(): Promise<void>;
    // (undocumented)
    stop(): Promise<void>;
    get supportedFrequencies(): ReadonlyMap<number, string>;
}

// Warning: (ae-missing-release-tag) "ZnifferOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ZnifferOptions {
    convertRSSI?: boolean;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "ZnifferRegion"
    defaultFrequency?: number;
    logConfig?: Partial<LogConfig>;
    maxCapturedFrames?: number;
    securityKeys?: ZWaveOptions["securityKeys"];
    securityKeysLongRange?: ZWaveOptions["securityKeysLongRange"];
}

export { ZWaveApiVersion }

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

// @public (undocumented)
export class ZWaveController extends TypedEventEmitter<ControllerEventCallbacks> {
    // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line
    // 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: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line
    addAssociations(source: AssociationAddress, group: number, destinations: AssociationAddress[]): Promise<void>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "assignReturnRoutes"
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "assignReturnRoutes"
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "deleteReturnRoutes"
    assignCustomReturnRoutes(nodeId: number, destinationNodeId: number, routes: Route[], priorityRoute?: Route): Promise<boolean>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "assignSUCReturnRoutes"
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "assignSUCReturnRoutes"
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "deleteSUCReturnRoutes"
    assignCustomSUCReturnRoutes(nodeId: number, routes: Route[], priorityRoute?: Route): Promise<boolean>;
    // 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
    assignPriorityReturnRoute(nodeId: number, destinationNodeId: number, repeaters: number[], routeSpeed: ZWaveDataRate): Promise<boolean>;
    // 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
    assignPrioritySUCReturnRoute(nodeId: number, repeaters: number[], routeSpeed: ZWaveDataRate): Promise<boolean>;
    assignReturnRoutes(nodeId: number, destinationNodeId: number): Promise<boolean>;
    assignSUCReturnRoutes(nodeId: number): Promise<boolean>;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    backupNVMRaw(onProgress?: (bytesRead: number, total: number) => void): Promise<Uint8Array>;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    beginExclusion(options?: ExclusionOptions): Promise<boolean>;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    beginInclusion(options?: InclusionOptions): Promise<boolean>;
    // (undocumented)
    beginJoiningNetwork(options?: JoinNetworkOptions): Promise<JoinNetworkResult>;
    // (undocumented)
    beginLeavingNetwork(): Promise<LeaveNetworkResult>;
    beginRebuildingRoutes(options?: RebuildRoutesOptions): boolean;
    // (undocumented)
    cancelSecureBootstrapS2(reason: KEXFailType): void;
    checkAssociation(source: AssociationAddress, group: number, destination: AssociationAddress): AssociationCheckResult;
    configureSUC(nodeId: number, enableSUC: boolean, enableSIS: boolean): Promise<boolean>;
    deleteReturnRoutes(nodeId: number): Promise<boolean>;
    deleteSUCReturnRoutes(nodeId: number): Promise<boolean>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "getNodeNeighbors"
    discoverNodeNeighbors(nodeId: number): Promise<boolean>;
    get dsk(): Uint8Array;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "externalNVMCloseExt"
    externalNVMClose(): Promise<void>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "externalNVMClose"
    externalNVMCloseExt(): Promise<void>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "externalNVMOpenExt"
    externalNVMOpen(): Promise<number>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "externalNVMOpen"
    externalNVMOpenExt(): Promise<{
        size: number;
        supportedOperations: ExtendedNVMOperationsCommand[];
    }>;
    externalNVMReadBuffer(offset: number, length: number): Promise<Uint8Array>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "externalNVMReadBufferExt"
    externalNVMReadBuffer700(offset: number, length: number): Promise<{
        buffer: Uint8Array;
        endOfFile: boolean;
    }>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "externalNVMReadBuffer700"
    externalNVMReadBufferExt(offset: number, length: number): Promise<{
        buffer: Uint8Array;
        endOfFile: boolean;
    }>;
    externalNVMReadByte(offset: number): Promise<number>;
    externalNVMWriteBuffer(offset: number, buffer: Uint8Array): Promise<boolean>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "externalNVMWriteBufferExt"
    externalNVMWriteBuffer700(offset: number, buffer: Uint8Array): Promise<{
        endOfFile: boolean;
    }>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "externalNVMWriteBuffer700"
    externalNVMWriteBufferExt(offset: number, buffer: Uint8Array): Promise<{
        endOfFile: boolean;
    }>;
    externalNVMWriteByte(offset: number, data: number): Promise<boolean>;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "getAvailableFirmwareUpdates"
    firmwareUpdateOTA(nodeId: number, updateInfo: FirmwareUpdateInfo, options?: FirmwareUpdateOptions): Promise<FirmwareUpdateResult_2>;
    firmwareUpdateOTW(data: Uint8Array): Promise<ControllerFirmwareUpdateResult>;
    // (undocumented)
    get firmwareVersion(): MaybeNotKnown<string>;
    getAllAssociationGroups(nodeId: number): ReadonlyMap<number, ReadonlyMap<number, AssociationGroup>>;
    getAllAssociations(nodeId: number): ReadonlyObjectKeyMap<AssociationAddress, ReadonlyMap<number, readonly AssociationAddress[]>>;
    getAssociationGroups(source: AssociationAddress): ReadonlyMap<number, AssociationGroup>;
    getAssociations(source: AssociationAddress): ReadonlyMap<number, readonly AssociationAddress[]>;
    getAvailableFirmwareUpdates(nodeId: number, options?: GetFirmwareUpdatesOptions): Promise<FirmwareUpdateInfo[]>;
    getBackgroundRSSI(): Promise<{
        rssiChannel0: RSSI_2;
        rssiChannel1: RSSI_2;
        rssiChannel2?: RSSI_2;
        rssiChannel3?: RSSI_2;
    }>;
    getBroadcastNode(): VirtualNode;
    getBroadcastNodeLR(): VirtualNode;
    getControllerCapabilities(): Promise<ControllerCapabilities>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "assignCustomReturnRoutes"
    getCustomReturnRoutesCached(nodeId: number, destinationNodeId: number): Route[];
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "assignCustomSUCReturnRoutes"
    getCustomSUCReturnRoutesCached(nodeId: number): Route[];
    getKnownLifelineRoutes(): ReadonlyMap<number, LifelineRoutes>;
    getLongRangeChannel(): Promise<{
        channel: LongRangeChannel;
        supportsAutoChannelSelection: boolean;
    }>;
    getLongRangeNodes(): Promise<readonly number[]>;
    getMaxLongRangePowerlevel(): Promise<number>;
    getMulticastGroup(nodeIDs: number[]): VirtualNode;
    getNodeByDSK(dsk: Uint8Array | string): ZWaveNode | undefined;
    getNodeNeighbors(nodeId: number, onlyRepeaters?: boolean): Promise<readonly number[]>;
    getNVMId(): Promise<NVMId>;
    getPowerlevel(): Promise<Pick<SerialAPISetup_GetPowerlevelResponse, "powerlevel" | "measured0dBm">>;
    getPriorityReturnRouteCached(nodeId: number, destinationNodeId: number): MaybeUnknown<Route> | undefined;
    getPriorityReturnRoutesCached(nodeId: number): Record<number, Route>;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    getPriorityRoute(destinationNodeId: number): Promise<{
        routeKind: RouteKind.LWR | RouteKind.NLWR | RouteKind.Application;
        repeaters: number[];
        routeSpeed: ZWaveDataRate;
    } | undefined>;
    getPrioritySUCReturnRouteCached(nodeId: number): Route | undefined;
    getProvisioningEntries(): SmartStartProvisioningEntry[];
    getProvisioningEntry(dskOrNodeId: string | number): Readonly<SmartStartProvisioningEntry> | undefined;
    getRFRegion(): Promise<RFRegion_2>;
    getSerialApiInitData(): Promise<SerialApiInitData>;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    getSupportedRFRegions(filterSubsets?: boolean): MaybeNotKnown<readonly RFRegion_2[]>;
    hasPlannedProvisioningEntries(): boolean;
    get homeId(): MaybeNotKnown<number>;
    // (undocumented)
    get inclusionState(): InclusionState;
    isAnyOTAFirmwareUpdateInProgress(): boolean;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    isFailedNode(nodeId: number): Promise<boolean>;
    isFirmwareUpdateInProgress(): boolean;
    isFunctionSupported(functionType: FunctionType): MaybeNotKnown<boolean>;
    get isLearnModePermitted(): boolean;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "role"
    //
    // @deprecated (undocumented)
    get isPrimary(): MaybeNotKnown<boolean>;
    get isRebuildingRoutes(): boolean;
    isSerialAPISetupCommandSupported(command: SerialAPISetupCommand): MaybeNotKnown<boolean>;
    // (undocumented)
    get isSIS(): MaybeNotKnown<boolean>;
    // (undocumented)
    get isSISPresent(): MaybeNotKnown<boolean>;
    // (undocumented)
    get isSUC(): MaybeNotKnown<boolean>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "role"
    //
    // @deprecated (undocumented)
    get isUsingHomeIdFromOtherNetwork(): MaybeNotKnown<boolean>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "setLongRangeChannel"
    get longRangeChannel(): MaybeNotKnown<LongRangeChannel>;
    // (undocumented)
    get manufacturerId(): MaybeNotKnown<number>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "setMaxLongRangePowerlevel"
    get maxLongRangePowerlevel(): MaybeNotKnown<number>;
    get maxPayloadSize(): MaybeNotKnown<number>;
    get maxPayloadSizeLR(): MaybeNotKnown<number>;
    get nodeIdType(): NodeIDType;
    get nodes(): ReadonlyThrowingMap<number, ZWaveNode>;
    // (undocumented)
    get nodeType(): MaybeNotKnown<NodeType_2>;
    get nvm(): NVMAdapter;
    get ownNodeId(): MaybeNotKnown<number>;
    // (undocumented)
    get productId(): MaybeNotKnown<number>;
    // (undocumented)
    get productType(): MaybeNotKnown<number>;
    // (undocumented)
    get protocolVersion(): MaybeNotKnown<string>;
    provisionSmartStartNode(entry: PlannedProvisioningEntry): void;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "supportedRFRegions"
    queryRFRegionInfo(region: RFRegion_2): Promise<{
        region: RFRegion_2;
        supportsZWave: boolean;
        supportsLongRange: boolean;
        includesRegion?: RFRegion_2;
    }>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "getSupportedRFRegions"
    querySupportedRFRegions(): Promise<RFRegion_2[]>;
    rebuildNodeRoutes(nodeId: number): Promise<boolean>;
    get rebuildRoutesProgress(): ReadonlyMap<number, RebuildRoutesStatus> | undefined;
    removeAssociations(source: AssociationAddress, group: number, destinations: AssociationAddress[]): Promise<void>;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    removeFailedNode(nodeId: number): Promise<void>;
    removeNodeFromAllAssociations(nodeId: number): Promise<void>;
    // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
    removePriorityRoute(destinationNodeId: number): Promise<boolean>;
    // 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
    replaceFailedNode(nodeId: number, options?: ReplaceNodeOptions): Promise<boolean>;
    // 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
    restoreNVM(nvmData: Uint8Array, convertProgress?: (bytesRead: number, total: number) => void, restoreProgress?: (bytesWritten: number, total: number) => void): Promise<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
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "restoreNVM"
    restoreNVMRaw(nvmData: Uint8Array, onProgress?: (bytesWritten: number, total: number) => void): Promise<void>;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "setRFRegion"
    get rfRegion(): MaybeNotKnown<RFRegion_2>;
    get role(): MaybeNotKnown<ControllerRole>;
    // (undocumented)
    get sdkVersion(): MaybeNotKnown<string>;
    sdkVersionGt(version: SDKVersion): MaybeNotKnown<boolean>;
    sdkVersionGte(version: SDKVersion): MaybeNotKnown<boolean>;
    sdkVersionLt(version: SDKVersion): MaybeNotKnown<boolean>;
    sdkVersionLte(version: SDKVersion): MaybeNotKnown<boolean>;
    setLongRangeChannel(channel: LongRangeChannel.A | LongRangeChannel.B | LongRangeChannel.Auto): Promise<boolean>;
    setMaxLongRangePowerlevel(limit: number): Promise<boolean>;
    setPowerlevel(powerlevel: number, measured0dBm: number): Promise<boolean>;
    // 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
    setPriorityRoute(destinationNodeId: number, repeaters: number[], routeSpeed: ZWaveDataRate): Promise<boolean>;
    setRFRegion(region: RFRegion_2): Promise<boolean>;
    startWatchdog(): Promise<boolean>;
    get status(): ControllerStatus_2;
    stopExclusion(): Promise<boolean>;
    stopInclusion(): Promise<boolean>;
    // (undocumented)
    stopJoiningNetwork(): Promise<boolean>;
    // (undocumented)
    stopLeavingNetwork(): Promise<boolean>;
    stopRebuildingRoutes(): boolean;
    stopWatchdog(): Promise<boolean>;
    // (undocumented)
    get sucNodeId(): MaybeNotKnown<number>;
    // (undocumented)
    get supportedFunctionTypes(): MaybeNotKnown<readonly FunctionType[]>;
    get supportedRegions(): MaybeNotKnown<ReadonlyMap<RFRegion_2, Readonly<RFRegionInfo>>>;
    // (undocumented)
    get supportedSerialAPISetupCommands(): readonly SerialAPISetupCommand[] | undefined;
    supportsFeature(feature: ZWaveFeature): MaybeNotKnown<boolean>;
    get supportsLongRange(): MaybeNotKnown<boolean>;
    get supportsLongRangeAutoChannelSelection(): MaybeNotKnown<boolean>;
    // (undocumented)
    get supportsTimers(): MaybeNotKnown<boolean>;
    toggleRF(enabled: boolean): Promise<boolean>;
    // (undocumented)
    trySetNodeIDType(nodeIdType: NodeIDType): Promise<boolean>;
    // (undocumented)
    get type(): MaybeNotKnown<ZWaveLibraryTypes_2>;
    unprovisionSmartStartNode(dskOrNodeId: string | number): void;
    get valueDB(): ValueDB;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "role"
    //
    // @deprecated (undocumented)
    get wasRealPrimary(): MaybeNotKnown<boolean>;
    // (undocumented)
    get zwaveApiVersion(): MaybeNotKnown<ZWaveApiVersion_2>;
    // (undocumented)
    get zwaveChipType(): MaybeNotKnown<string | UnknownZWaveChipType>;
}

export { ZWaveError }

export { ZWaveErrorCodes }

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

// Warning: (ae-missing-release-tag) "ZWaveFrame" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type ZWaveFrame = {
    protocol: Protocols.ZWave;
    channel: number;
    region: number;
    rssiRaw: number;
    rssi?: RSSI_2;
    protocolDataRate: ZnifferProtocolDataRate;
    speedModified: boolean;
    sequenceNumber: number;
    homeId: number;
    sourceNodeId: number;
} & (({
    type: ZWaveFrameType.Singlecast;
    destinationNodeId: number;
    ackRequested: boolean;
    payload: Uint8Array | CommandClass;
} & AllOrNone<{
    direction: "outbound" | "inbound";
    hop: number;
    repeaters: number[];
    repeaterRSSI?: RSSI_2[];
} & ({
    routedAck: false;
    routedError: false;
    failedHop?: undefined;
} | {
    routedAck: true;
    routedError: false;
    failedHop?: undefined;
} | {
    routedAck: false;
    routedError: true;
    failedHop: number;
})>) | {
    type: ZWaveFrameType.Broadcast;
    destinationNodeId: typeof NODE_ID_BROADCAST_2;
    ackRequested: boolean;
    payload: Uint8Array | CommandClass;
} | {
    type: ZWaveFrameType.Multicast;
    destinationNodeIds: number[];
    payload: Uint8Array | CommandClass;
} | {
    type: ZWaveFrameType.AckDirect;
    destinationNodeId: number;
} | (({
    type: ZWaveFrameType.ExplorerNormal;
    payload: Uint8Array | CommandClass;
} | {
    type: ZWaveFrameType.ExplorerSearchResult;
    searchingNodeId: number;
    frameHandle: number;
    resultTTL: number;
    resultRepeaters: readonly number[];
} | {
    type: ZWaveFrameType.ExplorerInclusionRequest;
    networkHomeId: number;
    payload: Uint8Array | CommandClass;
}) & {
    destinationNodeId: number;
    ackRequested: boolean;
    direction: "outbound" | "inbound";
    repeaters: number[];
    ttl: number;
}));

// Warning: (ae-missing-release-tag) "ZWaveFrameType" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ZWaveFrameType {
    // (undocumented)
    AckDirect = 2,
    // (undocumented)
    BeamStart = 6,
    // (undocumented)
    BeamStop = 7,
    // (undocumented)
    Broadcast = 8,
    // (undocumented)
    ExplorerInclusionRequest = 5,
    // (undocumented)
    ExplorerNormal = 3,
    // (undocumented)
    ExplorerSearchResult = 4,
    // (undocumented)
    Multicast = 1,
    // (undocumented)
    Singlecast = 0
}

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

export { ZWaveLibraryTypes }

// Warning: (ae-missing-release-tag) "ZWaveMPDU" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class ZWaveMPDU implements MPDU {
    constructor(options: MPDUOptions);
    // (undocumented)
    readonly ackRequested: boolean;
    // (undocumented)
    readonly beamingInfo: BeamingInfo_2;
    // (undocumented)
    protected readonly destinationBuffer: Bytes;
    // (undocumented)
    readonly frameInfo: ZnifferFrameInfo;
    // (undocumented)
    static from(msg: ZnifferDataMessage): ZWaveMPDU;
    // (undocumented)
    readonly headerType: MPDUHeaderType_2;
    // (undocumented)
    readonly homeId: number;
    // (undocumented)
    readonly lowPower: boolean;
    // (undocumented)
    payload: Bytes;
    // (undocumented)
    readonly routed: boolean;
    // (undocumented)
    readonly sequenceNumber: number;
    // (undocumented)
    readonly sourceNodeId: number;
    // (undocumented)
    readonly speedModified: boolean;
    // (undocumented)
    toLogEntry(): MessageOrCCLogEntry;
}

// Warning: (ae-forgotten-export) The symbol "AllNodeEvents" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "NodeStatisticsHost" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "ZWaveNode" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
// Warning: (ae-missing-release-tag) "ZWaveNode" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ZWaveNode extends TypedEventEmitter<AllNodeEvents>, NodeStatisticsHost {
}

// Warning: (ae-forgotten-export) The symbol "ZWaveNodeMixins" needs to be exported by the entry point index.d.ts
//
// @public
export class ZWaveNode extends ZWaveNodeMixins implements QuerySecurityClasses {
    constructor(id: number, driver: Driver, deviceClass?: DeviceClass, supportedCCs?: CommandClasses_2[], controlledCCs?: CommandClasses_2[], valueDB?: ValueDB);
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "checkLifelineHealth"
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "checkRouteHealth"
    abortHealthCheck(): void;
    // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "checkLinkReliability"
    abortLinkReliabilityCheck(): void;
    checkLifelineHealth(rounds?: number, onProgress?: (round: number, totalRounds: number, lastRating: number, lastResult: LifelineHealthCheckResult) => void): Promise<LifelineHealthCheckSummary>;
    checkLinkReliability(options: LinkReliabilityCheckOptions): Promise<LinkReliabilityCheckResult>;
    checkRouteHealth(targetNodeId: number, rounds?: number, onProgress?: (round: number, totalRounds: number, lastRating: number, lastResult: RouteHealthCheckResult) => void): Promise<RouteHealthCheckSummary>;
    createDump(): NodeDump;
    get defaultTransitionDuration(): string | undefined;
    set defaultTransitionDuration(value: string | Duration_2 | undefined);
    get defaultVolume(): number | undefined;
    set defaultVolume(value: number | undefined);
    destroy(): void;
    get deviceConfig(): DeviceConfig | undefined;
    // (undocumented)
    get deviceDatabaseUrl(): MaybeNotKnown<string>;
    get dsk(): Uint8Array | undefined;
    // (undocumented)
    protected _emit<TEvent extends keyof AllNodeEvents>(event: TEvent, ...args: Parameters<AllNodeEvents[TEvent]>): boolean;
    // (undocumented)
    get firmwareVersion(): MaybeNotKnown<string>;
    getDateAndTime(): Promise<DateAndTime>;
    getDefinedValueIDs(): TranslatedValueID_2[];
    getFirmwareUpdateCapabilities(): Promise<FirmwareUpdateCapabilities>;
    getFirmwareUpdateCapabilitiesCached(): FirmwareUpdateCapabilities;
    // (undocumented)
    get hardwareVersion(): MaybeNotKnown<number>;
    hasDeviceConfigChanged(): MaybeNotKnown<boolean>;
    get hasSUCReturnRoute(): boolean;
    set hasSUCReturnRoute(value: boolean);
    interview(): Promise<void>;
    get interviewAttempts(): number;
    interviewCC(cc: CommandClasses_2): Promise<void>;
    protected interviewCCs(): Promise<boolean>;
    protected interviewNodeInfo(): Promise<void>;
    isHealthCheckInProgress(): boolean;
    isLinkReliabilityCheckInProgress(): boolean;
    // (undocumented)
    get label(): string | undefined;
    get lastSeen(): MaybeNotKnown<Date>;
    protected loadDeviceConfig(): Promise<void>;
    get location(): MaybeNotKnown<string>;
    set location(value: string | undefined);
    manuallyIdleNotificationValue(valueId: ValueID_2): void;
    // (undocumented)
    manuallyIdleNotificationValue(notificationType: number, prevValue: number, endpointIndex?: number): void;
    // (undocumented)
    get manufacturerId(): MaybeNotKnown<number>;
    get name(): MaybeNotKnown<string>;
    set name(value: string | undefined);
    // (undocumented)
    protected _on<TEvent extends keyof AllNodeEvents>(event: TEvent, callback: AllNodeEvents[TEvent]): this;
    // (undocumented)
    protected _once<TEvent extends keyof AllNodeEvents>(event: TEvent, callback: AllNodeEvents[TEvent]): this;
    protected overwriteConfig(): Promise<void>;
    ping(): Promise<boolean>;
    pollValue<T = unknown>(valueId: ValueID_2, sendCommandOptions?: SendCommandOptions): Promise<MaybeNotKnown<T>>;
    // (undocumented)
    get productId(): MaybeNotKnown<number>;
    // (undocumented)
    get productType(): MaybeNotKnown<number>;
    protected queryProtocolInfo(): Promise<void>;
    refreshCCValues(cc: CommandClasses_2): Promise<void>;
    refreshInfo(options?: RefreshInfoOptions): Promise<void>;
    refreshValues(): Promise<void>;
    // (undocumented)
    requestNodeInfo(): Promise<NodeUpdatePayload>;
    // (undocumented)
    get sdkVersion(): MaybeNotKnown<string>;
    // (undocumented)
    sendResetLocallyNotification(): Promise<void>;
    setDateAndTime(now?: Date): Promise<boolean>;
    setValue(valueId: ValueID_2, value: unknown, options?: SetValueAPIOptions): Promise<SetValueResult>;
    // (undocumented)
    get supportsWakeUpOnDemand(): MaybeNotKnown<boolean>;
    testPowerlevel(testNodeId: number, powerlevel: Powerlevel_2, healthCheckTestFrameCount: number, onProgress?: (acknowledged: number, total: number) => void): Promise<number>;
    // (undocumented)
    get zwavePlusNodeType(): MaybeNotKnown<ZWavePlusNodeType>;
    // (undocumented)
    get zwavePlusRoleType(): MaybeNotKnown<ZWavePlusRoleType>;
    // (undocumented)
    get zwavePlusVersion(): MaybeNotKnown<number>;
}

// Warning: (ae-missing-release-tag) "ZWaveNodeEventCallbacks" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ZWaveNodeEventCallbacks extends ZWaveNodeValueEventCallbacks {
    // (undocumented)
    "firmware update finished": ZWaveNodeFirmwareUpdateFinishedCallback;
    // (undocumented)
    "firmware update progress": ZWaveNodeFirmwareUpdateProgressCallback;
    // (undocumented)
    "interview completed": (node: ZWaveNode) => void;
    // (undocumented)
    "interview failed": ZWaveInterviewFailedCallback;
    // (undocumented)
    "interview stage completed": (node: ZWaveNode, stageName: string) => void;
    // (undocumented)
    "interview started": (node: ZWaveNode) => void;
    // (undocumented)
    "node info received": (node: ZWaveNode) => void;
    // (undocumented)
    "wake up": ZWaveNodeStatusChangeCallback;
    // (undocumented)
    alive: ZWaveNodeStatusChangeCallback;
    // (undocumented)
    dead: ZWaveNodeStatusChangeCallback;
    // (undocumented)
    notification: ZWaveNotificationCallback;
    // (undocumented)
    ready: (node: ZWaveNode) => void;
    // (undocumented)
    sleep: ZWaveNodeStatusChangeCallback;
}

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

// Warning: (ae-missing-release-tag) "zWaveNodeEvents" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const zWaveNodeEvents: readonly ["notification", "interview failed", "firmware update progress", "firmware update finished", "wake up", "sleep", "dead", "alive", "interview completed", "ready", "interview stage completed", "interview started", "value added", "value updated", "value removed", "metadata updated", "value notification"];

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

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

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

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

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

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

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

// Warning: (ae-missing-release-tag) "ZWaveNodeValueEventCallbacks" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ZWaveNodeValueEventCallbacks {
    // (undocumented)
    "metadata updated": ZWaveNodeMetadataUpdatedCallback;
    // (undocumented)
    "value added": ZWaveNodeValueAddedCallback;
    // (undocumented)
    "value notification": ZWaveNodeValueNotificationCallback;
    // (undocumented)
    "value removed": ZWaveNodeValueRemovedCallback;
    // (undocumented)
    "value updated": ZWaveNodeValueUpdatedCallback;
}

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

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

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

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

// Warning: (ae-missing-release-tag) "ZWaveNodeValueUpdatedArgs" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ZWaveNodeValueUpdatedArgs = Omit<ValueUpdatedArgs, "source"> & TranslatedValueID;

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

// Warning: (ae-missing-release-tag) "ZWaveNotificationCallback" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ZWaveNotificationCallback = (...args: ZWaveNotificationCallbackParams_NotificationCC | ZWaveNotificationCallbackParams_EntryControlCC | ZWaveNotificationCallbackParams_PowerlevelCC | ZWaveNotificationCallbackParams_MultilevelSwitchCC) => void;

// Warning: (ae-missing-release-tag) "ZWaveNotificationCallbackArgs_EntryControlCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ZWaveNotificationCallbackArgs_EntryControlCC {
    // (undocumented)
    dataType: EntryControlDataTypes;
    dataTypeLabel: string;
    // (undocumented)
    eventData?: Uint8Array | string;
    // (undocumented)
    eventType: EntryControlEventTypes;
    eventTypeLabel: string;
}

// Warning: (ae-missing-release-tag) "ZWaveNotificationCallbackArgs_MultilevelSwitchCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface ZWaveNotificationCallbackArgs_MultilevelSwitchCC {
    direction?: string;
    eventType: MultilevelSwitchCommand.StartLevelChange | MultilevelSwitchCommand.StopLevelChange;
    eventTypeLabel: string;
}

// Warning: (ae-missing-release-tag) "ZWaveNotificationCallbackArgs_NotificationCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ZWaveNotificationCallbackArgs_NotificationCC {
    event: number;
    eventLabel: string;
    label: string;
    parameters?: NotificationCCReport["eventParameters"];
    type: number;
}

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

// Warning: (ae-missing-release-tag) "ZWaveNotificationCallbackParams_EntryControlCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type ZWaveNotificationCallbackParams_EntryControlCC = [
endpoint: Endpoint,
ccId: (typeof CommandClasses)["Entry Control"],
args: ZWaveNotificationCallbackArgs_EntryControlCC
];

// Warning: (ae-missing-release-tag) "ZWaveNotificationCallbackParams_MultilevelSwitchCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type ZWaveNotificationCallbackParams_MultilevelSwitchCC = [
endpoint: Endpoint,
ccId: (typeof CommandClasses)["Multilevel Switch"],
args: ZWaveNotificationCallbackArgs_MultilevelSwitchCC
];

// Warning: (ae-missing-release-tag) "ZWaveNotificationCallbackParams_NotificationCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type ZWaveNotificationCallbackParams_NotificationCC = [
endpoint: Endpoint,
ccId: CommandClasses.Notification,
args: ZWaveNotificationCallbackArgs_NotificationCC
];

// Warning: (ae-missing-release-tag) "ZWaveNotificationCallbackParams_PowerlevelCC" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type ZWaveNotificationCallbackParams_PowerlevelCC = [
endpoint: Endpoint,
ccId: CommandClasses.Powerlevel,
args: ZWaveNotificationCallbackArgs_PowerlevelCC
];

// Warning: (ae-missing-release-tag) "ZWaveOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ZWaveOptions extends ZWaveHostOptions {
    allowBootloaderOnly?: boolean;
    // (undocumented)
    apiKeys?: {
        firmwareUpdateService?: string;
    };
    // (undocumented)
    attempts: {
        controller: number;
        sendData: number;
        sendDataJammed: number;
        nodeInterview: number;
    };
    disableOptimisticValueUpdate?: boolean;
    emitValueUpdateAfterSetValue?: boolean;
    // (undocumented)
    features: {
        softReset?: boolean;
        unresponsiveControllerRecovery?: boolean;
        watchdog?: boolean;
    };
    inclusionUserCallbacks?: InclusionUserCallbacks;
    // (undocumented)
    interview: {
        queryAllUserCodes?: boolean;
        disableOnNodeAdded?: boolean;
    };
    joinNetworkUserCallbacks?: JoinNetworkUserCallbacks;
    logConfig?: LogConfig;
    // (undocumented)
    preferences: {
        scales: Partial<Record<string | number, string | number>>;
    };
    rf?: {
        region?: RFRegion_2;
        preferLRRegion?: boolean;
        txPower?: {
            powerlevel: number;
            measured0dBm: number;
        };
        maxLongRangePowerlevel?: number;
        longRangeChannel?: LongRangeChannel.A | LongRangeChannel.B | LongRangeChannel.Auto;
    };
    securityKeys?: {
        S2_AccessControl?: Uint8Array;
        S2_Authenticated?: Uint8Array;
        S2_Unauthenticated?: Uint8Array;
        S0_Legacy?: Uint8Array;
    };
    securityKeysLongRange?: {
        S2_AccessControl?: Uint8Array;
        S2_Authenticated?: Uint8Array;
    };
    // (undocumented)
    storage: {
        driver: FileSystem_2;
        cacheDir: string;
        lockDir?: string;
        deviceConfigExternalDir?: string;
        deviceConfigPriorityDir?: string;
        throttle: "fast" | "normal" | "slow";
    };
    testingHooks?: {
        serialPortBinding?: typeof SerialPort;
        onSerialPortOpen?: (port: ZWaveSerialPortBase) => Promise<void>;
        skipControllerIdentification?: boolean;
        skipNodeInterview?: boolean;
        skipBootloaderCheck?: boolean;
        loadConfiguration?: boolean;
    };
    timeouts: {
        ack: number;
        byte: number;
        response: number;
        sendDataAbort: number;
        sendDataCallback: number;
        report: number;
        nonce: number;
        retryJammed: number;
        sendToSleep: number;
        refreshValue: number;
        refreshValueAfterTransition: number;
        serialAPIStarted: number;
    };
    userAgent?: Record<string, string>;
    vendor?: {
        manufacturerId: number;
        productType: number;
        productId: number;
        hardwareVersion?: number;
        installerIcon?: number;
        userIcon?: number;
    };
}


export * from "@zwave-js/cc";

// Warnings were encountered during analysis:
//
// /home/runner/work/node-zwave-js/node-zwave-js/packages/cc/src/cc/ColorSwitchCC.ts:481:9 - (TS2345) Argument of type '("index" | "warmWhite" | "coldWhite" | "red" | "green" | "blue" | "amber" | "cyan" | "purple" | undefined)[]' is not assignable to parameter of type 'readonly (string | number | symbol)[]'.
//   Type 'string | undefined' is not assignable to type 'string | number | symbol'.
//     Type 'undefined' is not assignable to type 'string | number | symbol'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/cc/src/cc/ConfigurationCC.ts:1284:36 - (TS2345) Argument of type 'string | number' is not assignable to parameter of type 'number'.
//   Type 'string' is not assignable to type 'number'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/cc/src/cc/ConfigurationCC.ts:1291:20 - (TS2345) Argument of type 'string | number' is not assignable to parameter of type 'number'.
//   Type 'string' is not assignable to type 'number'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/cc/src/cc/ConfigurationCC.ts:1415:35 - (TS2345) Argument of type 'string | number' is not assignable to parameter of type 'number'.
//   Type 'string' is not assignable to type 'number'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/cc/src/cc/Security2CC.ts:458:24 - (TS2339) Property 'groupId' does not exist on type 'Security2Extension'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/cc/src/cc/Security2CC.ts:466:24 - (TS2339) Property 'senderEI' does not exist on type 'Security2Extension'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/cc/src/cc/Security2CC.ts:1663:20 - (TS2339) Property 'groupId' does not exist on type 'Security2Extension'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/cc/src/cc/Security2CC.ts:1666:34 - (TS2339) Property 'innerMPANState' does not exist on type 'Security2Extension'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/cc/src/cc/Security2CC.ts:1816:19 - (TS2339) Property 'senderEI' does not exist on type 'Security2Extension'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/nvmedit/src/lib/NVM3.ts:434:20 - (TS18048) 'h' is possibly 'undefined'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/nvmedit/src/lib/NVM3.ts:437:33 - (TS18048) 'header' is possibly 'undefined'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/nvmedit/src/lib/NVM3.ts:438:54 - (TS18048) 'header' is possibly 'undefined'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/nvmedit/src/lib/NVM3.ts:440:48 - (TS18048) 'header' is possibly 'undefined'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/nvmedit/src/lib/NVM3.ts:443:11 - (TS18048) 'header' is possibly 'undefined'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/nvmedit/src/lib/NVM3.ts:444:12 - (TS18048) 'header' is possibly 'undefined'.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/serial/src/mock/MockSerialPort.ts:18:2 - (TS1238) Unable to resolve signature of class decorator when called as an expression.
//   The runtime will invoke the decorator with 2 arguments, but the decorator expects 1.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/serial/src/serialport/ZWaveSerialPortBase.ts:78:2 - (TS1238) Unable to resolve signature of class decorator when called as an expression.
//   The runtime will invoke the decorator with 2 arguments, but the decorator expects 1.
// /home/runner/work/node-zwave-js/node-zwave-js/packages/serial/src/zniffer/ZnifferSerialPortBase.ts:59:2 - (TS1238) Unable to resolve signature of class decorator when called as an expression.
//   The runtime will invoke the decorator with 2 arguments, but the decorator expects 1.
// src/lib/controller/Controller.ts:997:2 - (ae-missing-getter) The property "provisioningList" has a setter but no getter.
// src/lib/driver/Driver.ts:846:24 - (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
// src/lib/driver/Driver.ts:4687:5 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/lib/driver/Driver.ts:5847:2 - (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "drainSerialAPIQueue"
// src/lib/driver/Driver.ts:6249:5 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/lib/driver/Driver.ts:6250:5 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/lib/driver/Driver.ts:6292:5 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/lib/driver/Driver.ts:6293:5 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/lib/driver/Driver.ts:6439:5 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/lib/driver/ZWaveOptions.ts:289:120 - (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
// src/lib/node/Node.ts:558:2 - (ae-missing-getter) The property "deviceConfigHash" has a setter but no getter.
// src/lib/node/Node.ts:2245:5 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/lib/zniffer/Zniffer.ts:701:5 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/lib/zniffer/Zniffer.ts:702:5 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen

// (No @packageDocumentation comment for this package)