import { EventEmitter2 } from '@nestjs/event-emitter'; import { IntentsService } from '../../intents/services/intents.service'; import { SceneActionEntity, SceneEntity } from '../entities/scenes.entity'; import { ActionExecutionResultModel, SceneExecutionResultModel } from '../models/scenes.model'; import { ScenesService } from './scenes.service'; export interface IScenePlatform { getType(): string; execute(scene: SceneEntity, actions: SceneActionEntity[]): Promise; validateAction(action: SceneActionEntity): Promise; } export declare class SceneExecutorService { private readonly scenesService; private readonly eventEmitter; private readonly intentsService; private readonly logger; private readonly platforms; constructor(scenesService: ScenesService, eventEmitter: EventEmitter2, intentsService: IntentsService); registerPlatform(platform: IScenePlatform): void; getPlatform(type: string): IScenePlatform | undefined; hasPlatform(type: string): boolean; triggerScene(sceneId: string, triggeredBy?: string): Promise; private extractDeviceIds; private extractIntentTargets; private mapActionResultsToIntentResults; private executeActions; }