UNPKG

matterbridge-aeg-robot

Version:

A Matterbridge plugin that connects AEG RX 9 / Electrolux Pure i9 robot vacuums to the Matter smart home ecosystem.

29 lines 1.3 kB
import { AEGApplianceRX9 } from './aeg-appliance-rx9.js'; import { AnsiLogger } from 'matterbridge/logger'; import { Config } from './config-types.js'; import { BabelStaticRX9 } from './babel-static-rx9.js'; import { BABEL_DYNAMIC_RX9 } from './babel-dynamic-rx9.js'; import { MaybePromise } from 'matterbridge/matter'; type BabelDynamicRX9 = typeof BABEL_DYNAMIC_RX9; type BabelEventRX9 = keyof BabelDynamicRX9; type BabelStatusRX9 = { [K in BabelEventRX9]: ReturnType<BabelDynamicRX9[K]>; }; export type BabelListenerRX9<Event extends BabelEventRX9> = (value: BabelStatusRX9[Event]) => MaybePromise; export type BabelListenersRX9 = { [Event in BabelEventRX9]: BabelListenerRX9<Event>[]; }; export declare class BabelRX9 { readonly log: AnsiLogger; readonly config: Config; readonly appliance: AEGApplianceRX9; readonly basicInformation: BabelStaticRX9; private readonly listeners; private readonly emittedState; constructor(log: AnsiLogger, config: Config, appliance: AEGApplianceRX9); on<Event extends BabelEventRX9>(event: Event, listener: BabelListenerRX9<Event>): this; emitIfChanged(event: BabelEventRX9): Promise<void>; getState<K extends BabelEventRX9>(event: K): BabelStatusRX9[K] | undefined; } export {}; //# sourceMappingURL=babel-rx9.d.ts.map