import events from "node:events"; import type { Backup } from "../../../models"; import type { NetworkOptions, SerialPortOptions } from "../../tstype"; import { type ApsDataRequest, type ApsRequest, NetworkState, ParamId, type ReceivedDataResponse, type Request } from "./constants"; export declare const busyQueue: Array; export declare const apsQueue: Array; export declare const apsBusyQueue: Array; declare class Driver extends events.EventEmitter { private serialPort?; private serialPortOptions; private writer; private parser; private frameParserEvent; private seqNumber; private deviceStatus; private configChanged; private socketPort?; private timeoutCounter; private watchdogTriggeredTime; private lastFirmwareRxTime; private tickTimer; private driverStateStart; private driverState; private firmwareLog; private transactionID; private txState; private txCommand; private txSeq; private txTime; private networkOptions; private backup; private configMatchesBackup; private configIsNewNetwork; restoredFromBackup: boolean; paramMacAddress: bigint; paramTcAddress: bigint; paramFirmwareVersion: number; paramCurrentChannel: number; paramNwkPanid: number; paramNwkKey: Buffer; paramEndpoint0: Buffer | undefined; paramEndpoint1: Buffer | undefined; fixParamEndpoint0: Buffer; fixParamEndpoint1: Buffer; paramNwkUpdateId: number; paramChannelMask: number; paramProtocolVersion: number; paramFrameCounter: number; paramApsUseExtPanid: bigint; constructor(serialPortOptions: SerialPortOptions, networkOptions: NetworkOptions, backup: Backup | undefined, firmwareLog: string[]); cleanupAllQueues(): void; started(): boolean; protected intervals: NodeJS.Timeout[]; protected registerInterval(interval: NodeJS.Timeout): void; protected catchPromise(val: Promise): Promise>; nextTransactionID(): number; private tick; private emitStateEvent; private needWatchdogReset; private resetWatchdog; private handleFirmwareEvent; private handleConnectedStateEvent; private handleConnectingStateEvent; private isNetworkConfigurationValid; private reconfigureNetwork; private handleReadConfigurationStateEvent; private handleReconfigureStateEvent; private handleWaitToReconnectStateEvent; private handleCloseAndRestartStateEvent; private handleApsQueueOnDeviceState; private handleStateEvent; private onPortClose; private onPortError; private isOpen; openSerialPort(baudrate: number): Promise; private openSocketPort; close(): Promise; readParameterRequest(parameterId: ParamId, parameter?: Buffer | number | bigint): Promise; writeParameterRequest(parameterId: ParamId, parameter: Buffer | number | bigint): Promise; private sendChangeChannelRequest; writeLinkKey(ieeeAddress: string, hashedKey: Buffer): Promise; readFirmwareVersionRequest(): Promise; readDeviceStatusRequest(): Promise; private sendReadParameterRequest; private sendWriteParameterRequest; private sendReadFirmwareVersionRequest; private sendReadDeviceStateRequest; private sendRequest; private processQueue; private processBusyQueueTimeouts; changeNetworkStateRequest(networkState: NetworkState): Promise; private sendChangeNetworkStateRequest; private checkDeviceStatus; enqueueApsDataRequest(request: ApsDataRequest): Promise; private processApsQueue; private sendReadApsConfirmRequest; private sendReadApsIndicationRequest; private sendEnqueueApsDataRequest; private processApsBusyQueueTimeouts; private calcCrc; macAddrStringToArray(addr: string): Array; macAddrArrayToString(addr: Array): string; /** * generalArrayToString result is not reversed! */ generalArrayToString(key: Array, length: number): string; private nextSeqNumber; private onParsed; } export default Driver; //# sourceMappingURL=driver.d.ts.map