///
///
import * as t from './types';
import { EZSPFrameDesc, ParamsDesc } from './commands';
import { EmberStatus, EmberOutgoingMessageType, EzspPolicyId } from './types/named';
import { EventEmitter } from 'events';
import { EmberApsFrame, EmberNetworkParameters } from './types/struct';
import { SerialPortOptions } from '../../tstype';
type EZSPFrame = {
sequence: number;
frameId: number;
frameName: string;
payload: EZSPFrameData;
};
export declare class EZSPFrameData {
_cls_: string;
_id_: number;
_isRequest_: boolean;
[name: string]: any;
static createFrame(ezspv: number, frame_id: number, isRequest: boolean, params: ParamsDesc | Buffer): EZSPFrameData;
static getFrame(name: string): EZSPFrameDesc;
constructor(key: string, isRequest: boolean, params: ParamsDesc | Buffer);
serialize(): Buffer;
get name(): string;
get id(): number;
}
export declare class EZSPZDORequestFrameData {
_cls_: string;
_id_: number;
_isRequest_: boolean;
[name: string]: any;
static getFrame(key: string | number): EZSPFrameDesc;
constructor(key: string | number, isRequest: boolean, params: ParamsDesc | Buffer);
serialize(): Buffer;
get name(): string;
get id(): number;
}
export declare class EZSPZDOResponseFrameData {
_cls_: string;
_id_: number;
[name: string]: any;
static getFrame(key: string | number): ParamsDesc;
constructor(key: string | number, params: ParamsDesc | Buffer);
serialize(): Buffer;
get name(): string;
get id(): number;
}
export declare class Ezsp extends EventEmitter {
ezspV: number;
cmdSeq: number;
private serialDriver;
private waitress;
private queue;
private watchdogTimer;
private failures;
private inResetingProcess;
constructor();
connect(options: SerialPortOptions): Promise;
isInitialized(): boolean;
private onSerialReset;
private onSerialClose;
close(emitClose: boolean): Promise;
/**
* Handle a received EZSP frame
*
* The protocol has taken care of UART specific framing etc, so we should
* just have EZSP application stuff here, with all escaping/stuffing and
* data randomization removed.
* @param data
*/
private onFrameReceived;
version(): Promise;
networkInit(): Promise;
leaveNetwork(): Promise;
setConfigurationValue(configId: number, value: number): Promise;
getConfigurationValue(configId: number): Promise;
getMulticastTableEntry(index: number): Promise;
setMulticastTableEntry(index: number, entry: t.EmberMulticastTableEntry): Promise;
setInitialSecurityState(entry: t.EmberInitialSecurityState): Promise;
getCurrentSecurityState(): Promise;
setValue(valueId: t.EzspValueId, value: number): Promise;
getValue(valueId: t.EzspValueId): Promise;
setPolicy(policyId: EzspPolicyId, value: number): Promise;
updateConfig(): Promise;
updatePolicies(): Promise;
makeZDOframe(name: string | number, params: ParamsDesc): Buffer;
private makeFrame;
execCommand(name: string, params?: ParamsDesc): Promise;
formNetwork(params: EmberNetworkParameters): Promise;
sendUnicast(direct: EmberOutgoingMessageType, nwk: number, apsFrame: EmberApsFrame, seq: number, data: Buffer): Promise;
sendMulticast(apsFrame: EmberApsFrame, seq: number, data: Buffer): Promise;
setSourceRouting(): Promise;
sendBroadcast(destination: number, apsFrame: EmberApsFrame, seq: number, data: Buffer): Promise;
waitFor(frameId: string | number, sequence: number | null, timeout?: number): {
start: () => {
promise: Promise;
ID: number;
};
ID: number;
};
private waitressTimeoutFormatter;
private waitressValidator;
private watchdogHandler;
}
export {};
//# sourceMappingURL=ezsp.d.ts.map