ember-zli
Version:
Interact with EmberZNet-based adapters using zigbee-herdsman 'ember' driver
44 lines (43 loc) • 1.25 kB
TypeScript
import EventEmitter from "node:events";
import { Readable } from "node:stream";
import type { PortConf } from "./types.js";
type SetOptions = {
brk?: boolean;
cts?: boolean;
dsr?: boolean;
dtr?: boolean;
rts?: boolean;
};
declare class TransportWriter extends Readable {
writeBuffer(buffer: Buffer): void;
_read(): void;
}
export declare enum TransportEvent {
CLOSED = "closed",
DATA = "data",
FAILED = "failed"
}
interface SerialEventMap {
[TransportEvent.CLOSED]: [];
[TransportEvent.DATA]: [data: Buffer];
[TransportEvent.FAILED]: [];
}
/**
* Serial or Socket based transport based on passed conf.
*/
export declare class Transport extends EventEmitter<SerialEventMap> {
#private;
connected: boolean;
readonly portConf: PortConf;
portWriter: TransportWriter | undefined;
constructor(portConf: PortConf);
get isSerial(): boolean;
close(emitClosed: boolean, emitFailed?: boolean): Promise<void>;
initPort(customPortWriter?: TransportWriter, baudRate?: number): Promise<void>;
serialSet(options: SetOptions, afterDelayMS?: number): Promise<void>;
write(buffer: Buffer): void;
private emitData;
private onPortClose;
private onPortError;
}
export {};