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
TypeScript
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