lifxlan
Version:
TypeScript library for controlling LIFX products over LAN
21 lines • 692 B
TypeScript
import type { Device } from './devices.js';
import type { StateGroup } from './encoding.js';
export interface Group {
label: string;
uuid: string;
devices: Device[];
}
export interface GroupsOptions {
onAdded?: (group: Group) => void;
onChanged?: (group: Group) => void;
onRemoved?: (group: Group) => void;
}
export interface GroupsInstance {
readonly registered: Map<string, Group>;
register(device: Device, group: StateGroup): void;
remove(uuid: string): void;
removeDevice(device: Device): void;
[Symbol.iterator](): Iterator<Group>;
}
export declare function Groups(options?: GroupsOptions): GroupsInstance;
//# sourceMappingURL=groups.d.ts.map