import { RoboticVacuumCleaner } from 'matterbridge/devices';
import { AnsiLogger } from 'matterbridge/logger';
import { CleanModeSetting } from '../behaviors/roborock.vacuum/core/CleanModeSetting.js';
import { HomeEntity } from '../core/domain/entities/Home.js';
import { DockStationStatus } from '../model/DockStationStatus.js';
import { PlatformConfigManager } from '../platform/platformConfigManager.js';
import { Device } from '../roborockCommunication/models/index.js';
import { RoborockService } from '../services/roborockService.js';
import { BehaviorFactoryResult } from '../share/behaviorFactory.js';
export declare class RoborockVacuumCleaner extends RoboticVacuumCleaner {
    readonly device: Device;
    readonly homeInFo: HomeEntity;
    dockStationStatus: DockStationStatus | undefined;
    cleanModeSetting: CleanModeSetting | undefined;
    /**
     * Create a new Roborock Vacuum Cleaner device.
     * Initializes the device with supported cleaning modes, run modes, areas, and routines.
     */
    constructor(device: Device, homeInFo: HomeEntity, configManager: PlatformConfigManager, roborockService: RoborockService, log: AnsiLogger);
    /**
     * Configure command handlers for the vacuum device.
     * Sets up handlers for identify, area selection, mode changes, and cleaning operations.
     */
    configureHandler(behaviorHandler: BehaviorFactoryResult): void;
    /**
     * Initialize device configuration including modes, areas, and maps.
     */
    private static initializeDeviceConfiguration;
    /**
     * Helper method to add command handler with error handling.
     * Wraps handler logic in try-catch to avoid code duplication.
     */
    private addCommandHandlerWithErrorHandling;
}
//# sourceMappingURL=roborockVacuumCleaner.d.ts.map