/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { ElectricalEnergyMeasurement } from "@matter/types/clusters/electrical-energy-measurement"; declare const ElectricalEnergyMeasurementBase: import("../../index.js").ClusterBehavior.Type, import("@matter/types").ClusterType.Concrete, new () => {}, "electricalEnergyMeasurement">; /** * Helper Type for setMeasurement method to be used to set the measurement values together and handle as an atomic set * to also trigger single events for imported and exported energy values. */ type AtomicElectricalEnergyMeasurement = { cumulativeEnergy?: { imported?: ElectricalEnergyMeasurement.EnergyMeasurement; exported?: ElectricalEnergyMeasurement.EnergyMeasurement; }; periodicEnergy?: { imported?: ElectricalEnergyMeasurement.EnergyMeasurement; exported?: ElectricalEnergyMeasurement.EnergyMeasurement; }; }; /** * This is the default server implementation of {@link ElectricalEnergyMeasurementBehavior}. * * The Matter specification requires the ElectricalEnergyMeasurement cluster to support features we do not enable by * default. You should use {@link ElectricalEnergyMeasurementServer.with} to specialize the class for the features your * implementation supports. */ export declare class ElectricalEnergyMeasurementBaseServer extends ElectricalEnergyMeasurementBase { /** * Convenience method to set the measurement values for the cluster in an atomic way. This method updates the * attributes with the provided data and also sends the events for the imported and exported energy values. */ setMeasurement(measurement: AtomicElectricalEnergyMeasurement): void; } export declare namespace ElectricalEnergyMeasurementBaseServer { const ExtensionInterface: { setMeasurement(measurement: AtomicElectricalEnergyMeasurement): void; }; } declare const ElectricalEnergyMeasurementServer_base: import("../../index.js").ClusterBehavior.Type, { apparentEnergy: false; cumulativeEnergy: false; exportedEnergy: false; importedEnergy: false; periodicEnergy: false; reactiveEnergy: false; }>, import("@matter/types").ClusterType.Concrete, new () => {}, "electricalEnergyMeasurement">; export declare class ElectricalEnergyMeasurementServer extends ElectricalEnergyMeasurementServer_base { } export {}; //# sourceMappingURL=ElectricalEnergyMeasurementServer.d.ts.map