import { AnsiLogger } from 'matterbridge/logger';
import { ServiceArea } from 'matterbridge/matter/clusters';
import { MapInfo, RoomIndexMap } from '../core/application/models/index.js';
import { HomeEntity } from '../core/domain/entities/Home.js';
export interface AreaInfo {
    mapId: number | null;
    roomId: number;
    roomName: string;
}
export interface SegmentInfo {
    areaId: number;
    mapId: number;
    roomName: string;
}
export interface SupportedAreasResult {
    supportedAreas: ServiceArea.Area[];
    supportedMaps: ServiceArea.Map[];
    roomIndexMap: RoomIndexMap;
}
export declare function toSupportedMaps(mapInfo: MapInfo, enableMultipleMap?: boolean): ServiceArea.Map[];
/**
 * Convert vacuum rooms and room map to Matter ServiceArea areas.
 * Handles single and multiple map configurations.
 * @param homeInFo - Home entity containing room and map information
 * @param logger - Logger for debugging and error reporting
 * @param enableMultipleMap - When false, expose only the primary map and its rooms
 * @returns Supported areas, maps, and room index mapping
 */
export declare function getSupportedAreas(homeInFo: HomeEntity, logger: AnsiLogger, enableMultipleMap?: boolean): SupportedAreasResult;
/**
 * Maps a B01 roomTypeId (0–11, per ioBroker ROOM_TYPE_ID_TO_TOKEN) to a CommonAreaNamespaceTag numeric value.
 * Returns null for unknown / fallback (roomTypeId 0).
 */
export declare function roomTypeIdToAreaTag(roomTypeId: number): number | null;
//# sourceMappingURL=getSupportedAreas.d.ts.map