import { MatterbridgeDynamicPlatform } from 'matterbridge';
import type { AnsiLogger } from 'matterbridge/logger';
import { PlatformRunner } from '../platformRunner.js';
import { RoborockService } from '../services/roborockService.js';
import { WssSendSnackbarMessage } from '../types/WssSendSnackbarMessage.js';
import { DeviceRegistry } from './deviceRegistry.js';
import { PlatformConfigManager } from './platformConfigManager.js';
/**
 * Handles device configuration: local network setup, room mapping,
 * behavior configuration, and Matterbridge device registration.
 */
export declare class DeviceConfigurator {
    private readonly platform;
    private readonly configManager;
    private readonly registry;
    private readonly getPlatformRunner;
    private readonly snackbarMessage;
    private readonly log;
    rrHomeId: number | undefined;
    constructor(platform: MatterbridgeDynamicPlatform, configManager: PlatformConfigManager, registry: DeviceRegistry, getPlatformRunner: () => PlatformRunner, snackbarMessage: WssSendSnackbarMessage, log: AnsiLogger);
    onConfigureDevice(roborockService: RoborockService): Promise<void>;
    private configureDevice;
    private addDevice;
    private applyVersionInfo;
    private overrideMatterConfiguration;
}
//# sourceMappingURL=deviceConfigurator.d.ts.map