/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { PowerTopologyServer as BasePowerTopologyServer } from "../behaviors/power-topology/PowerTopologyServer.js";
import { ElectricalPowerMeasurementServer as BaseElectricalPowerMeasurementServer } from "../behaviors/electrical-power-measurement/ElectricalPowerMeasurementServer.js";
import { ElectricalEnergyMeasurementServer as BaseElectricalEnergyMeasurementServer } from "../behaviors/electrical-energy-measurement/ElectricalEnergyMeasurementServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { DeviceClassification } from "#model";
import { Identity } from "#general";
/**
 * An Electrical Sensor device measures the electrical power and/or energy being imported and/or exported.
 *
 * ElectricalSensorEndpoint requires PowerTopology cluster but PowerTopology is not added by default because you must
 * select the features your device supports. You can add manually using ElectricalSensorEndpoint.with().
 *
 * @see {@link MatterSpecification.v142.Device} § 2.6
 */
export interface ElectricalSensorEndpoint extends Identity<typeof ElectricalSensorEndpointDefinition> {
}
export declare namespace ElectricalSensorRequirements {
    /**
     * The PowerTopology cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link PowerTopologyServer} for convenience.
     */
    const PowerTopologyServer: typeof BasePowerTopologyServer;
    /**
     * The ElectricalPowerMeasurement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ElectricalPowerMeasurementServer} for convenience.
     */
    const ElectricalPowerMeasurementServer: typeof BaseElectricalPowerMeasurementServer;
    /**
     * The ElectricalEnergyMeasurement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ElectricalEnergyMeasurementServer} for convenience.
     */
    const ElectricalEnergyMeasurementServer: typeof BaseElectricalEnergyMeasurementServer;
    /**
     * An implementation for each server cluster supported by the endpoint per the Matter specification.
     */
    const server: {
        mandatory: {
            PowerTopology: typeof BasePowerTopologyServer;
        };
        optional: {
            ElectricalPowerMeasurement: typeof BaseElectricalPowerMeasurementServer;
            ElectricalEnergyMeasurement: typeof BaseElectricalEnergyMeasurementServer;
        };
    };
}
export declare const ElectricalSensorEndpointDefinition: MutableEndpoint.With<import("../index.js").EndpointType.For<{
    readonly name: "ElectricalSensor";
    readonly deviceType: 1296;
    readonly deviceRevision: 1;
    readonly deviceClass: DeviceClassification.Utility;
    readonly requirements: typeof ElectricalSensorRequirements;
    readonly behaviors: {};
}>, {}>;
export declare const ElectricalSensorEndpoint: ElectricalSensorEndpoint;
//# sourceMappingURL=electrical-sensor.d.ts.map