import { StorageService } from '../../storage/services/storage.service'; import { IntentStatus, IntentType } from '../intents.constants'; import { IntentRecord } from '../models/intent.model'; export interface SpaceIntentRecord { intentId: string; spaceId: string; intentType: IntentType; status: IntentStatus; mode: string | null; targetsCount: number; successCount: number; failedCount: number; timestamp: Date; } export interface LastAppliedMode { mode: string; intentId: string; appliedAt: Date; status: IntentStatus; } export interface ModeValidityStatus { modeValid: boolean; timestamp: Date; } export interface LastAppliedClimateState { mode: string | null; heatingSetpoint: number | null; coolingSetpoint: number | null; intentId: string; appliedAt: Date; status: IntentStatus; } export declare class IntentTimeseriesService { private readonly storageService; private readonly logger; constructor(storageService: StorageService); storeIntentCompletion(intent: IntentRecord): Promise; getLastLightingMode(spaceId: string): Promise; getLastClimateMode(spaceId: string): Promise; getLastClimateState(spaceId: string): Promise; getLastCoversMode(spaceId: string): Promise; private getLastAppliedModeByType; getIntentHistory(spaceId: string, from: Date, to: Date, intentTypes?: IntentType[]): Promise; storeLightingModeChange(spaceId: string, mode: string, targetsCount: number, successCount: number, failedCount: number): Promise; storeClimateModeChange(spaceId: string, mode: string | null, heatingSetpoint: number | null, coolingSetpoint: number | null, targetsCount: number, successCount: number, failedCount: number): Promise; storeCoversPositionChange(spaceId: string, mode: string, targetsCount: number, successCount: number, failedCount: number): Promise; deleteSpaceHistory(spaceId: string): Promise; storeModeValidity(spaceId: string, domain: 'lighting' | 'covers', modeValid: boolean): Promise; getModeValidity(spaceId: string, domain: 'lighting' | 'covers'): Promise; private isSpaceLevelIntent; private extractModeFromValue; }