matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
69 lines • 3.24 kB
TypeScript
import { RvcCleanMode } from 'matterbridge/matter/clusters';
import { CleanModeSetting } from './CleanModeSetting.js';
/**
* Complete mode configuration including display name, settings, and Matter tags.
*/
export interface CleanModeConfig {
mode: number;
label: string;
setting: CleanModeSetting;
modeTags: {
value: number;
}[];
}
export declare enum CleanModeDisplayLabel {
SmartPlan = "Smart Plan",
VacuumAndMopDefault = "Vacuum & Mop: Default",
VacuumAndMopQuick = "Vacuum & Mop: Quick",
VacuumAndMopMax = "Vacuum & Mop: Max",
VacuumAndMopMin = "Vacuum & Mop: Min",
VacuumAndMopQuiet = "Vacuum & Mop: Quiet",
VacuumAndMopEnergySaving = "Vacuum & Mop: Energy Saving",
VacFollowedByMop = "Vacuum & Mop: Vac Follow by Mop",
VacuumAndMopDeep = "Vacuum & Mop: Deep",
MopDefault = "Mop: Default",
MopMax = "Mop: Max",
MopMin = "Mop: Min",
MopQuick = "Mop: Quick",
MopDeep = "Mop: Deep",
VacuumDefault = "Vacuum: Default",
VacuumMin = "Vacuum: Min",
VacuumMax = "Vacuum: Max",
VacuumQuiet = "Vacuum: Quiet",
VacuumQuick = "Vacuum: Quick",
GoVacation = "Go Vacation"
}
export type CleanModeLabel = CleanModeDisplayLabel.SmartPlan | CleanModeDisplayLabel.VacuumAndMopDefault | CleanModeDisplayLabel.VacuumAndMopQuick | CleanModeDisplayLabel.VacuumAndMopMax | CleanModeDisplayLabel.VacuumAndMopMin | CleanModeDisplayLabel.VacuumAndMopQuiet | CleanModeDisplayLabel.VacuumAndMopEnergySaving | CleanModeDisplayLabel.VacuumAndMopDeep | CleanModeDisplayLabel.MopDefault | CleanModeDisplayLabel.MopMax | CleanModeDisplayLabel.MopMin | CleanModeDisplayLabel.MopQuick | CleanModeDisplayLabel.MopDeep | CleanModeDisplayLabel.VacuumDefault | CleanModeDisplayLabel.VacuumMax | CleanModeDisplayLabel.VacuumQuiet | CleanModeDisplayLabel.VacuumQuick | CleanModeDisplayLabel.GoVacation | CleanModeDisplayLabel.VacFollowedByMop;
interface CleanModeLabelInfoStruct {
label: CleanModeLabel;
mode: number;
}
export declare const CleanModeLabelInfo: Record<CleanModeLabel, CleanModeLabelInfoStruct>;
/**
* Base clean mode configurations shared across all device types.
*/
export declare const baseCleanModeConfigs: CleanModeConfig[];
/**
* Smart Plan mode configuration.
* Exported for use in deviceCapabilityRegistry.ts.
*/
export declare const smartPlanModeConfig: CleanModeConfig;
/**
* Vacuum Followed by Mop mode configuration.
* Exported for use in deviceCapabilityRegistry.ts.
*/
export declare const vacFollowedByMopModeConfig: CleanModeConfig;
export declare const vacAndMopDeepModeConfig: CleanModeConfig;
/**
* Smart device-specific mode configurations.
* @deprecated Use deviceCapabilityRegistry.ts to manage per-device modes.
*/
export declare const smartCleanModeConfigs: CleanModeConfig[];
/**
* Helper functions to extract different views of the configuration.
*/
export declare function getModeDisplayMap(configs: CleanModeConfig[]): Record<number, string>;
export declare function getModeSettingsMap(configs: CleanModeConfig[]): Record<number, CleanModeSetting>;
export declare function getModeOptions(configs: CleanModeConfig[]): RvcCleanMode.ModeOption[];
export {};
//# sourceMappingURL=cleanModeConfig.d.ts.map