import { ControlExecutionSpec, DatapointState, DatapointTargetSpec, Device, DeviceControlResponse, DeviceDatapoint, DeviceStatus, LocalDatapoint } from "jm-castle-ac-dc-types"; import { EngineContextConsumer } from "../engines/Types.mjs"; import { DeviceType } from "./DeviceTypes.mjs"; export declare const getAllPublicControlDatapoints: (validDevices: Record) => { __global: Record; } & Record>; export declare const getDeviceDatapoints: (device: Device, deviceType: DeviceType) => { publicDatapoints: Record; privateDatapoints: Record; mapDatapointIds: { "local-private-to-local-public": Record; "global-public-to-local-private": Record; "local-public-to-local-private": Record; }; }; export declare const getControlDatapoints: (device: Device, deviceType: DeviceType) => { publicControlDatapoints: Record; privateControlDatapoints: Record; mapControlDatapointIds: { "local-private-to-local-public": Record; "global-public-to-local-private": Record; "local-public-to-local-private": Record; }; }; export declare class DeviceInstance { constructor(device: Device, deviceType: DeviceType); private device; private deviceType; private mapDatapointIds; private mapControlDatapointIds; private previousStatus; private consecutiveSuppressedPeaks; /** * Pro öffentlicher (also evtl. mapped) local id: DeviceDatapoint */ private publicDatapoints; /** * Pro öffentlicher (also evtl. mapped) local id: DeviceDatapoint */ private publicControlDatapoints; /** * Pro privater (also id wie im deviceType) local id: DeviceDatapoint */ private privateControlDatapoints; getDevice: () => Device; getDeviceType: () => DeviceType; getTypeId: () => import("jm-castle-ac-dc-types").DeviceTypeId; getDeviceId: () => string; getPublicDatapointForPrivateLocalId: (id: string) => DeviceDatapoint; getPublicDatapointForPublicLocalId: (id: string) => DeviceDatapoint; getPublicDatapointForPublicGlobalId: (id: string) => DeviceDatapoint; getPublicControlDatapointForPublicLocalId: (id: string) => DeviceDatapoint; getPublicControlDatapointForPublicGlobalId: (id: string) => DeviceDatapoint; getPublicDatapoints: () => { [x: string]: DeviceDatapoint; }; addDeviceEventConsumer: (consumer: EngineContextConsumer) => void; fetchDeviceStatus: () => Promise; executeControlRequest: (targets: Record) => Promise; }