import { CooldownManager } from '../../../common/utils/cooldown-manager'; import { SpaceEntity } from '../entities/space.entity'; import { SuggestionFeedback, SuggestionType } from '../spaces.constants'; import { IntentSpecLoaderService } from '../spec/intent-spec-loader.service'; import { ResolvedSuggestionRule } from '../spec/intent-spec.types'; import { SpaceIntentService } from './space-intent.service'; import { SpacesService } from './spaces.service'; export interface SpaceSuggestion { type: SuggestionType; title: string; reason: string | null; intentType: string; intentMode: string | null; } export interface SuggestionContext { space: SpaceEntity; currentHour: number; lightsOn: boolean; averageBrightness: number | null; } export declare const spaceCooldowns: CooldownManager; export interface EmittedSuggestionEntry { type: SuggestionType; emittedAt: number; dismissed: boolean; } export declare const lastEmittedSuggestions: Map; export declare function isBedroomSpace(spaceName: string, patterns: string[]): boolean; export declare function evaluateSuggestionRules(context: SuggestionContext, rules: ResolvedSuggestionRule[], bedroomPatterns: string[]): SpaceSuggestion | null; export declare class SpaceSuggestionService { private readonly spacesService; private readonly spaceIntentService; private readonly specLoader; private readonly logger; constructor(spacesService: SpacesService, spaceIntentService: SpaceIntentService, specLoader: IntentSpecLoaderService); getSuggestion(spaceId: string): Promise; recordFeedback(spaceId: string, suggestionType: SuggestionType, feedback: SuggestionFeedback): Promise<{ success: boolean; intentExecuted?: boolean; }>; private executeIntent; private getLightingState; private extractLightState; private isTruthyValue; private getNumericValue; }