import { ChannelCategory, DeviceCategory, PropertyCategory } from '../devices/devices.constants'; export declare const SPACES_MODULE_NAME = "spaces-module"; export declare const SPACES_MODULE_PREFIX = "spaces"; export declare const SPACES_MODULE_API_TAG_NAME = "Spaces module"; export declare const SPACES_MODULE_API_TAG_DESCRIPTION: string; export declare enum EventType { SPACE_CREATED = "SpacesModule.Space.Created", SPACE_UPDATED = "SpacesModule.Space.Updated", SPACE_DELETED = "SpacesModule.Space.Deleted", LIGHT_TARGET_CREATED = "SpacesModule.LightTarget.Created", LIGHT_TARGET_UPDATED = "SpacesModule.LightTarget.Updated", LIGHT_TARGET_DELETED = "SpacesModule.LightTarget.Deleted", CLIMATE_TARGET_CREATED = "SpacesModule.ClimateTarget.Created", CLIMATE_TARGET_UPDATED = "SpacesModule.ClimateTarget.Updated", CLIMATE_TARGET_DELETED = "SpacesModule.ClimateTarget.Deleted", LIGHTING_STATE_CHANGED = "SpacesModule.Space.LightingStateChanged", CLIMATE_STATE_CHANGED = "SpacesModule.Space.ClimateStateChanged", COVERS_STATE_CHANGED = "SpacesModule.Space.CoversStateChanged", COVERS_TARGET_CREATED = "SpacesModule.CoversTarget.Created", COVERS_TARGET_UPDATED = "SpacesModule.CoversTarget.Updated", COVERS_TARGET_DELETED = "SpacesModule.CoversTarget.Deleted", MEDIA_BINDING_CREATED = "SpacesModule.MediaBinding.Created", MEDIA_BINDING_UPDATED = "SpacesModule.MediaBinding.Updated", MEDIA_BINDING_DELETED = "SpacesModule.MediaBinding.Deleted", MEDIA_ACTIVITY_ACTIVATING = "SpacesModule.MediaActivity.Activating", MEDIA_ACTIVITY_ACTIVATED = "SpacesModule.MediaActivity.Activated", MEDIA_ACTIVITY_FAILED = "SpacesModule.MediaActivity.Failed", MEDIA_ACTIVITY_DEACTIVATED = "SpacesModule.MediaActivity.Deactivated", MEDIA_ACTIVITY_STEP_PROGRESS = "SpacesModule.MediaActivity.StepProgress", SENSOR_STATE_CHANGED = "SpacesModule.Space.SensorStateChanged", SUGGESTION_CREATED = "SpacesModule.Suggestion.Created", SENSOR_TARGET_CREATED = "SpacesModule.SensorTarget.Created", SENSOR_TARGET_UPDATED = "SpacesModule.SensorTarget.Updated", SENSOR_TARGET_DELETED = "SpacesModule.SensorTarget.Deleted" } export declare enum SpaceType { ROOM = "room", ZONE = "zone" } export declare enum SpaceRoomCategory { LIVING_ROOM = "living_room", BEDROOM = "bedroom", BATHROOM = "bathroom", TOILET = "toilet", KITCHEN = "kitchen", DINING_ROOM = "dining_room", OFFICE = "office", GARAGE = "garage", HALLWAY = "hallway", ENTRYWAY = "entryway", LAUNDRY = "laundry", UTILITY_ROOM = "utility_room", STORAGE = "storage", CLOSET = "closet", PANTRY = "pantry", NURSERY = "nursery", GUEST_ROOM = "guest_room", GYM = "gym", MEDIA_ROOM = "media_room", WORKSHOP = "workshop", OTHER = "other" } export declare enum SpaceZoneCategory { FLOOR_GROUND = "floor_ground", FLOOR_FIRST = "floor_first", FLOOR_SECOND = "floor_second", FLOOR_BASEMENT = "floor_basement", FLOOR_ATTIC = "floor_attic", OUTDOOR_FRONT_YARD = "outdoor_front_yard", OUTDOOR_BACKYARD = "outdoor_backyard", OUTDOOR_DRIVEWAY = "outdoor_driveway", OUTDOOR_GARDEN = "outdoor_garden", OUTDOOR_TERRACE = "outdoor_terrace", OUTDOOR_BALCONY = "outdoor_balcony", OUTDOOR_WALKWAY = "outdoor_walkway", SECURITY_PERIMETER = "security_perimeter", UTILITY = "utility", OTHER = "zone_other" } export declare const SPACE_ROOM_CATEGORIES: SpaceRoomCategory[]; export declare const SPACE_ZONE_CATEGORIES: SpaceZoneCategory[]; export declare const FLOOR_ZONE_CATEGORIES: SpaceZoneCategory[]; export declare function isFloorZoneCategory(category: string | null): boolean; export declare const ALL_SPACE_CATEGORIES: (SpaceRoomCategory | SpaceZoneCategory)[]; export declare function isValidCategoryForType(category: string | null, type: SpaceType): boolean; export interface SpaceCategoryTemplate { category: SpaceRoomCategory | SpaceZoneCategory; icon: string; description: string; } export declare const SPACE_ROOM_CATEGORY_TEMPLATES: Record>; export declare const SPACE_ZONE_CATEGORY_TEMPLATES: Record>; export declare const SPACE_CATEGORY_TEMPLATES: Record>; export declare enum LightingIntentType { OFF = "off", ON = "on", SET_MODE = "set_mode", BRIGHTNESS_DELTA = "brightness_delta", ROLE_ON = "role_on", ROLE_OFF = "role_off", ROLE_BRIGHTNESS = "role_brightness", ROLE_COLOR = "role_color", ROLE_COLOR_TEMP = "role_color_temp", ROLE_WHITE = "role_white", ROLE_SET = "role_set" } export declare enum LightingMode { OFF = "off", WORK = "work", RELAX = "relax", NIGHT = "night" } export declare enum BrightnessDelta { SMALL = "small", MEDIUM = "medium", LARGE = "large" } export declare const LIGHTING_MODE_BRIGHTNESS: Record; export declare const BRIGHTNESS_DELTA_STEPS: Record; export declare enum ClimateIntentType { SETPOINT_DELTA = "setpoint_delta", SETPOINT_SET = "setpoint_set", SET_MODE = "set_mode", CLIMATE_SET = "climate_set" } export declare enum ClimateMode { HEAT = "heat", COOL = "cool", AUTO = "auto", OFF = "off" } export declare enum TemperatureAveragingStrategy { ALL_SOURCES = "all_sources", PRIMARY_ONLY = "primary_only" } export declare const TEMPERATURE_AVERAGING_STRATEGY: TemperatureAveragingStrategy; export declare const CLIMATE_PRIMARY_DEVICE_CATEGORIES: readonly [DeviceCategory.THERMOSTAT, DeviceCategory.HEATING_UNIT, DeviceCategory.AIR_CONDITIONER]; export declare enum SetpointDelta { SMALL = "small", MEDIUM = "medium", LARGE = "large" } export declare const SETPOINT_DELTA_STEPS: Record; export declare const DEFAULT_MIN_SETPOINT = 5; export declare const DEFAULT_MAX_SETPOINT = 35; export declare const ABSOLUTE_MIN_SETPOINT = -10; export declare const ABSOLUTE_MAX_SETPOINT = 50; export declare const SETPOINT_PRECISION = 0.5; export declare const SETPOINT_CONSENSUS_TOLERANCE = 0.5; export declare enum LightingRole { MAIN = "main", TASK = "task", AMBIENT = "ambient", ACCENT = "accent", NIGHT = "night", OTHER = "other", HIDDEN = "hidden" } export declare enum ClimateRole { HEATING_ONLY = "heating_only", COOLING_ONLY = "cooling_only", AUTO = "auto", AUXILIARY = "auxiliary", SENSOR = "sensor", HIDDEN = "hidden" } export declare const CLIMATE_CONTROL_ROLES: readonly [ClimateRole.HEATING_ONLY, ClimateRole.COOLING_ONLY, ClimateRole.AUTO, ClimateRole.AUXILIARY]; export declare const CLIMATE_SENSOR_ROLES: readonly [ClimateRole.SENSOR]; export declare const CLIMATE_UNIVERSAL_ROLES: readonly [ClimateRole.HIDDEN]; export declare const CLIMATE_SENSOR_CHANNEL_CATEGORIES: readonly [ChannelCategory.TEMPERATURE, ChannelCategory.HUMIDITY, ChannelCategory.AIR_QUALITY, ChannelCategory.AIR_PARTICULATE, ChannelCategory.CARBON_DIOXIDE, ChannelCategory.VOLATILE_ORGANIC_COMPOUNDS, ChannelCategory.PRESSURE]; export interface RoleBrightnessRule { brightness: number | null; on: boolean; } export type ModeOrchestrationRules = Partial>; export interface ModeOrchestrationConfig { roles: ModeOrchestrationRules; fallbackRoles?: LightingRole[]; fallbackBrightness?: number; } export declare enum QuickActionType { LIGHTING_OFF = "lighting_off", LIGHTING_WORK = "lighting_work", LIGHTING_RELAX = "lighting_relax", LIGHTING_NIGHT = "lighting_night", BRIGHTNESS_UP = "brightness_up", BRIGHTNESS_DOWN = "brightness_down", CLIMATE_UP = "climate_up", CLIMATE_DOWN = "climate_down" } export declare const DEFAULT_QUICK_ACTIONS: QuickActionType[]; export declare const ALL_QUICK_ACTION_TYPES: QuickActionType[]; export declare enum SuggestionType { LIGHTING_RELAX = "lighting_relax", LIGHTING_NIGHT = "lighting_night", LIGHTING_OFF = "lighting_off" } export declare enum SuggestionFeedback { APPLIED = "applied", DISMISSED = "dismissed" } export declare const SUGGESTION_COOLDOWN_MS: number; export declare const SUGGESTION_HEARTBEAT_INTERVAL_MS: number; export declare const SUGGESTION_EXPIRY_MS: number; export declare const LIGHTING_MODE_ORCHESTRATION: Record; export declare enum IntentCategory { LIGHTING = "lighting", CLIMATE = "climate", COVERS = "covers", MEDIA = "media" } export interface IntentEnumValueMeta { value: string; label: string; description?: string; icon?: string; } export type IntentParamType = 'enum' | 'boolean' | 'number' | 'string'; export interface IntentParamMeta { name: string; type: IntentParamType; required: boolean; description: string; enumValues?: IntentEnumValueMeta[]; minValue?: number; maxValue?: number; } export interface IntentTypeMeta { type: string; label: string; description: string; icon: string; params: IntentParamMeta[]; } export interface IntentCategoryMeta { category: IntentCategory; label: string; description: string; icon: string; intents: IntentTypeMeta[]; } export interface QuickActionMeta { type: QuickActionType; label: string; description: string; icon: string; category: IntentCategory; } export declare const LIGHTING_MODE_META: Record; export declare const BRIGHTNESS_DELTA_META: Record; export declare const SETPOINT_DELTA_META: Record; export declare const LIGHTING_ROLE_META: Record; export declare const CLIMATE_ROLE_META: Record; export declare const CLIMATE_MODE_META: Record; export declare const LIGHTING_INTENT_CATALOG: IntentTypeMeta[]; export declare const CLIMATE_INTENT_CATALOG: IntentTypeMeta[]; export declare enum CoversRole { PRIMARY = "primary", BLACKOUT = "blackout", SHEER = "sheer", OUTDOOR = "outdoor", HIDDEN = "hidden" } export declare enum CoversIntentType { OPEN = "open", CLOSE = "close", STOP = "stop", SET_POSITION = "set_position", POSITION_DELTA = "position_delta", ROLE_POSITION = "role_position", SET_MODE = "set_mode" } export declare enum CoversMode { OPEN = "open", CLOSED = "closed", PRIVACY = "privacy", DAYLIGHT = "daylight" } export declare enum PositionDelta { SMALL = "small", MEDIUM = "medium", LARGE = "large" } export declare const POSITION_DELTA_STEPS: Record; export interface CoversRolePositionRule { position: number; } export type CoversModeOrchestrationRules = Partial>; export declare const COVERS_MODE_ORCHESTRATION: Record; export declare const COVERS_ROLE_META: Record; export declare const COVERS_MODE_META: Record; export declare const POSITION_DELTA_META: Record; export declare const COVERS_INTENT_CATALOG: IntentTypeMeta[]; export declare const MEDIA_DEVICE_CATEGORIES: readonly [DeviceCategory.MEDIA, DeviceCategory.SPEAKER, DeviceCategory.TELEVISION, DeviceCategory.AV_RECEIVER, DeviceCategory.SET_TOP_BOX, DeviceCategory.GAME_CONSOLE, DeviceCategory.PROJECTOR, DeviceCategory.STREAMING_SERVICE]; export declare const MEDIA_CHANNEL_CATEGORIES: readonly [ChannelCategory.SWITCHER, ChannelCategory.SPEAKER, ChannelCategory.TELEVISION, ChannelCategory.PROJECTOR, ChannelCategory.MEDIA_INPUT, ChannelCategory.MEDIA_PLAYBACK]; export declare enum MediaEndpointType { DISPLAY = "display", AUDIO_OUTPUT = "audio_output", SOURCE = "source", REMOTE_TARGET = "remote_target" } export declare enum MediaActivityKey { WATCH = "watch", LISTEN = "listen", GAMING = "gaming", BACKGROUND = "background", OFF = "off" } export declare const CONFIGURABLE_ACTIVITY_KEYS: readonly [MediaActivityKey.WATCH, MediaActivityKey.LISTEN, MediaActivityKey.GAMING, MediaActivityKey.BACKGROUND]; export declare enum MediaActivationState { ACTIVATING = "activating", ACTIVE = "active", FAILED = "failed", DEACTIVATED = "deactivated" } export declare enum MediaCapability { POWER = "power", VOLUME = "volume", MUTE = "mute", PLAYBACK = "playback", PLAYBACK_STATE = "playback_state", INPUT = "input", REMOTE = "remote", TRACK_METADATA = "track_metadata" } export declare enum MediaCapabilityPermission { READ = "read", WRITE = "write", READ_WRITE = "read_write" } export declare const MEDIA_ENDPOINT_TYPE_META: Record; export declare const INTENT_CATEGORY_CATALOG: IntentCategoryMeta[]; export declare const QUICK_ACTION_CATALOG: QuickActionMeta[]; export declare enum SensorRole { ENVIRONMENT = "environment", SAFETY = "safety", SECURITY = "security", AIR_QUALITY = "air_quality", ENERGY = "energy", OTHER = "other", HIDDEN = "hidden" } export declare const SENSOR_CHANNEL_CATEGORIES: readonly [ChannelCategory.TEMPERATURE, ChannelCategory.HUMIDITY, ChannelCategory.PRESSURE, ChannelCategory.ILLUMINANCE, ChannelCategory.SMOKE, ChannelCategory.GAS, ChannelCategory.LEAK, ChannelCategory.CARBON_MONOXIDE, ChannelCategory.CARBON_DIOXIDE, ChannelCategory.MOTION, ChannelCategory.OCCUPANCY, ChannelCategory.CONTACT, ChannelCategory.AIR_QUALITY, ChannelCategory.AIR_PARTICULATE, ChannelCategory.NITROGEN_DIOXIDE, ChannelCategory.OZONE, ChannelCategory.SULPHUR_DIOXIDE, ChannelCategory.VOLATILE_ORGANIC_COMPOUNDS, ChannelCategory.ELECTRICAL_ENERGY, ChannelCategory.ELECTRICAL_POWER, ChannelCategory.BATTERY]; export declare const SENSOR_ENVIRONMENT_CHANNEL_CATEGORIES: readonly [ChannelCategory.TEMPERATURE, ChannelCategory.HUMIDITY, ChannelCategory.PRESSURE, ChannelCategory.ILLUMINANCE]; export declare const SENSOR_SAFETY_CHANNEL_CATEGORIES: readonly [ChannelCategory.SMOKE, ChannelCategory.GAS, ChannelCategory.LEAK, ChannelCategory.CARBON_MONOXIDE]; export declare const SENSOR_SECURITY_CHANNEL_CATEGORIES: readonly [ChannelCategory.MOTION, ChannelCategory.OCCUPANCY, ChannelCategory.CONTACT]; export declare const SENSOR_AIR_QUALITY_CHANNEL_CATEGORIES: readonly [ChannelCategory.AIR_QUALITY, ChannelCategory.AIR_PARTICULATE, ChannelCategory.CARBON_DIOXIDE, ChannelCategory.NITROGEN_DIOXIDE, ChannelCategory.OZONE, ChannelCategory.SULPHUR_DIOXIDE, ChannelCategory.VOLATILE_ORGANIC_COMPOUNDS]; export declare const SENSOR_ENERGY_CHANNEL_CATEGORIES: readonly [ChannelCategory.ELECTRICAL_ENERGY, ChannelCategory.ELECTRICAL_POWER]; export declare const SENSOR_PRIMARY_PROPERTY_CANDIDATES: Partial>; export declare const SENSOR_ROLE_META: Record; export declare const SAFETY_SENSOR_THRESHOLDS: { readonly CARBON_MONOXIDE_PPM: 50; readonly GAS_DETECTION_PPM: 0; readonly DEFAULT_NUMERIC_THRESHOLD: 0; };