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 watchdogTimer;
    readonly burstPolling: BurstPollingManager;
    constructor(platform: RoborockMatterbridgePlatform);
    startWatchdog(): void;
    stopWatchdog(): void;
    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;
}
//# sourceMappingURL=platformRunner.d.ts.map