import { AnsiLogger } from 'matterbridge/logger';
import { RoborockAuthenticateApi } from '../roborockCommunication/api/authClient.js';
import { RoborockIoTApi } from '../roborockCommunication/api/iotClient.js';
import { Device, Home, UserData } from '../roborockCommunication/models/index.js';
/** Handles device discovery, initialization, and lifecycle. */
export declare class DeviceManagementService {
    private readonly logger;
    private readonly loginApi;
    private userdata;
    private iotApi;
    constructor(logger: AnsiLogger, loginApi: RoborockAuthenticateApi, userdata: UserData | undefined);
    setIotApi(iotApi: RoborockIoTApi): void;
    /** Set IoT API instance after authentication. */
    setAuthentication(userdata: UserData): void;
    /** List all devices for a user (enriched with rooms, scenes, metadata). */
    listDevices(): Promise<Device[]>;
    /** Get home data for periodic updates (falls back to v3/v1 APIs if needed). */
    getHomeDataForUpdating(homeid: number): Promise<Home | undefined>;
    /**
     * Stop the service and clean up all resources.
     * Disconnects all clients, clears intervals, and resets internal state.
     */
    stopService(): void;
}
//# sourceMappingURL=deviceManagementService.d.ts.map