import { RvcOperationalState, RvcRunMode } from 'matterbridge/matter/clusters';
/**
 * Complete run mode configuration including display name, mode, and Matter tags.
 */
export interface RunModeConfig {
    mode: number;
    label: RunModeLabel;
    modeTags: {
        value: RvcRunMode.ModeTag;
    }[];
}
export declare enum RunModeDisplayLabel {
    Idle = "Idle",
    Cleaning = "Cleaning",
    Mapping = "Mapping"
}
export type RunModeLabel = RunModeDisplayLabel.Idle | RunModeDisplayLabel.Cleaning | RunModeDisplayLabel.Mapping;
interface RunModeLabelInfoStruct {
    label: RunModeLabel;
    mode: number;
}
export declare const RunModeLabelInfo: Record<RunModeLabel, RunModeLabelInfoStruct>;
/**
 * Base run mode configurations.
 */
export declare const baseRunModeConfigs: RunModeConfig[];
/**
 * Helper functions to extract different views of the configuration.
 */
export declare function getRunModeDisplayMap(configs: RunModeConfig[]): Record<number, string>;
export declare function getRunModeOptions(configs: RunModeConfig[]): RvcRunMode.ModeOption[];
export declare function getDefaultOperationalStates(): RvcOperationalState.OperationalStateStruct[];
export {};
//# sourceMappingURL=runModeConfig.d.ts.map