import { ConfigService } from '../../config/services/config.service'; import { DevicesService } from '../../devices/services/devices.service'; import { EnergyDataService } from '../../energy/services/energy-data.service'; import { ScenesService } from '../../scenes/services/scenes.service'; import { SpacesService } from '../../spaces/services/spaces.service'; import { WeatherService } from '../../weather/services/weather.service'; import { ActionObserverService } from './action-observer.service'; export interface BuddyWeatherCurrent { temperature: number; feelsLike: number; conditions: string; humidity: number; pressure: number; wind: { speed: number; deg: number; gust?: number | null; }; clouds: number; rain?: number | null; snow?: number | null; sunrise: string; sunset: string; } export interface BuddyWeatherForecast { date: string; tempDay: number; tempMin: number; tempMax: number; conditions: string; humidity: number; wind: number; rain?: number | null; snow?: number | null; } export interface BuddyWeatherAlert { event: string; start: string; end: string; description: string; } export interface BuddyWeather { current: BuddyWeatherCurrent; forecast: BuddyWeatherForecast[]; alerts: BuddyWeatherAlert[]; } export interface BuddyContext { timestamp: string; timezone: string; spaces: { id: string; name: string; category: string | null; deviceCount: number; }[]; devices: { id: string; name: string; space: string | null; category: string; state: Record; channels: { id: string; name: string; properties: { id: string; category: string; value: unknown; }[]; }[]; }[]; scenes: { id: string; name: string; space: string | null; enabled: boolean; }[]; weather: BuddyWeather | null; energy: { solarProduction: number; gridConsumption: number; gridExport: number; batteryLevel?: number; } | null; recentIntents: { type: string; space: string | null; timestamp: string; }[]; } export declare class BuddyContextService { private readonly configService; private readonly spacesService; private readonly devicesService; private readonly scenesService; private readonly weatherService; private readonly energyDataService; private readonly actionObserver; private readonly logger; private contextCache; constructor(configService: ConfigService, spacesService: SpacesService, devicesService: DevicesService, scenesService: ScenesService, weatherService: WeatherService, energyDataService: EnergyDataService, actionObserver: ActionObserverService); buildContext(spaceId?: string): Promise; invalidateCache(): void; private buildContextInternal; private getTimezone; private getSpaces; private getDevices; private getScenes; private getWeather; private getEnergy; }