import { OTWFirmwareUpdateResult, Endpoint, FirmwareUpdateResult, ConfigValue, SetValueResult, ZWaveNode } from "zwave-js"; import type { GetFirmwareUpdatesOptions } from "zwave-js/Controller"; import type { Client } from "./server.js"; import { Firmware, FirmwareFileFormat, MaybeNotKnown, RFRegion, SupervisionResult } from "@zwave-js/core"; import { IncomingCommandNodeGetRawConfigParameterValue, IncomingCommandNodeSetRawConfigParameterValue } from "./node/incoming_message.js"; import { IncomingCommandEndpointGetRawConfigParameterValue, IncomingCommandEndpointSetRawConfigParameterValue } from "./endpoint/incoming_message.js"; export interface BufferObject { type: "Buffer"; data: number[]; } export declare function isBufferObject(obj: unknown): obj is { type: "Buffer"; data: number[]; }; export declare function deserializeBufferInArray(array: unknown[]): unknown[]; export declare function deserializeBuffer(value: string | BufferObject): string | Uint8Array; export type SetValueResultType = { result: SetValueResult; } | { success: boolean; }; export declare function setValueOutgoingMessage(result: SetValueResult, schemaVersion: number): SetValueResultType; export type FirmwareUpdateResultType = { result: OTWFirmwareUpdateResult | FirmwareUpdateResult; } | { success: boolean; }; export type OTWFirmwareUpdateResultType = { result: OTWFirmwareUpdateResult; }; export declare function firmwareUpdateOutgoingMessage(result: T, schemaVersion: number): { result: T; } | { success: boolean; }; export declare function setRawConfigParameterValue(message: IncomingCommandNodeSetRawConfigParameterValue | IncomingCommandEndpointSetRawConfigParameterValue, nodeOrEndpoint: ZWaveNode | Endpoint): Promise<{ result?: SupervisionResult; }>; export declare function getRawConfigParameterValue(message: IncomingCommandNodeGetRawConfigParameterValue | IncomingCommandEndpointGetRawConfigParameterValue, nodeOrEndpoint: ZWaveNode | Endpoint): Promise<{ value: MaybeNotKnown; }>; /** * Parses a firmware file (handling format detection and ZIP extraction) * and extracts the firmware data. */ export declare function parseAndExtractFirmware(filename: string, rawData: Uint8Array, explicitFormat?: FirmwareFileFormat): Promise; export declare function getFirmwareUpdateOptions(message: { apiKey?: string; includePrereleases?: boolean; rfRegion?: RFRegion; }, client: Client): GetFirmwareUpdatesOptions;