inventoresed
Version:
Z-Wave driver written entirely in JavaScript/TypeScript
1,264 lines (1,135 loc) • 117 kB
Markdown
## API Report File for "@zwave-js/core"
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
/// <reference types="node" />
import { DeepPartial } from '@zwave-js/shared';
import type { Format } from 'logform';
import type { JsonlDB } from '@alcalzone/jsonl-db';
import type { JSONObject } from '@zwave-js/shared';
import type { Logger } from 'winston';
import type { TransformableInfo } from 'logform';
import type Transport from 'winston-transport';
import type { TypedClassDecorator } from '@zwave-js/shared';
import { TypedEventEmitter } from '@zwave-js/shared';
import winston from 'winston';
// Warning: (ae-missing-release-tag) "actuatorCCs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const actuatorCCs: readonly CommandClasses[];
// Warning: (ae-missing-release-tag) "allCCs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const allCCs: readonly CommandClasses[];
// Warning: (ae-missing-release-tag) "applicationCCs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const applicationCCs: readonly CommandClasses[];
// Warning: (ae-missing-release-tag) "ApplicationNodeInformation" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ApplicationNodeInformation {
// (undocumented)
genericDeviceClass: number;
// (undocumented)
specificDeviceClass: number;
// (undocumented)
supportedCCs: CommandClasses[];
}
// Warning: (ae-missing-release-tag) "assertValueID" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function assertValueID(param: Record<any, any>): asserts param is ValueID;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-missing-release-tag) "assertZWaveError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function assertZWaveError<T>(valueOrFactory: T, options?: AssertZWaveErrorOptions): T extends () => PromiseLike<any> ? Promise<void> : void;
// Warning: (ae-missing-release-tag) "AssertZWaveErrorOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AssertZWaveErrorOptions {
// (undocumented)
context?: unknown;
// (undocumented)
errorCode?: ZWaveErrorCodes;
// (undocumented)
messageMatches?: string | RegExp;
}
// Warning: (ae-missing-release-tag) "authHomeIdFromDSK" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function authHomeIdFromDSK(dsk: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "CacheBackedMap" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class CacheBackedMap<K extends string | number, V> implements Map<K, V> {
// (undocumented)
[Symbol.iterator]: () => IterableIterator<[K, V]>;
// (undocumented)
get [Symbol.toStringTag](): string;
constructor(cache: JsonlDB<any>, cacheKeys: CacheBackedMapKeys<K>);
// (undocumented)
clear(): void;
// (undocumented)
delete(key: K): boolean;
// (undocumented)
entries: () => IterableIterator<[K, V]>;
// (undocumented)
forEach: (callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any) => void;
// (undocumented)
get: (key: K) => V | undefined;
// (undocumented)
has: (key: K) => boolean;
// (undocumented)
keys: () => IterableIterator<K>;
// (undocumented)
set(key: K, value: V): this;
// (undocumented)
get size(): number;
// (undocumented)
values: () => IterableIterator<V>;
}
// Warning: (ae-missing-release-tag) "CacheBackedMapKeys" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CacheBackedMapKeys<K extends string | number> {
prefix: string;
suffixDeserializer: (suffix: string) => K | undefined;
suffixSerializer: (suffix: K) => string;
}
// Warning: (ae-missing-release-tag) "CacheMetadata" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CacheMetadata extends Pick<ValueID, "endpoint" | "property" | "propertyKey"> {
// (undocumented)
metadata: ValueMetadata;
}
// Warning: (ae-missing-release-tag) "CacheValue" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CacheValue extends Pick<ValueID, "endpoint" | "property" | "propertyKey"> {
// Warning: (ae-forgotten-export) The symbol "SerializedValue" needs to be exported by the entry point index.d.ts
//
// (undocumented)
value: SerializedValue;
}
// Warning: (ae-internal-missing-underscore) The name "channelPadding" should be prefixed with an underscore because the declaration is marked as @internal
//
// @internal (undocumented)
export const channelPadding: string;
// Warning: (tsdoc-undefined-tag) The TSDoc tag "@publicAPI" is not defined in this configuration
// Warning: (ae-missing-release-tag) "CommandClasses" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum CommandClasses {
// (undocumented)
"Alarm Sensor" = 156,
// (undocumented)
"Alarm Silence" = 157,
// (undocumented)
"All Switch" = 39,
// (undocumented)
"Anti-Theft Unlock" = 126,
// (undocumented)
"Anti-Theft" = 93,
// (undocumented)
"Application Capability" = 87,
// (undocumented)
"Application Status" = 34,
// (undocumented)
"Association Command Configuration" = 155,
// (undocumented)
"Association Group Information" = 89,
// (undocumented)
"Authentication Media Write" = 162,
// (undocumented)
"Barrier Operator" = 102,
// (undocumented)
"Basic Tariff Information" = 54,
// (undocumented)
"Basic Window Covering" = 80,
// (undocumented)
"Binary Sensor" = 48,
// (undocumented)
"Binary Switch" = 37,
// (undocumented)
"Binary Toggle Switch" = 40,
// (undocumented)
"Central Scene" = 91,
// (undocumented)
"Climate Control Schedule" = 70,
// (undocumented)
"Color Switch" = 51,
// (undocumented)
"Controller Replication" = 33,
// (undocumented)
"CRC-16 Encapsulation" = 86,
// (undocumented)
"Demand Control Plan Configuration" = 58,
// (undocumented)
"Demand Control Plan Monitor" = 59,
// (undocumented)
"Device Reset Locally" = 90,
// (undocumented)
"Door Lock Logging" = 76,
// (undocumented)
"Door Lock" = 98,
// (undocumented)
"Energy Production" = 144,
// (undocumented)
"Entry Control" = 111,
// (undocumented)
"Firmware Update Meta Data" = 122,
// (undocumented)
"Generic Schedule" = 163,
// (undocumented)
"Geographic Location" = 140,
// (undocumented)
"Grouping Name" = 123,
// (undocumented)
"HRV Control" = 57,
// (undocumented)
"HRV Status" = 55,
// (undocumented)
"Humidity Control Mode" = 109,
// (undocumented)
"Humidity Control Operating State" = 110,
// (undocumented)
"Humidity Control Setpoint" = 100,
// (undocumented)
"Inclusion Controller" = 116,
// (undocumented)
"IP Association" = 92,
// (undocumented)
"IP Configuration" = 154,
// (undocumented)
"IR Repeater" = 160,
// (undocumented)
"Manufacturer Proprietary" = 145,
// (undocumented)
"Manufacturer Specific" = 114,
// (undocumented)
"Meter Table Configuration" = 60,
// (undocumented)
"Meter Table Monitor" = 61,
// (undocumented)
"Meter Table Push Configuration" = 62,
// (undocumented)
"Move To Position Window Covering" = 81,
// (undocumented)
"Multi Channel Association" = 142,
// (undocumented)
"Multi Channel" = 96,
// (undocumented)
"Multi Command" = 143,
// (undocumented)
"Multilevel Sensor" = 49,
// (undocumented)
"Multilevel Switch" = 38,
// (undocumented)
"Multilevel Toggle Switch" = 41,
// (undocumented)
"Network Management Basic Node" = 77,
// (undocumented)
"Network Management Inclusion" = 52,
// (undocumented)
"Network Management Installation and Maintenance" = 103,
// (undocumented)
"Network Management Primary" = 84,
// (undocumented)
"Network Management Proxy" = 82,
// (undocumented)
"No Operation" = 0,
// (undocumented)
"Node Naming and Location" = 119,
// (undocumented)
"Node Provisioning" = 120,
// (undocumented)
"Prepayment Encapsulation" = 65,
// (undocumented)
"Pulse Meter" = 53,
// (undocumented)
"Rate Table Configuration" = 72,
// (undocumented)
"Rate Table Monitor" = 73,
// (undocumented)
"Remote Association Activation" = 124,
// (undocumented)
"Remote Association Configuration" = 125,
// (undocumented)
"Scene Activation" = 43,
// (undocumented)
"Scene Actuator Configuration" = 44,
// (undocumented)
"Scene Controller Configuration" = 45,
// (undocumented)
"Schedule Entry Lock" = 78,
// (undocumented)
"Screen Attributes" = 147,
// (undocumented)
"Screen Meta Data" = 146,
// (undocumented)
"Security 2" = 159,
// (undocumented)
"Security Mark" = 61696,
// (undocumented)
"Sensor Configuration" = 158,
// (undocumented)
"Simple AV Control" = 148,
// (undocumented)
"Sound Switch" = 121,
// (undocumented)
"Support/Control Mark" = 239,
// (undocumented)
"Tariff Table Configuration" = 74,
// (undocumented)
"Tariff Table Monitor" = 75,
// (undocumented)
"Thermostat Fan Mode" = 68,
// (undocumented)
"Thermostat Fan State" = 69,
// (undocumented)
"Thermostat Mode" = 64,
// (undocumented)
"Thermostat Operating State" = 66,
// (undocumented)
"Thermostat Setback" = 71,
// (undocumented)
"Thermostat Setpoint" = 67,
// (undocumented)
"Time Parameters" = 139,
// (undocumented)
"Transport Service" = 85,
// (undocumented)
"User Code" = 99,
// (undocumented)
"Wake Up" = 132,
// (undocumented)
"Window Covering" = 106,
// (undocumented)
"Z-Wave Plus Info" = 94,
// (undocumented)
"Z-Wave Protocol" = 1,
// (undocumented)
"Z/IP 6LoWPAN" = 79,
// (undocumented)
"Z/IP Gateway" = 95,
// (undocumented)
"Z/IP Naming and Location" = 104,
// (undocumented)
"Z/IP ND" = 88,
// (undocumented)
"Z/IP Portal" = 97,
// (undocumented)
"Z/IP" = 35,
// (undocumented)
"Association" = 133,
// (undocumented)
"Authentication" = 161,
// (undocumented)
"Basic" = 32,
// (undocumented)
"Battery" = 128,
// (undocumented)
"Clock" = 129,
// (undocumented)
"Configuration" = 112,
// (undocumented)
"Hail" = 130,
// (undocumented)
"Indicator" = 135,
// (undocumented)
"Irrigation" = 107,
// (undocumented)
"Language" = 137,
// (undocumented)
"Lock" = 118,
// (undocumented)
"Mailbox" = 105,
// (undocumented)
"Meter" = 50,
// (undocumented)
"Notification" = 113,
// (undocumented)
"Powerlevel" = 115,
// (undocumented)
"Prepayment" = 63,
// (undocumented)
"Proprietary" = 136,
// (undocumented)
"Protection" = 117,
// (undocumented)
"Schedule" = 83,
// (undocumented)
"Security" = 152,
// (undocumented)
"Supervision" = 108,
// (undocumented)
"Time" = 138,
// (undocumented)
"Version" = 134
}
// Warning: (ae-missing-release-tag) "CommandClassInfo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CommandClassInfo {
isControlled: boolean;
isSupported: boolean;
secure: boolean;
version: number;
}
// Warning: (ae-missing-release-tag) "computeCMAC" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function computeCMAC(message: Buffer, key: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "computeMAC" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function computeMAC(authData: Buffer, key: Buffer, iv?: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "computeNoncePRK" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function computeNoncePRK(senderEI: Buffer, receiverEI: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "computePRK" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function computePRK(ecdhSharedSecret: Buffer, pubKeyA: Buffer, pubKeyB: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "ConfigurationMetadata" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ConfigurationMetadata extends ValueMetadataAny {
// (undocumented)
allowManualEntry?: boolean;
// (undocumented)
default?: ConfigValue;
// (undocumented)
format?: ConfigValueFormat;
// (undocumented)
info?: string;
// (undocumented)
isAdvanced?: boolean;
// (undocumented)
isFromConfig?: boolean;
// (undocumented)
max?: ConfigValue;
// (undocumented)
min?: ConfigValue;
// (undocumented)
name?: string;
// (undocumented)
noBulkSupport?: boolean;
// (undocumented)
requiresReInclusion?: boolean;
// (undocumented)
states?: Record<number, string>;
// (undocumented)
unit?: string;
// (undocumented)
valueSize?: number;
}
// Warning: (tsdoc-undefined-tag) The TSDoc tag "@publicAPI" is not defined in this configuration
// Warning: (ae-missing-release-tag) "ConfigValue" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type ConfigValue = number | Set<number>;
// Warning: (ae-missing-release-tag) "ConfigValueFormat" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum ConfigValueFormat {
// (undocumented)
BitField = 3,
// (undocumented)
Enumerated = 2,
// (undocumented)
SignedInteger = 0,
// (undocumented)
UnsignedInteger = 1
}
// Warning: (ae-missing-release-tag) "CONTROL_CHAR_WIDTH" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const CONTROL_CHAR_WIDTH = 2;
// Warning: (ae-missing-release-tag) "CONTROLLER_LABEL" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const CONTROLLER_LABEL = "CNTRLR";
// Warning: (ae-missing-release-tag) "ControllerCapabilityFlags" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ControllerCapabilityFlags {
// (undocumented)
NoNodesIncluded = 32,
// (undocumented)
OnOtherNetwork = 2,
// (undocumented)
Secondary = 1,
// (undocumented)
SISPresent = 4,
// (undocumented)
SUC = 16,
// (undocumented)
WasRealPrimary = 8
}
// Warning: (ae-missing-release-tag) "ControllerLogContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ControllerLogContext = ControllerSelfLogContext | ControllerNodeLogContext | ControllerValueLogContext;
// Warning: (ae-missing-release-tag) "ControllerLogger" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class ControllerLogger extends ZWaveLoggerBase<ControllerLogContext> {
constructor(loggers: ZWaveLogContainer);
interviewStage(node: Interviewable): void;
interviewStart(node: Interviewable): void;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
logNode(nodeId: number, message: string, level?: "debug" | "verbose" | "warn" | "error"): void;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
logNode(nodeId: number, options: LogNodeOptions): void;
metadataUpdated(args: LogValueArgs<ValueID>): void;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
print(message: string, level?: "verbose" | "warn" | "error"): void;
value(change: "added", args: LogValueArgs<ValueAddedArgs>): void;
// (undocumented)
value(change: "updated", args: LogValueArgs<ValueUpdatedArgs>): void;
// (undocumented)
value(change: "removed", args: LogValueArgs<ValueRemovedArgs>): void;
// (undocumented)
value(change: "notification", args: LogValueArgs<ValueNotificationArgs>): void;
// (undocumented)
valueEventPrefixes: Readonly<{
added: "+";
updated: "~";
removed: "-";
notification: "!";
}>;
}
// Warning: (ae-missing-release-tag) "ControllerNodeLogContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ControllerNodeLogContext = LogContext<"controller"> & NodeLogContext & {
endpoint?: number;
direction: string;
};
// Warning: (ae-missing-release-tag) "ControllerSelfLogContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ControllerSelfLogContext = LogContext<"controller"> & {
type: "controller";
};
// Warning: (ae-missing-release-tag) "ControllerValueLogContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ControllerValueLogContext = LogContext<"controller"> & ValueLogContext & {
direction?: string;
change?: "added" | "updated" | "removed" | "notification";
internal?: boolean;
};
// Warning: (ae-missing-release-tag) "CRC16_CCITT" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function CRC16_CCITT(data: Buffer, startValue?: number): number;
// Warning: (ae-missing-release-tag) "createDefaultTransportFormat" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createDefaultTransportFormat(colorize: boolean, shortTimestamps: boolean): Format;
// Warning: (ae-missing-release-tag) "createLoggerFormat" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createLoggerFormat(channel: string): Format;
// Warning: (ae-missing-release-tag) "createLogMessagePrinter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createLogMessagePrinter(shortTimestamps: boolean): Format;
// Warning: (ae-forgotten-export) The symbol "Constructor" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "createReflectionDecorator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createReflectionDecorator<TBase extends Object, TArgs extends any[], TValue, TConstructor extends Constructor<TBase> = Constructor<TBase>>({ name, valueFromArgs, constructorLookupKey, }: CreateReflectionDecoratorOptions<TBase, TArgs, TValue, TConstructor>): ReflectionDecorator<TBase, TArgs, TValue, TConstructor>;
// Warning: (ae-missing-release-tag) "CreateReflectionDecoratorOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CreateReflectionDecoratorOptions<TBase extends Object, TArgs extends any[], TValue, TConstructor extends Constructor<TBase> = Constructor<TBase>> {
constructorLookupKey?: false | ((target: TConstructor, ...args: TArgs) => string);
name: string;
valueFromArgs: (...args: TArgs) => TValue;
}
// Warning: (ae-missing-release-tag) "createReflectionDecoratorPair" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createReflectionDecoratorPair<TBase extends Object, TSuperArgs extends [any], TSubArgs extends [any], TConstructor extends Constructor<TBase> = Constructor<TBase>>({ superName, subName, }: CreateReflectionDecoratorPairOptions): ReflectionDecoratorPair<TBase, TSuperArgs, TSubArgs, TConstructor>;
// Warning: (ae-missing-release-tag) "CreateReflectionDecoratorPairOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CreateReflectionDecoratorPairOptions {
subName: string;
superName: string;
}
// Warning: (ae-missing-release-tag) "createSimpleReflectionDecorator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createSimpleReflectionDecorator<TBase extends Object, TArgs extends [any], TConstructor extends Constructor<TBase> = Constructor<TBase>>({ name, }: CreateSimpleReflectionDecoratorOptions): SimpleReflectionDecorator<TBase, TArgs, TConstructor>;
// Warning: (ae-missing-release-tag) "CreateSimpleReflectionDecoratorOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CreateSimpleReflectionDecoratorOptions {
name: string;
}
// Warning: (ae-missing-release-tag) "createValuelessReflectionDecorator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createValuelessReflectionDecorator<TBase extends Object>({ name, }: CreateValuelessReflectionDecoratorOptions): ValuelessReflectionDecorator<TBase>;
// Warning: (ae-missing-release-tag) "CreateValuelessReflectionDecoratorOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CreateValuelessReflectionDecoratorOptions {
name: string;
}
// Warning: (ae-missing-release-tag) "DataDirection" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DataDirection = "inbound" | "outbound" | "none";
// Warning: (ae-missing-release-tag) "DataRate" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DataRate = 9600 | 40000 | 100000;
// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
// Warning: (ae-missing-release-tag) "dbKeyToValueIdFast" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function dbKeyToValueIdFast(key: string): {
nodeId: number;
} & ValueID;
// Warning: (ae-missing-release-tag) "decodeX25519KeyDER" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function decodeX25519KeyDER(key: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "decryptAES128CCM" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function decryptAES128CCM(key: Buffer, iv: Buffer, ciphertext: Buffer, additionalData: Buffer, authTag: Buffer): {
plaintext: Buffer;
authOK: boolean;
};
// Warning: (ae-missing-release-tag) "decryptAES128OFB" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const decryptAES128OFB: (input: Buffer, key: Buffer, iv: Buffer) => Buffer;
// Warning: (ae-missing-release-tag) "deriveMEI" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function deriveMEI(noncePRK: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "deriveNetworkKeys" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function deriveNetworkKeys(PNK: Buffer): {
keyCCM: Buffer;
keyMPAN: Buffer;
personalizationString: Buffer;
};
// Warning: (ae-missing-release-tag) "deriveTempKeys" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function deriveTempKeys(PRK: Buffer): {
tempKeyCCM: Buffer;
tempPersonalizationString: Buffer;
};
// Warning: (ae-missing-release-tag) "deserializeCacheValue" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function deserializeCacheValue(value: SerializedValue): unknown;
// Warning: (ae-missing-release-tag) "directionPrefixPadding" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const directionPrefixPadding: string;
// Warning: (ae-missing-release-tag) "dskFromString" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function dskFromString(dsk: string): Buffer;
// Warning: (ae-missing-release-tag) "dskToString" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function dskToString(dsk: Buffer): string;
// Warning: (ae-missing-release-tag) "DSTInfo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface DSTInfo {
// (undocumented)
dstOffset: number;
// (undocumented)
endDate: Date;
// (undocumented)
standardOffset: number;
// (undocumented)
startDate: Date;
}
// Warning: (ae-missing-release-tag) "Duration" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class Duration {
constructor(value: number, unit: DurationUnit);
static from(input: "default"): Duration;
// (undocumented)
static from(input?: Duration | string): Duration | undefined;
static parseReport(payload?: number): Duration | undefined;
static parseSet(payload?: number): Duration | undefined;
static parseString(text: string): Duration | undefined;
serializeReport(): number;
serializeSet(): number;
// (undocumented)
toJSON(): string | JSONObject;
// (undocumented)
toMilliseconds(): number | undefined;
// (undocumented)
toString(): string;
// (undocumented)
unit: DurationUnit;
// (undocumented)
get value(): number;
set value(v: number);
}
// Warning: (ae-missing-release-tag) "DurationUnit" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DurationUnit = "seconds" | "minutes" | "unknown" | "default";
// Warning: (ae-missing-release-tag) "encapsulationCCs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const encapsulationCCs: readonly CommandClasses[];
// Warning: (ae-missing-release-tag) "EncapsulationFlags" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum EncapsulationFlags {
// (undocumented)
CRC16 = 4,
// (undocumented)
None = 0,
// (undocumented)
Security = 2,
// (undocumented)
Supervision = 1
}
// Warning: (ae-missing-release-tag) "encodeBitMask" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeBitMask(values: readonly number[], maxValue: number, startValue?: number): Buffer;
// Warning: (ae-missing-release-tag) "encodeBoolean" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeBoolean(val: boolean): number;
// Warning: (ae-missing-release-tag) "encodeCCId" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeCCId(ccId: CommandClasses, payload: Buffer, offset?: number): number;
// Warning: (ae-missing-release-tag) "encodeCCList" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeCCList(supportedCCs: readonly CommandClasses[], controlledCCs: readonly CommandClasses[]): Buffer;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-missing-release-tag) "encodeFloatWithScale" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeFloatWithScale(value: number, scale: number, override?: {
size?: number;
precision?: number;
}): Buffer;
// Warning: (ae-missing-release-tag) "encodeMaybeBoolean" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeMaybeBoolean(val: Maybe<boolean>): number;
// Warning: (ae-missing-release-tag) "encodeNodeInformationFrame" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeNodeInformationFrame(info: NodeInformationFrame): Buffer;
// Warning: (ae-missing-release-tag) "encodeNodeProtocolInfo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeNodeProtocolInfo(info: NodeProtocolInfo): Buffer;
// Warning: (ae-missing-release-tag) "encodeNodeProtocolInfoAndDeviceClass" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeNodeProtocolInfoAndDeviceClass(info: NodeProtocolInfoAndDeviceClass): Buffer;
// Warning: (ae-missing-release-tag) "encodeNodeUpdatePayload" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encodeNodeUpdatePayload(nif: NodeUpdatePayload): Buffer;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-missing-release-tag) "encodePartial" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodePartial(fullValue: number, partialValue: number, bitMask: number): number;
// Warning: (ae-missing-release-tag) "encodeX25519KeyDERPKCS8" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeX25519KeyDERPKCS8(key: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "encodeX25519KeyDERSPKI" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encodeX25519KeyDERSPKI(key: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "encryptAES128CCM" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function encryptAES128CCM(key: Buffer, iv: Buffer, plaintext: Buffer, additionalData: Buffer, authTagLength: number): {
ciphertext: Buffer;
authTag: Buffer;
};
// Warning: (ae-missing-release-tag) "encryptAES128ECB" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function encryptAES128ECB(plaintext: Buffer, key: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "encryptAES128OFB" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const encryptAES128OFB: (input: Buffer, key: Buffer, iv: Buffer) => Buffer;
// Warning: (ae-missing-release-tag) "enumValuesToMetadataStates" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function enumValuesToMetadataStates<T extends Record<string, any>>(enumeration: T, values?: readonly number[]): Record<number, string>;
// Warning: (ae-missing-release-tag) "extractFirmware" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function extractFirmware(rawData: Buffer, format: FirmwareFileFormat): Firmware;
// Warning: (ae-missing-release-tag) "Firmware" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Firmware {
// (undocumented)
data: Buffer;
// (undocumented)
firmwareTarget?: number;
}
// Warning: (ae-missing-release-tag) "FirmwareFileFormat" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type FirmwareFileFormat = "aeotec" | "otz" | "ota" | "hex" | "hec" | "gecko" | "bin";
// Warning: (ae-missing-release-tag) "FLiRS" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type FLiRS = false | "250ms" | "1000ms";
// Warning: (ae-missing-release-tag) "formatDate" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function formatDate(date: Date, format: string): string;
// Warning: (ae-missing-release-tag) "generateAuthKey" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function generateAuthKey(networkKey: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "generateEncryptionKey" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function generateEncryptionKey(networkKey: Buffer): Buffer;
// Warning: (ae-missing-release-tag) "getBitMaskWidth" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getBitMaskWidth(mask: number): number;
// Warning: (ae-missing-release-tag) "getCCName" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getCCName(cc: number): string;
// Warning: (ae-missing-release-tag) "getDefaultDSTInfo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getDefaultDSTInfo(defaultOffset?: number): DSTInfo;
// Warning: (ae-missing-release-tag) "getDirectionPrefix" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getDirectionPrefix(direction: DataDirection): "« " | "» " | " ";
// Warning: (ae-missing-release-tag) "getDSTInfo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getDSTInfo(now?: Date): DSTInfo;
// Warning: (ae-missing-release-tag) "getErrorSuffix" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getErrorSuffix(code: ZWaveErrorCodes): string;
// Warning: (ae-missing-release-tag) "getHighestSecurityClass" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getHighestSecurityClass(securityClasses: SecurityClass[]): SecurityClass;
// Warning: (ae-missing-release-tag) "getIntegerLimits" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getIntegerLimits(size: 1 | 2 | 3 | 4, signed: boolean): {
min: number;
max: number;
};
// Warning: (ae-missing-release-tag) "getLegalRangeForBitMask" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getLegalRangeForBitMask(mask: number, unsigned: boolean): [min: number, max: number];
// Warning: (ae-missing-release-tag) "getMinimumShiftForBitMask" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getMinimumShiftForBitMask(mask: number): number;
// Warning: (ae-missing-release-tag) "getMinIntegerSize" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function getMinIntegerSize(value: number, signed: boolean): 1 | 2 | 4 | undefined;
// Warning: (ae-missing-release-tag) "getNodeTag" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getNodeTag(nodeId: number): string;
// Warning: (ae-missing-release-tag) "getNumericEnumValues" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function getNumericEnumValues<T extends Record<string, any>>(enumeration: T): readonly number[];
// Warning: (ae-missing-release-tag) "GraphNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class GraphNode<T> {
constructor(value: T, edges?: Iterable<GraphNode<T>>);
readonly edges: Set<GraphNode<T>>;
readonly value: T;
}
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-missing-release-tag) "guessFirmwareFileFormat" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function guessFirmwareFileFormat(filename: string, rawData: Buffer): FirmwareFileFormat;
// Warning: (ae-missing-release-tag) "highResTimestamp" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function highResTimestamp(): number;
// Warning: (ae-missing-release-tag) "HOMEID_BYTES" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const HOMEID_BYTES = 4;
// Warning: (ae-missing-release-tag) "ICommandClass" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface ICommandClass {
// (undocumented)
ccCommand?: number;
// (undocumented)
ccId: CommandClasses;
// (undocumented)
expectsCCResponse(): boolean;
// (undocumented)
isExpectedCCResponse(received: ICommandClass): boolean;
// (undocumented)
nodeId: number | MulticastDestination;
// (undocumented)
serialize(): Buffer;
}
// Warning: (ae-missing-release-tag) "indexDBsByNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function indexDBsByNode(databases: JsonlDB[]): Map<number, Set<string>>;
// Warning: (ae-missing-release-tag) "IntegerLimits" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const IntegerLimits: Readonly<{
UInt8: Readonly<{
min: 0;
max: 255;
}>;
UInt16: Readonly<{
min: 0;
max: 65535;
}>;
UInt24: Readonly<{
min: 0;
max: 16777215;
}>;
UInt32: Readonly<{
min: 0;
max: 4294967295;
}>;
Int8: Readonly<{
min: -128;
max: 127;
}>;
Int16: Readonly<{
min: -32768;
max: 32767;
}>;
Int24: Readonly<{
min: -8388608;
max: 8388607;
}>;
Int32: Readonly<{
min: -2147483648;
max: 2147483647;
}>;
}>;
// Warning: (ae-missing-release-tag) "Interviewable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Interviewable {
// (undocumented)
id: number;
// (undocumented)
interviewStage: InterviewStage;
}
// Warning: (ae-missing-release-tag) "InterviewStage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum InterviewStage {
CommandClasses = 3,
Complete = 5,
NodeInfo = 2,
None = 0,
OverwriteConfig = 4,
ProtocolInfo = 1
}
// Warning: (ae-missing-release-tag) "isConsecutiveArray" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function isConsecutiveArray(values: number[]): boolean;
// Warning: (ae-missing-release-tag) "isExtendedCCId" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isExtendedCCId(ccId: CommandClasses): boolean;
// Warning: (ae-missing-release-tag) "isMessagePriority" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isMessagePriority(val: unknown): val is MessagePriority;
// Warning: (ae-missing-release-tag) "isRecoverableZWaveError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function isRecoverableZWaveError(e: unknown): e is ZWaveError;
// Warning: (ae-missing-release-tag) "isRssiError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isRssiError(rssi: RSSI): rssi is RssiError;
// Warning: (ae-missing-release-tag) "isSupervisionResult" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isSupervisionResult(obj: unknown): obj is SupervisionResult;
// Warning: (ae-missing-release-tag) "isTransmissionError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isTransmissionError(e: unknown): e is ZWaveError & {
code: ZWaveErrorCodes.Controller_Timeout | ZWaveErrorCodes.Controller_MessageDropped | ZWaveErrorCodes.Controller_CallbackNOK | ZWaveErrorCodes.Controller_ResponseNOK | ZWaveErrorCodes.Controller_NodeTimeout | ZWaveErrorCodes.Security2CC_CannotDecode;
};
// Warning: (ae-missing-release-tag) "isUnsupervisedOrSucceeded" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isUnsupervisedOrSucceeded(result: SupervisionResult | undefined): result is undefined | (SupervisionResult & {
status: SupervisionStatus.Success | SupervisionStatus.Working;
});
// Warning: (ae-missing-release-tag) "isValidDSK" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isValidDSK(dsk: string): boolean;
// Warning: (ae-missing-release-tag) "isValueID" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isValueID(param: Record<any, any>): param is ValueID;
// Warning: (ae-missing-release-tag) "isZWaveError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function isZWaveError(e: unknown): e is ZWaveError;
// Warning: (ae-missing-release-tag) "IVirtualEndpoint" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface IVirtualEndpoint {
// (undocumented)
getCCVersion(cc: CommandClasses): number;
// (undocumented)
readonly index: number;
// (undocumented)
readonly node: IVirtualNode;
// (undocumented)
readonly nodeId: number | MulticastDestination;
// (undocumented)
supportsCC(cc: CommandClasses): boolean;
// (undocumented)
readonly virtual: true;
}
// Warning: (ae-missing-release-tag) "IVirtualNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface IVirtualNode extends IVirtualEndpoint {
// (undocumented)
getEndpoint(index: 0): IVirtualEndpoint;
// (undocumented)
getEndpoint(index: number): IVirtualEndpoint | undefined;
// (undocumented)
getEndpointOrThrow(index: number): IVirtualEndpoint;
// (undocumented)
readonly id: number | undefined;
// (undocumented)
readonly physicalNodes: readonly IZWaveNode[];
}
// Warning: (ae-missing-release-tag) "IZWaveEndpoint" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface IZWaveEndpoint {
// (undocumented)
addCC(cc: CommandClasses, info: Partial<CommandClassInfo>): void;
// (undocumented)
controlsCC(cc: CommandClasses): boolean;
// (undocumented)
getCCs(): Iterable<[ccId: CommandClasses, info: CommandClassInfo]>;
// (undocumented)
getCCVersion(cc: CommandClasses): number;
// (undocumented)
getNodeUnsafe(): IZWaveNode | undefined;
// (undocumented)
readonly index: number;
// (undocumented)
isCCSecure(cc: CommandClasses): boolean;
// (undocumented)
readonly nodeId: number;
// (undocumented)
removeCC(cc: CommandClasses): void;
// (undocumented)
supportsCC(cc: CommandClasses): boolean;
// (undocumented)
readonly virtual: false;
}
// Warning: (ae-missing-release-tag) "IZWaveNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface IZWaveNode extends IZWaveEndpoint, SecurityClassOwner {
// (undocumented)
readonly canSleep: boolean | undefined;
// (undocumented)
getAllEndpoints(): IZWaveEndpoint[];
// (undocumented)
getEndpoint(index: 0): IZWaveEndpoint;
// (undocumented)
getEndpoint(index: number): IZWaveEndpoint | undefined;
// (undocumented)
getEndpointOrThrow(index: number): IZWaveEndpoint;
// (undocumented)
readonly id: number;
// (undocumented)
interviewStage: InterviewStage;
// (undocumented)
isFrequentListening: FLiRS | undefined;
// (undocumented)
isListening: boolean | undefined;
// (undocumented)
readonly isSecure: Maybe<boolean>;
// (undocumented)
readonly status: NodeStatus;
}
// Warning: (ae-missing-release-tag) "LOG_PREFIX_WIDTH" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const LOG_PREFIX_WIDTH = 20;
// Warning: (ae-missing-release-tag) "LOG_WIDTH" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const LOG_WIDTH = 80;
// Warning: (ae-missing-release-tag) "LogConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LogConfig {
// (undocumented)
enabled: boolean;
// (undocumented)
filename: string;
// (undocumented)
forceConsole: boolean;
// (undocumented)
level: string | number;
// (undocumented)