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