import { RoborockMatterbridgePlatform } from './module.js';
import { BurstPollingManager } from './platform/burstPollingManager.js';
import type { MessagePayload } from './types/MessagePayloads.js';
export declare class PlatformRunner {
    private readonly platform;
    private activateHandlers;
    private static readonly CLEANING_STATES;
    readonly burstPolling: BurstPollingManager;
    constructor(platform: RoborockMatterbridgePlatform);
    activateHandlerFunctions(): void;
    /**
     * Request and process home data update from Roborock service.
     * Fetches latest home data including device states and triggers robot state updates.
     * Returns early if no robots configured, no home ID set, or service unavailable.
     */
    requestHomeData(): Promise<void>;
    /**
     * Update robot state based on message payload.
     * Routes to appropriate handler using type-safe discriminated unions.
     */
    updateRobotWithPayload(payload: MessagePayload): Promise<void>;
    /**
     * Template method: Execute handler with robot instance.
     * Handles robot lookup, error logging, and passes data to handler.
     */
    private executeWithRobot;
    /**
     * Get robot by DUID or log error if not found.
     */
    private getRobotOrLogError;
    /**
     * Handle error occurred messages and update robot operational state.
     * Processes vacuum and docking station errors, updating Matter attributes accordingly.
     * Prioritizes vacuum errors over docking station errors.
     */
    private handleErrorOccurred;
    /**
     * Handle battery update messages and update robot power attributes.
     */
    private handleBatteryUpdate;
    /**
     * Handle device status notify messages and update robot run mode and operational state.
     * Uses state resolution matrix to determine final state based on status code and modifiers.
     */
    private handleDeviceStatusUpdate;
    /**
     * Handle simple device status updates from home data API.
     * For devices without real-time connection, uses only status code without modifier flags.
     * Converts to StatusChangeMessage with undefined modifiers for state resolution.
     */
    private handleDeviceStatusSimpleUpdate;
    /**
     * Handle clean mode update messages and update robot clean mode.
     * Processes clean mode settings (suction power, water flow, mop route).
     */
    private handleCleanModeUpdate;
    /**
     * Handle service area update messages and update robot service area attributes.
     * Processes service area changes (supported areas, maps, selected areas, current area).
     */
    private handleServiceAreaUpdate;
    private getSelectedAreas;
    private handleCleaningWithoutInfo;
    private resolveAreaFromCleaningInfo;
}
//# sourceMappingURL=platformRunner.d.ts.map