import type { AnsiLogger } from 'matterbridge/logger';
import { Device } from '../../../roborockCommunication/models/device.js';
import type { RoborockService } from '../../../services/roborockService.js';
import { MapInfo } from './MapInfo.js';
import { RoomMapping } from './RoomMapping.js';
export interface MapInfoPlatformContext {
    roborockService: RoborockService | undefined;
    log: AnsiLogger;
}
export interface MapReference {
    id: number;
    name: string | undefined;
}
export interface MapInfoResult {
    activeMapId: number;
    mapInfo: MapInfo;
    roomMap: RoomMap;
}
export declare class RoomMap {
    private readonly roomMappings;
    constructor(roomMappings: RoomMapping[]);
    get hasRooms(): boolean;
    get rooms(): RoomMapping[];
    getRooms(map_info: MapReference[], enableMultipleMap?: boolean): RoomMapping[];
    /**
     * Get room map for device (with caching).
     */
    static fromMapInfo(vacuum: Device, context: MapInfoPlatformContext): Promise<MapInfoResult>;
    static empty(): RoomMap;
}
//# sourceMappingURL=RoomMap.d.ts.map