import { CleanModeConfig } from './cleanModeConfig/index.js';
import { CleanModeSetting } from './CleanModeSetting.js';
declare enum BehaviorType {
    Default = "default",
    Smart = "smart"
}
/**
 * Resolve current clean mode from device settings using mode configurations.
 * Supports both default and smart device types through configuration injection.
 */
export declare class ModeResolver {
    readonly behavior: BehaviorType;
    private readonly settingsToModeMap;
    private readonly customCheckFn?;
    constructor(configs: CleanModeConfig[], customCheckFn?: (setting: CleanModeSetting) => number | undefined, behavior?: BehaviorType);
    /**
     * Determine current mode from device settings.
     */
    resolve(setting: CleanModeSetting): number | undefined;
    private serializeSetting;
    private resolveFallback;
}
/**
 * Create resolver for default devices.
 */
export declare function createDefaultModeResolver(configs: CleanModeConfig[]): ModeResolver;
/**
 * Create resolver for smart devices.
 */
export declare function createSmartModeResolver(configs: CleanModeConfig[]): ModeResolver;
export {};
//# sourceMappingURL=modeResolver.d.ts.map