UNPKG

matterbridge-roborock-vacuum-plugin

Version:
37 lines 1.59 kB
import { AnsiLogger } from 'matterbridge/logger'; import { Behavior, MaybePromise } from 'matterbridge/matter'; export declare const CommandNames: { readonly IDENTIFY: "identify"; readonly SELECT_AREAS: "selectAreas"; readonly CHANGE_TO_MODE: "changeToMode"; readonly PAUSE: "pause"; readonly RESUME: "resume"; readonly GO_HOME: "goHome"; readonly STOP: "stop"; }; export interface DeviceEndpointCommands extends DeviceCommands { selectAreas: (newAreas: number[]) => MaybePromise; changeToMode: (newMode: number) => MaybePromise; pause: () => MaybePromise; resume: () => MaybePromise; goHome: () => MaybePromise; identify: (identifyTime: number) => MaybePromise; stop: () => MaybePromise; } export type DeviceCommandHandler = (...args: never[]) => MaybePromise; export type DeviceCommands = Record<string, DeviceCommandHandler>; export declare class BehaviorDeviceGeneric<Commands extends DeviceCommands> { readonly log: AnsiLogger; readonly commands: Partial<Commands>; constructor(log: AnsiLogger); setCommandHandler<Command extends keyof Commands>(command: Command, handler: Commands[Command]): void; executeCommand<Command extends keyof Commands>(command: Command, ...args: Parameters<Commands[Command]>): Promise<void>; } export declare class BehaviorRoborock extends Behavior { static readonly id = "roborock.vacuum.axx"; state: BehaviorRoborockState; } export interface BehaviorRoborockState { device: BehaviorDeviceGeneric<DeviceCommands>; } //# sourceMappingURL=BehaviorDeviceGeneric.d.ts.map