lifxlan
Version:
TypeScript library for controlling LIFX products over LAN
30 lines • 989 B
TypeScript
export interface Device {
address: string;
port: number;
target: Uint8Array;
serialNumber: string;
sequence: number;
}
export interface DeviceConfig {
address: string;
serialNumber?: string;
port?: number;
target?: Uint8Array;
sequence?: number;
}
export declare function Device(config: DeviceConfig): Device;
export interface DevicesOptions {
onAdded?: (device: Device) => void;
onChanged?: (device: Device) => void;
onRemoved?: (device: Device) => void;
defaultTimeoutMs?: number;
}
export interface DevicesInstance {
readonly registered: Map<string, Device>;
register(serialNumber: string, port: number, address: string, target?: Uint8Array): Device;
remove(serialNumber: string): boolean;
get(serialNumber: string, signal?: AbortSignal): Promise<Device>;
[Symbol.iterator](): Iterator<Device>;
}
export declare function Devices(options?: DevicesOptions): DevicesInstance;
//# sourceMappingURL=devices.d.ts.map