import { ControlExecutionSpec, DatapointState, DatapointTargets, DatapointTargetSpec, DeviceControlRequest, SerializableControlContext } from "jm-castle-ac-dc-types"; export declare class ControlContext { constructor(engineId: string, executedRequests?: { deviceId: string; request: DeviceControlRequest; success: boolean; error?: string; }[], datapointTargets?: DatapointTargets); private engineId; private datapointTargets; private executedRequests; getSerializable: () => SerializableControlContext; getEngineId: () => string; copy: () => ControlContext; /** * * @param context the newly context * @returns true, if the new context has any content */ addContentFrom: (context: ControlContext, maxSize?: number) => boolean; addExecutedRequest: (executed: { deviceId: string; request: DeviceControlRequest; success: boolean; error?: string; }) => void; setDatapointTarget: (target: DatapointTargetSpec, state: DatapointState, when: ControlExecutionSpec["when"]) => void; getExecutedRequests: (deviceId: string, datapointId: string) => { state: DatapointState; success: boolean; }[]; getDatapointTarget: (device: string, datapoint: string) => { target: DatapointTargetSpec; state: DatapointState; } & ControlExecutionSpec; resetDatapointTargets: () => { [x: string]: DeviceControlRequest; }; resetDatapointTargetsPartial: (...whenArr: ControlExecutionSpec["when"][]) => DatapointTargets; }