/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
import { BitFlag } from "../schema/BitmapSchema.js";
import { Attribute } from "../cluster/Cluster.js";
import { Identity } from "#general";
export declare namespace AirQuality {
    /**
     * These are optional features supported by AirQualityCluster.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 2.9.4
     */
    enum Feature {
        /**
         * Fair (FAIR)
         *
         * Cluster supports the Fair air quality level
         */
        Fair = "Fair",
        /**
         * Moderate (MOD)
         *
         * Cluster supports the Moderate air quality level
         */
        Moderate = "Moderate",
        /**
         * VeryPoor (VPOOR)
         *
         * Cluster supports the Very poor air quality level
         */
        VeryPoor = "VeryPoor",
        /**
         * ExtremelyPoor (XPOOR)
         *
         * Cluster supports the Extremely poor air quality level
         */
        ExtremelyPoor = "ExtremelyPoor"
    }
    /**
     * The AirQualityEnum provides a representation of the quality of the analyzed air. It is up to the device
     * manufacturer to determine the mapping between the measured values and their corresponding enumeration values.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 2.9.5.1
     */
    enum AirQualityEnum {
        /**
         * The air quality is unknown.
         */
        Unknown = 0,
        /**
         * The air quality is good.
         */
        Good = 1,
        /**
         * The air quality is fair.
         */
        Fair = 2,
        /**
         * The air quality is moderate.
         */
        Moderate = 3,
        /**
         * The air quality is poor.
         */
        Poor = 4,
        /**
         * The air quality is very poor.
         */
        VeryPoor = 5,
        /**
         * The air quality is extremely poor.
         */
        ExtremelyPoor = 6
    }
    /**
     * These elements and properties are present in all AirQuality clusters.
     */
    const Base: {
        readonly id: 91;
        readonly name: "AirQuality";
        readonly revision: 1;
        readonly features: {
            /**
             * Cluster supports the Fair air quality level
             */
            readonly fair: BitFlag;
            /**
             * Cluster supports the Moderate air quality level
             */
            readonly moderate: BitFlag;
            /**
             * Cluster supports the Very poor air quality level
             */
            readonly veryPoor: BitFlag;
            /**
             * Cluster supports the Extremely poor air quality level
             */
            readonly extremelyPoor: BitFlag;
        };
        readonly attributes: {
            /**
             * Indicates a value from AirQualityEnum that is indicative of the currently measured air quality.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 2.9.6.1
             */
            readonly airQuality: Attribute<AirQualityEnum, any>;
        };
        /**
         * This metadata controls which AirQualityCluster elements matter.js activates for specific feature
         * combinations.
         */
        readonly extensions: readonly [];
    };
    /**
     * @see {@link Cluster}
     */
    const ClusterInstance: MutableCluster<{
        readonly id: 91;
        readonly name: "AirQuality";
        readonly revision: 1;
        readonly features: {
            /**
             * Cluster supports the Fair air quality level
             */
            readonly fair: BitFlag;
            /**
             * Cluster supports the Moderate air quality level
             */
            readonly moderate: BitFlag;
            /**
             * Cluster supports the Very poor air quality level
             */
            readonly veryPoor: BitFlag;
            /**
             * Cluster supports the Extremely poor air quality level
             */
            readonly extremelyPoor: BitFlag;
        };
        readonly attributes: {
            /**
             * Indicates a value from AirQualityEnum that is indicative of the currently measured air quality.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 2.9.6.1
             */
            readonly airQuality: Attribute<AirQualityEnum, any>;
        };
        /**
         * This metadata controls which AirQualityCluster elements matter.js activates for specific feature
         * combinations.
         */
        readonly extensions: readonly [];
    }, []>;
    /**
     * This cluster provides an interface to air quality classification using distinct levels with human-readable
     * labels.
     *
     * AirQualityCluster supports optional features that you can enable with the AirQualityCluster.with() factory
     * method.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 2.9
     */
    interface Cluster extends Identity<typeof ClusterInstance> {
    }
    const Cluster: Cluster;
    const Complete: Cluster;
}
export type AirQualityCluster = AirQuality.Cluster;
export declare const AirQualityCluster: AirQuality.Cluster;
//# sourceMappingURL=air-quality.d.ts.map