import { OnModuleInit } from '@nestjs/common'; import { ModuleRef } from '@nestjs/core'; import { CoversRole, LightingRole } from '../spaces.constants'; import { ClimateState, SpaceClimateStateService } from './space-climate-state.service'; import { SpaceCoversRoleService } from './space-covers-role.service'; import { SpaceLightingRoleService } from './space-lighting-role.service'; import { SpacesService } from './spaces.service'; export interface LightStateSnapshot { deviceId: string; deviceName: string; channelId: string; channelName: string; role: LightingRole | null; isOn: boolean; brightness: number | null; colorTemperature: number | null; color: string | null; } export interface LightingSummary { totalLights: number; lightsOn: number; averageBrightness: number | null; } export interface LightingContextSnapshot { summary: LightingSummary; lights: LightStateSnapshot[]; } export interface ClimateStateSnapshot extends ClimateState { primaryThermostatId: string | null; } export interface CoverStateSnapshot { deviceId: string; deviceName: string; channelId: string; channelName: string; role: CoversRole | null; position: number | null; } export interface CoversSummary { totalCovers: number; averagePosition: number | null; } export interface CoversContextSnapshot { summary: CoversSummary; covers: CoverStateSnapshot[]; } export interface SpaceContextSnapshot { spaceId: string; spaceName: string; capturedAt: Date; lighting: LightingContextSnapshot; climate: ClimateStateSnapshot; covers: CoversContextSnapshot; } export declare class SpaceContextSnapshotService implements OnModuleInit { private readonly spacesService; private readonly moduleRef; private readonly lightingRoleService; private readonly coversRoleService; private readonly climateStateService; private readonly logger; private spaceIntentService; constructor(spacesService: SpacesService, moduleRef: ModuleRef, lightingRoleService: SpaceLightingRoleService, coversRoleService: SpaceCoversRoleService, climateStateService: SpaceClimateStateService); onModuleInit(): Promise; captureSnapshot(spaceId: string): Promise; private captureLightingSnapshot; private captureCoversSnapshot; private extractCoverState; private extractLightState; private extractColorValue; private getPropertyBooleanValue; private getPropertyNumericValue; private getPropertyStringValue; }