/**
 * @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 { WritableAttribute, FixedAttribute, OptionalFixedAttribute, Attribute, OptionalAttribute, Command, Event, OptionalEvent } from "../cluster/Cluster.js";
import { BitFlag } from "../schema/BitmapSchema.js";
import { TypeFromSchema } from "../tlv/TlvSchema.js";
import { Identity } from "#general";
export declare namespace BooleanStateConfiguration {
    /**
     * These are optional features supported by BooleanStateConfigurationCluster.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 1.8.4
     */
    enum Feature {
        /**
         * Visual (VIS)
         *
         * Supports visual alarms
         */
        Visual = "Visual",
        /**
         * Audible (AUD)
         *
         * Supports audible alarms
         */
        Audible = "Audible",
        /**
         * AlarmSuppress (SPRS)
         *
         * This feature shall indicate that the device is able to suppress the supported alarm modes, when the user
         * acknowledges the alarm. This is intended to stop visual and/or audible alarms, when the user has become aware
         * that the sensor is triggered, but it is no longer desired to have the alarm modes active on the device, e.g.:
         *
         *   - The triggering cause have been resolved by the user, but the sensor has not yet stopped detecting the
         *     triggering cause.
         *
         *   - The user is not able to address the triggering cause, but is aware of the alarm and suppress/acknowledge
         *     it be addressed at a later point.
         *
         * Acknowledge of alarms will for the remainder of this cluster be referred to as suppress.
         *
         * A suppressed alarm is still considered active and will remain so unless it is actively disabled or the
         * triggering condition is not longer present. The action of suppressing an alarm mode is only applicable to and
         * is intended to stop the physical alarming, e.g. emitting a sound or blinking a light; it does not impact
         * alarm reporting in AlarmsActive.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 1.8.4.1
         */
        AlarmSuppress = "AlarmSuppress",
        /**
         * SensitivityLevel (SENSLVL)
         *
         * Supports ability to set sensor sensitivity
         */
        SensitivityLevel = "SensitivityLevel"
    }
    /**
     * @see {@link MatterSpecification.v142.Cluster} § 1.8.5.1
     */
    const AlarmMode: {
        /**
         * Visual alarming
         */
        visual: BitFlag;
        /**
         * Audible alarming
         */
        audible: BitFlag;
    };
    /**
     * Input to the BooleanStateConfiguration enableDisableAlarm command
     *
     * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2
     */
    const TlvEnableDisableAlarmRequest: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This field shall indicate the alarm modes to either enable or disable depending on the bit status, as
         * specified for the AlarmsEnabled attribute.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2.1
         */
        alarmsToEnableDisable: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
            /**
             * Visual alarming
             */
            visual: BitFlag;
            /**
             * Audible alarming
             */
            audible: BitFlag;
        }>>;
    }>;
    /**
     * Input to the BooleanStateConfiguration enableDisableAlarm command
     *
     * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2
     */
    interface EnableDisableAlarmRequest extends TypeFromSchema<typeof TlvEnableDisableAlarmRequest> {
    }
    /**
     * Body of the BooleanStateConfiguration alarmsStateChanged event
     *
     * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1
     */
    const TlvAlarmsStateChangedEvent: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This field shall indicate the state of active alarm modes, as indicated by the AlarmsActive attribute, at the
         * time the event was generated.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.1
         */
        alarmsActive: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
            /**
             * Visual alarming
             */
            visual: BitFlag;
            /**
             * Audible alarming
             */
            audible: BitFlag;
        }>>;
        /**
         * This field shall indicate the state of suppressed alarm modes, as indicated by the AlarmsSuppressed
         * attribute, at the time the event was generated.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.2
         */
        alarmsSuppressed: import("../tlv/TlvObject.js").OptionalFieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
            /**
             * Visual alarming
             */
            visual: BitFlag;
            /**
             * Audible alarming
             */
            audible: BitFlag;
        }>>;
    }>;
    /**
     * Body of the BooleanStateConfiguration alarmsStateChanged event
     *
     * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1
     */
    interface AlarmsStateChangedEvent extends TypeFromSchema<typeof TlvAlarmsStateChangedEvent> {
    }
    /**
     * Input to the BooleanStateConfiguration suppressAlarm command
     *
     * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.1
     */
    const TlvSuppressAlarmRequest: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This field shall indicate the alarm modes to suppress.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.1.1
         */
        alarmsToSuppress: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
            /**
             * Visual alarming
             */
            visual: BitFlag;
            /**
             * Audible alarming
             */
            audible: BitFlag;
        }>>;
    }>;
    /**
     * Input to the BooleanStateConfiguration suppressAlarm command
     *
     * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.1
     */
    interface SuppressAlarmRequest extends TypeFromSchema<typeof TlvSuppressAlarmRequest> {
    }
    /**
     * @see {@link MatterSpecification.v142.Cluster} § 1.8.5.2
     */
    const SensorFault: {
        /**
         * Unspecified fault detected
         */
        generalFault: BitFlag;
    };
    /**
     * Body of the BooleanStateConfiguration sensorFault event
     *
     * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.2
     */
    const TlvSensorFaultEvent: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This field shall indicate the value of the SensorFault attribute, at the time this event is generated.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.2.1
         */
        sensorFault: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
            /**
             * Unspecified fault detected
             */
            generalFault: BitFlag;
        }>>;
    }>;
    /**
     * Body of the BooleanStateConfiguration sensorFault event
     *
     * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.2
     */
    interface SensorFaultEvent extends TypeFromSchema<typeof TlvSensorFaultEvent> {
    }
    /**
     * A BooleanStateConfigurationCluster supports these elements if it supports feature SensitivityLevel.
     */
    const SensitivityLevelComponent: {
        readonly attributes: {
            /**
             * Indicates the currently selected sensitivity level.
             *
             * If a write interaction to this attribute contains an unsupported sensitivity value, a CONSTRAINT_ERROR
             * status shall be returned.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.1
             */
            readonly currentSensitivityLevel: WritableAttribute<number, any>;
            /**
             * Indicates the number of supported sensitivity levels by the device.
             *
             * These supported sensitivity levels shall be ordered by sensitivity, where a value of 0 shall be
             * considered the lowest sensitivity level (least sensitive) and the highest supported value shall be
             * considered the highest sensitivity level. The number of supported sensitivity levels SHOULD represent
             * unique sensitivity levels supported by the device.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.2
             */
            readonly supportedSensitivityLevels: FixedAttribute<number, any>;
            /**
             * Indicates the default sensitivity level selected by the manufacturer.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.3
             */
            readonly defaultSensitivityLevel: OptionalFixedAttribute<number, any>;
        };
    };
    /**
     * A BooleanStateConfigurationCluster supports these elements if it supports features Visual or Audible.
     */
    const VisualOrAudibleComponent: {
        readonly attributes: {
            /**
             * Indicates which specific alarm modes on the server are currently active. When the sensor is no longer
             * triggered, this attribute shall be set to the inactive state, by setting the bit to 0, for all supported
             * alarm modes.
             *
             * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
             *
             * A bit shall indicate whether the alarm mode inactive or not:
             *
             *   - 0 = Inactive
             *
             *   - 1 = Active
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.4
             */
            readonly alarmsActive: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Visual alarming
                 */
                visual: BitFlag;
                /**
                 * Audible alarming
                 */
                audible: BitFlag;
            }>, any>;
            /**
             * Indicates the alarm modes that will be emitted if the sensor is triggered.
             *
             * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
             *
             * A bit shall indicate whether the alarm mode is enabled or disabled:
             *
             *   - 0 = Disabled
             *
             *   - 1 = Enabled
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.6
             */
            readonly alarmsEnabled: OptionalAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Visual alarming
                 */
                visual: BitFlag;
                /**
                 * Audible alarming
                 */
                audible: BitFlag;
            }>, any>;
            /**
             * Indicates the alarms supported by the sensor.
             *
             * A bit shall indicate whether the alarm mode is supported:
             *
             *   - 0 = Not supported
             *
             *   - 1 = Supported
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.7
             */
            readonly alarmsSupported: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Visual alarming
                 */
                visual: BitFlag;
                /**
                 * Audible alarming
                 */
                audible: BitFlag;
            }>, any>;
        };
        readonly commands: {
            /**
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2
             */
            readonly enableDisableAlarm: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate the alarm modes to either enable or disable depending on the bit status, as
                 * specified for the AlarmsEnabled attribute.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2.1
                 */
                alarmsToEnableDisable: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Visual alarming
                     */
                    visual: BitFlag;
                    /**
                     * Audible alarming
                     */
                    audible: BitFlag;
                }>>;
            }>, void, any>;
        };
        readonly events: {
            /**
             * This event shall be generated after any bits in the AlarmsActive and/or AlarmsSuppressedattributeschange.
             * This may occur in situations such as when internal processing by the server determines that an alarm mode
             * becomes active or inactive, or when the SuppressAlarm or EnableDisableAlarm commands are processed in a
             * way that some alarm modes becomes suppressed, active or inactive.
             *
             * If several alarm modes change state at the same time, a single event combining multiple changes may be
             * emitted instead of multiple events each representing a single change.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1
             */
            readonly alarmsStateChanged: Event<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate the state of active alarm modes, as indicated by the AlarmsActive attribute, at the
                 * time the event was generated.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.1
                 */
                alarmsActive: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Visual alarming
                     */
                    visual: BitFlag;
                    /**
                     * Audible alarming
                     */
                    audible: BitFlag;
                }>>;
                /**
                 * This field shall indicate the state of suppressed alarm modes, as indicated by the AlarmsSuppressed
                 * attribute, at the time the event was generated.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.2
                 */
                alarmsSuppressed: import("../tlv/TlvObject.js").OptionalFieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Visual alarming
                     */
                    visual: BitFlag;
                    /**
                     * Audible alarming
                     */
                    audible: BitFlag;
                }>>;
            }>, any>;
        };
    };
    /**
     * A BooleanStateConfigurationCluster supports these elements if it supports feature AlarmSuppress.
     */
    const AlarmSuppressComponent: {
        readonly attributes: {
            /**
             * Indicates which specific alarm modes on the server are currently suppressed. When the sensor is no longer
             * triggered, this attribute shall be set to the unsuppressed state, by setting the bit to 0, for all
             * supported alarm modes.
             *
             * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
             *
             * A bit shall indicate whether the alarm mode is suppressed or not:
             *
             *   - 0 = Not suppressed
             *
             *   - 1 = Suppressed
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.5
             */
            readonly alarmsSuppressed: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Visual alarming
                 */
                visual: BitFlag;
                /**
                 * Audible alarming
                 */
                audible: BitFlag;
            }>, any>;
        };
        readonly commands: {
            /**
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.1
             */
            readonly suppressAlarm: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate the alarm modes to suppress.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.1.1
                 */
                alarmsToSuppress: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Visual alarming
                     */
                    visual: BitFlag;
                    /**
                     * Audible alarming
                     */
                    audible: BitFlag;
                }>>;
            }>, void, any>;
        };
    };
    /**
     * These elements and properties are present in all BooleanStateConfiguration clusters.
     */
    const Base: {
        readonly id: 128;
        readonly name: "BooleanStateConfiguration";
        readonly revision: 1;
        readonly features: {
            /**
             * Supports visual alarms
             */
            readonly visual: BitFlag;
            /**
             * Supports audible alarms
             */
            readonly audible: BitFlag;
            /**
             * This feature shall indicate that the device is able to suppress the supported alarm modes, when the user
             * acknowledges the alarm. This is intended to stop visual and/or audible alarms, when the user has become
             * aware that the sensor is triggered, but it is no longer desired to have the alarm modes active on the
             * device, e.g.:
             *
             *   - The triggering cause have been resolved by the user, but the sensor has not yet stopped detecting the
             *     triggering cause.
             *
             *   - The user is not able to address the triggering cause, but is aware of the alarm and
             *     suppress/acknowledge it be addressed at a later point.
             *
             * Acknowledge of alarms will for the remainder of this cluster be referred to as suppress.
             *
             * A suppressed alarm is still considered active and will remain so unless it is actively disabled or the
             * triggering condition is not longer present. The action of suppressing an alarm mode is only applicable to
             * and is intended to stop the physical alarming, e.g. emitting a sound or blinking a light; it does not
             * impact alarm reporting in AlarmsActive.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.4.1
             */
            readonly alarmSuppress: BitFlag;
            /**
             * Supports ability to set sensor sensitivity
             */
            readonly sensitivityLevel: BitFlag;
        };
        readonly attributes: {
            /**
             * Indicates any faults registered by the device.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.8
             */
            readonly sensorFault: OptionalAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Unspecified fault detected
                 */
                generalFault: BitFlag;
            }>, any>;
        };
        readonly events: {
            /**
             * This event shall be generated when the device registers or clears a fault.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.2
             */
            readonly sensorFault: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate the value of the SensorFault attribute, at the time this event is generated.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.2.1
                 */
                sensorFault: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Unspecified fault detected
                     */
                    generalFault: BitFlag;
                }>>;
            }>, any>;
        };
        /**
         * This metadata controls which BooleanStateConfigurationCluster elements matter.js activates for specific
         * feature combinations.
         */
        readonly extensions: readonly [{
            readonly flags: {
                readonly sensitivityLevel: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates the currently selected sensitivity level.
                     *
                     * If a write interaction to this attribute contains an unsupported sensitivity value, a CONSTRAINT_ERROR
                     * status shall be returned.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.1
                     */
                    readonly currentSensitivityLevel: WritableAttribute<number, any>;
                    /**
                     * Indicates the number of supported sensitivity levels by the device.
                     *
                     * These supported sensitivity levels shall be ordered by sensitivity, where a value of 0 shall be
                     * considered the lowest sensitivity level (least sensitive) and the highest supported value shall be
                     * considered the highest sensitivity level. The number of supported sensitivity levels SHOULD represent
                     * unique sensitivity levels supported by the device.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.2
                     */
                    readonly supportedSensitivityLevels: FixedAttribute<number, any>;
                    /**
                     * Indicates the default sensitivity level selected by the manufacturer.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.3
                     */
                    readonly defaultSensitivityLevel: OptionalFixedAttribute<number, any>;
                };
            };
        }, {
            readonly flags: {
                readonly visual: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates which specific alarm modes on the server are currently active. When the sensor is no longer
                     * triggered, this attribute shall be set to the inactive state, by setting the bit to 0, for all supported
                     * alarm modes.
                     *
                     * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
                     *
                     * A bit shall indicate whether the alarm mode inactive or not:
                     *
                     *   - 0 = Inactive
                     *
                     *   - 1 = Active
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.4
                     */
                    readonly alarmsActive: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                    /**
                     * Indicates the alarm modes that will be emitted if the sensor is triggered.
                     *
                     * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
                     *
                     * A bit shall indicate whether the alarm mode is enabled or disabled:
                     *
                     *   - 0 = Disabled
                     *
                     *   - 1 = Enabled
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.6
                     */
                    readonly alarmsEnabled: OptionalAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                    /**
                     * Indicates the alarms supported by the sensor.
                     *
                     * A bit shall indicate whether the alarm mode is supported:
                     *
                     *   - 0 = Not supported
                     *
                     *   - 1 = Supported
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.7
                     */
                    readonly alarmsSupported: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                };
                readonly commands: {
                    /**
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2
                     */
                    readonly enableDisableAlarm: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate the alarm modes to either enable or disable depending on the bit status, as
                         * specified for the AlarmsEnabled attribute.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2.1
                         */
                        alarmsToEnableDisable: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                    }>, void, any>;
                };
                readonly events: {
                    /**
                     * This event shall be generated after any bits in the AlarmsActive and/or AlarmsSuppressedattributeschange.
                     * This may occur in situations such as when internal processing by the server determines that an alarm mode
                     * becomes active or inactive, or when the SuppressAlarm or EnableDisableAlarm commands are processed in a
                     * way that some alarm modes becomes suppressed, active or inactive.
                     *
                     * If several alarm modes change state at the same time, a single event combining multiple changes may be
                     * emitted instead of multiple events each representing a single change.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1
                     */
                    readonly alarmsStateChanged: Event<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate the state of active alarm modes, as indicated by the AlarmsActive attribute, at the
                         * time the event was generated.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.1
                         */
                        alarmsActive: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                        /**
                         * This field shall indicate the state of suppressed alarm modes, as indicated by the AlarmsSuppressed
                         * attribute, at the time the event was generated.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.2
                         */
                        alarmsSuppressed: import("../tlv/TlvObject.js").OptionalFieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                    }>, any>;
                };
            };
        }, {
            readonly flags: {
                readonly audible: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates which specific alarm modes on the server are currently active. When the sensor is no longer
                     * triggered, this attribute shall be set to the inactive state, by setting the bit to 0, for all supported
                     * alarm modes.
                     *
                     * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
                     *
                     * A bit shall indicate whether the alarm mode inactive or not:
                     *
                     *   - 0 = Inactive
                     *
                     *   - 1 = Active
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.4
                     */
                    readonly alarmsActive: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                    /**
                     * Indicates the alarm modes that will be emitted if the sensor is triggered.
                     *
                     * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
                     *
                     * A bit shall indicate whether the alarm mode is enabled or disabled:
                     *
                     *   - 0 = Disabled
                     *
                     *   - 1 = Enabled
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.6
                     */
                    readonly alarmsEnabled: OptionalAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                    /**
                     * Indicates the alarms supported by the sensor.
                     *
                     * A bit shall indicate whether the alarm mode is supported:
                     *
                     *   - 0 = Not supported
                     *
                     *   - 1 = Supported
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.7
                     */
                    readonly alarmsSupported: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                };
                readonly commands: {
                    /**
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2
                     */
                    readonly enableDisableAlarm: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate the alarm modes to either enable or disable depending on the bit status, as
                         * specified for the AlarmsEnabled attribute.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2.1
                         */
                        alarmsToEnableDisable: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                    }>, void, any>;
                };
                readonly events: {
                    /**
                     * This event shall be generated after any bits in the AlarmsActive and/or AlarmsSuppressedattributeschange.
                     * This may occur in situations such as when internal processing by the server determines that an alarm mode
                     * becomes active or inactive, or when the SuppressAlarm or EnableDisableAlarm commands are processed in a
                     * way that some alarm modes becomes suppressed, active or inactive.
                     *
                     * If several alarm modes change state at the same time, a single event combining multiple changes may be
                     * emitted instead of multiple events each representing a single change.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1
                     */
                    readonly alarmsStateChanged: Event<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate the state of active alarm modes, as indicated by the AlarmsActive attribute, at the
                         * time the event was generated.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.1
                         */
                        alarmsActive: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                        /**
                         * This field shall indicate the state of suppressed alarm modes, as indicated by the AlarmsSuppressed
                         * attribute, at the time the event was generated.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.2
                         */
                        alarmsSuppressed: import("../tlv/TlvObject.js").OptionalFieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                    }>, any>;
                };
            };
        }, {
            readonly flags: {
                readonly alarmSuppress: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates which specific alarm modes on the server are currently suppressed. When the sensor is no longer
                     * triggered, this attribute shall be set to the unsuppressed state, by setting the bit to 0, for all
                     * supported alarm modes.
                     *
                     * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
                     *
                     * A bit shall indicate whether the alarm mode is suppressed or not:
                     *
                     *   - 0 = Not suppressed
                     *
                     *   - 1 = Suppressed
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.5
                     */
                    readonly alarmsSuppressed: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                };
                readonly commands: {
                    /**
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.1
                     */
                    readonly suppressAlarm: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate the alarm modes to suppress.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.1.1
                         */
                        alarmsToSuppress: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                    }>, void, any>;
                };
            };
        }, {
            readonly flags: {
                readonly alarmSuppress: true;
                readonly visual: true;
                readonly audible: true;
            };
            readonly component: false;
        }];
    };
    /**
     * @see {@link Cluster}
     */
    const ClusterInstance: MutableCluster<{
        readonly id: 128;
        readonly name: "BooleanStateConfiguration";
        readonly revision: 1;
        readonly features: {
            /**
             * Supports visual alarms
             */
            readonly visual: BitFlag;
            /**
             * Supports audible alarms
             */
            readonly audible: BitFlag;
            /**
             * This feature shall indicate that the device is able to suppress the supported alarm modes, when the user
             * acknowledges the alarm. This is intended to stop visual and/or audible alarms, when the user has become
             * aware that the sensor is triggered, but it is no longer desired to have the alarm modes active on the
             * device, e.g.:
             *
             *   - The triggering cause have been resolved by the user, but the sensor has not yet stopped detecting the
             *     triggering cause.
             *
             *   - The user is not able to address the triggering cause, but is aware of the alarm and
             *     suppress/acknowledge it be addressed at a later point.
             *
             * Acknowledge of alarms will for the remainder of this cluster be referred to as suppress.
             *
             * A suppressed alarm is still considered active and will remain so unless it is actively disabled or the
             * triggering condition is not longer present. The action of suppressing an alarm mode is only applicable to
             * and is intended to stop the physical alarming, e.g. emitting a sound or blinking a light; it does not
             * impact alarm reporting in AlarmsActive.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.4.1
             */
            readonly alarmSuppress: BitFlag;
            /**
             * Supports ability to set sensor sensitivity
             */
            readonly sensitivityLevel: BitFlag;
        };
        readonly attributes: {
            /**
             * Indicates any faults registered by the device.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.8
             */
            readonly sensorFault: OptionalAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Unspecified fault detected
                 */
                generalFault: BitFlag;
            }>, any>;
        };
        readonly events: {
            /**
             * This event shall be generated when the device registers or clears a fault.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.2
             */
            readonly sensorFault: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate the value of the SensorFault attribute, at the time this event is generated.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.2.1
                 */
                sensorFault: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Unspecified fault detected
                     */
                    generalFault: BitFlag;
                }>>;
            }>, any>;
        };
        /**
         * This metadata controls which BooleanStateConfigurationCluster elements matter.js activates for specific
         * feature combinations.
         */
        readonly extensions: readonly [{
            readonly flags: {
                readonly sensitivityLevel: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates the currently selected sensitivity level.
                     *
                     * If a write interaction to this attribute contains an unsupported sensitivity value, a CONSTRAINT_ERROR
                     * status shall be returned.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.1
                     */
                    readonly currentSensitivityLevel: WritableAttribute<number, any>;
                    /**
                     * Indicates the number of supported sensitivity levels by the device.
                     *
                     * These supported sensitivity levels shall be ordered by sensitivity, where a value of 0 shall be
                     * considered the lowest sensitivity level (least sensitive) and the highest supported value shall be
                     * considered the highest sensitivity level. The number of supported sensitivity levels SHOULD represent
                     * unique sensitivity levels supported by the device.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.2
                     */
                    readonly supportedSensitivityLevels: FixedAttribute<number, any>;
                    /**
                     * Indicates the default sensitivity level selected by the manufacturer.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.3
                     */
                    readonly defaultSensitivityLevel: OptionalFixedAttribute<number, any>;
                };
            };
        }, {
            readonly flags: {
                readonly visual: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates which specific alarm modes on the server are currently active. When the sensor is no longer
                     * triggered, this attribute shall be set to the inactive state, by setting the bit to 0, for all supported
                     * alarm modes.
                     *
                     * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
                     *
                     * A bit shall indicate whether the alarm mode inactive or not:
                     *
                     *   - 0 = Inactive
                     *
                     *   - 1 = Active
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.4
                     */
                    readonly alarmsActive: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                    /**
                     * Indicates the alarm modes that will be emitted if the sensor is triggered.
                     *
                     * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
                     *
                     * A bit shall indicate whether the alarm mode is enabled or disabled:
                     *
                     *   - 0 = Disabled
                     *
                     *   - 1 = Enabled
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.6
                     */
                    readonly alarmsEnabled: OptionalAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                    /**
                     * Indicates the alarms supported by the sensor.
                     *
                     * A bit shall indicate whether the alarm mode is supported:
                     *
                     *   - 0 = Not supported
                     *
                     *   - 1 = Supported
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.7
                     */
                    readonly alarmsSupported: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                };
                readonly commands: {
                    /**
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2
                     */
                    readonly enableDisableAlarm: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate the alarm modes to either enable or disable depending on the bit status, as
                         * specified for the AlarmsEnabled attribute.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2.1
                         */
                        alarmsToEnableDisable: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                    }>, void, any>;
                };
                readonly events: {
                    /**
                     * This event shall be generated after any bits in the AlarmsActive and/or AlarmsSuppressedattributeschange.
                     * This may occur in situations such as when internal processing by the server determines that an alarm mode
                     * becomes active or inactive, or when the SuppressAlarm or EnableDisableAlarm commands are processed in a
                     * way that some alarm modes becomes suppressed, active or inactive.
                     *
                     * If several alarm modes change state at the same time, a single event combining multiple changes may be
                     * emitted instead of multiple events each representing a single change.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1
                     */
                    readonly alarmsStateChanged: Event<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate the state of active alarm modes, as indicated by the AlarmsActive attribute, at the
                         * time the event was generated.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.1
                         */
                        alarmsActive: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                        /**
                         * This field shall indicate the state of suppressed alarm modes, as indicated by the AlarmsSuppressed
                         * attribute, at the time the event was generated.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.2
                         */
                        alarmsSuppressed: import("../tlv/TlvObject.js").OptionalFieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                    }>, any>;
                };
            };
        }, {
            readonly flags: {
                readonly audible: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates which specific alarm modes on the server are currently active. When the sensor is no longer
                     * triggered, this attribute shall be set to the inactive state, by setting the bit to 0, for all supported
                     * alarm modes.
                     *
                     * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
                     *
                     * A bit shall indicate whether the alarm mode inactive or not:
                     *
                     *   - 0 = Inactive
                     *
                     *   - 1 = Active
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.4
                     */
                    readonly alarmsActive: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                    /**
                     * Indicates the alarm modes that will be emitted if the sensor is triggered.
                     *
                     * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
                     *
                     * A bit shall indicate whether the alarm mode is enabled or disabled:
                     *
                     *   - 0 = Disabled
                     *
                     *   - 1 = Enabled
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.6
                     */
                    readonly alarmsEnabled: OptionalAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                    /**
                     * Indicates the alarms supported by the sensor.
                     *
                     * A bit shall indicate whether the alarm mode is supported:
                     *
                     *   - 0 = Not supported
                     *
                     *   - 1 = Supported
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.7
                     */
                    readonly alarmsSupported: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                };
                readonly commands: {
                    /**
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2
                     */
                    readonly enableDisableAlarm: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate the alarm modes to either enable or disable depending on the bit status, as
                         * specified for the AlarmsEnabled attribute.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2.1
                         */
                        alarmsToEnableDisable: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                    }>, void, any>;
                };
                readonly events: {
                    /**
                     * This event shall be generated after any bits in the AlarmsActive and/or AlarmsSuppressedattributeschange.
                     * This may occur in situations such as when internal processing by the server determines that an alarm mode
                     * becomes active or inactive, or when the SuppressAlarm or EnableDisableAlarm commands are processed in a
                     * way that some alarm modes becomes suppressed, active or inactive.
                     *
                     * If several alarm modes change state at the same time, a single event combining multiple changes may be
                     * emitted instead of multiple events each representing a single change.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1
                     */
                    readonly alarmsStateChanged: Event<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate the state of active alarm modes, as indicated by the AlarmsActive attribute, at the
                         * time the event was generated.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.1
                         */
                        alarmsActive: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                        /**
                         * This field shall indicate the state of suppressed alarm modes, as indicated by the AlarmsSuppressed
                         * attribute, at the time the event was generated.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.2
                         */
                        alarmsSuppressed: import("../tlv/TlvObject.js").OptionalFieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                    }>, any>;
                };
            };
        }, {
            readonly flags: {
                readonly alarmSuppress: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates which specific alarm modes on the server are currently suppressed. When the sensor is no longer
                     * triggered, this attribute shall be set to the unsuppressed state, by setting the bit to 0, for all
                     * supported alarm modes.
                     *
                     * If an alarm mode is not supported, the bit indicating this alarm mode shall always be 0.
                     *
                     * A bit shall indicate whether the alarm mode is suppressed or not:
                     *
                     *   - 0 = Not suppressed
                     *
                     *   - 1 = Suppressed
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.6.5
                     */
                    readonly alarmsSuppressed: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Visual alarming
                         */
                        visual: BitFlag;
                        /**
                         * Audible alarming
                         */
                        audible: BitFlag;
                    }>, any>;
                };
                readonly commands: {
                    /**
                     * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.1
                     */
                    readonly suppressAlarm: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate the alarm modes to suppress.
                         *
                         * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.1.1
                         */
                        alarmsToSuppress: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Visual alarming
                             */
                            visual: BitFlag;
                            /**
                             * Audible alarming
                             */
                            audible: BitFlag;
                        }>>;
                    }>, void, any>;
                };
            };
        }, {
            readonly flags: {
                readonly alarmSuppress: true;
                readonly visual: true;
                readonly audible: true;
            };
            readonly component: false;
        }];
    }, []>;
    /**
     * This cluster is used to configure a boolean sensor, including optional state change alarm features and
     * configuration of the sensitivity level associated with the sensor.
     *
     * BooleanStateConfigurationCluster supports optional features that you can enable with the
     * BooleanStateConfigurationCluster.with() factory method.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 1.8
     */
    interface Cluster extends Identity<typeof ClusterInstance> {
    }
    const Cluster: Cluster;
    /**
     * @see {@link Complete}
     */
    const CompleteInstance: MutableCluster<{
        readonly id: import("#general").Branded<128, "ClusterId">;
        readonly name: "BooleanStateConfiguration";
        readonly revision: 1;
        readonly features: {
            /**
             * Supports visual alarms
             */
            readonly visual: BitFlag;
            /**
             * Supports audible alarms
             */
            readonly audible: BitFlag;
            /**
             * This feature shall indicate that the device is able to suppress the supported alarm modes, when the user
             * acknowledges the alarm. This is intended to stop visual and/or audible alarms, when the user has become
             * aware that the sensor is triggered, but it is no longer desired to have the alarm modes active on the
             * device, e.g.:
             *
             *   - The triggering cause have been resolved by the user, but the sensor has not yet stopped detecting the
             *     triggering cause.
             *
             *   - The user is not able to address the triggering cause, but is aware of the alarm and
             *     suppress/acknowledge it be addressed at a later point.
             *
             * Acknowledge of alarms will for the remainder of this cluster be referred to as suppress.
             *
             * A suppressed alarm is still considered active and will remain so unless it is actively disabled or the
             * triggering condition is not longer present. The action of suppressing an alarm mode is only applicable to
             * and is intended to stop the physical alarming, e.g. emitting a sound or blinking a light; it does not
             * impact alarm reporting in AlarmsActive.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.4.1
             */
            readonly alarmSuppress: BitFlag;
            /**
             * Supports ability to set sensor sensitivity
             */
            readonly sensitivityLevel: BitFlag;
        };
        readonly attributes: {
            readonly currentSensitivityLevel: WritableAttribute<number, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    sensitivityLevel: boolean;
                }];
            };
            readonly supportedSensitivityLevels: FixedAttribute<number, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    sensitivityLevel: boolean;
                }];
            };
            readonly defaultSensitivityLevel: OptionalFixedAttribute<number, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | [{
                    sensitivityLevel: boolean;
                }];
                readonly mandatoryIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
            };
            readonly alarmsActive: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Visual alarming
                 */
                visual: BitFlag;
                /**
                 * Audible alarming
                 */
                audible: BitFlag;
            }>, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    visual: boolean;
                }, {
                    audible: boolean;
                }];
            };
            readonly alarmsSuppressed: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Visual alarming
                 */
                visual: BitFlag;
                /**
                 * Audible alarming
                 */
                audible: BitFlag;
            }>, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    alarmSuppress: boolean;
                }];
            };
            readonly alarmsEnabled: OptionalAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Visual alarming
                 */
                visual: BitFlag;
                /**
                 * Audible alarming
                 */
                audible: BitFlag;
            }>, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | [{
                    visual: boolean;
                }, {
                    audible: boolean;
                }];
                readonly mandatoryIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
            };
            readonly alarmsSupported: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Visual alarming
                 */
                visual: BitFlag;
                /**
                 * Audible alarming
                 */
                audible: BitFlag;
            }>, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    visual: boolean;
                }, {
                    audible: boolean;
                }];
            };
            readonly sensorFault: OptionalAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Unspecified fault detected
                 */
                generalFault: BitFlag;
            }>, any>;
            readonly clusterRevision: Attribute<number, never>;
            readonly featureMap: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Supports visual alarms
                 */
                readonly visual: BitFlag;
                /**
                 * Supports audible alarms
                 */
                readonly audible: BitFlag;
                /**
                 * This feature shall indicate that the device is able to suppress the supported alarm modes, when the user
                 * acknowledges the alarm. This is intended to stop visual and/or audible alarms, when the user has become
                 * aware that the sensor is triggered, but it is no longer desired to have the alarm modes active on the
                 * device, e.g.:
                 *
                 *   - The triggering cause have been resolved by the user, but the sensor has not yet stopped detecting the
                 *     triggering cause.
                 *
                 *   - The user is not able to address the triggering cause, but is aware of the alarm and
                 *     suppress/acknowledge it be addressed at a later point.
                 *
                 * Acknowledge of alarms will for the remainder of this cluster be referred to as suppress.
                 *
                 * A suppressed alarm is still considered active and will remain so unless it is actively disabled or the
                 * triggering condition is not longer present. The action of suppressing an alarm mode is only applicable to
                 * and is intended to stop the physical alarming, e.g. emitting a sound or blinking a light; it does not
                 * impact alarm reporting in AlarmsActive.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.4.1
                 */
                readonly alarmSuppress: BitFlag;
                /**
                 * Supports ability to set sensor sensitivity
                 */
                readonly sensitivityLevel: BitFlag;
            }>, never>;
            readonly attributeList: Attribute<import("../index.js").AttributeId[], never>;
            readonly acceptedCommandList: Attribute<import("../index.js").CommandId[], never>;
            readonly generatedCommandList: Attribute<import("../index.js").CommandId[], never>;
        };
        readonly commands: {
            readonly suppressAlarm: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate the alarm modes to suppress.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.1.1
                 */
                alarmsToSuppress: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Visual alarming
                     */
                    visual: BitFlag;
                    /**
                     * Audible alarming
                     */
                    audible: BitFlag;
                }>>;
            }>, void, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    alarmSuppress: boolean;
                }];
            };
            readonly enableDisableAlarm: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate the alarm modes to either enable or disable depending on the bit status, as
                 * specified for the AlarmsEnabled attribute.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.7.2.1
                 */
                alarmsToEnableDisable: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Visual alarming
                     */
                    visual: BitFlag;
                    /**
                     * Audible alarming
                     */
                    audible: BitFlag;
                }>>;
            }>, void, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    visual: boolean;
                }, {
                    audible: boolean;
                }];
            };
        };
        readonly events: {
            readonly alarmsStateChanged: Event<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate the state of active alarm modes, as indicated by the AlarmsActive attribute, at the
                 * time the event was generated.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.1
                 */
                alarmsActive: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Visual alarming
                     */
                    visual: BitFlag;
                    /**
                     * Audible alarming
                     */
                    audible: BitFlag;
                }>>;
                /**
                 * This field shall indicate the state of suppressed alarm modes, as indicated by the AlarmsSuppressed
                 * attribute, at the time the event was generated.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.1.2
                 */
                alarmsSuppressed: import("../tlv/TlvObject.js").OptionalFieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Visual alarming
                     */
                    visual: BitFlag;
                    /**
                     * Audible alarming
                     */
                    audible: BitFlag;
                }>>;
            }>, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    visual: boolean;
                }, {
                    audible: boolean;
                }];
            };
            /**
             * This event shall be generated when the device registers or clears a fault.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.2
             */
            readonly sensorFault: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate the value of the SensorFault attribute, at the time this event is generated.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 1.8.8.2.1
                 */
                sensorFault: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Unspecified fault detected
                     */
                    generalFault: BitFlag;
                }>>;
            }>, any>;
        };
    }, []>;
    /**
     * This cluster supports all BooleanStateConfiguration features. It may support illegal feature combinations.
     *
     * If you use this cluster you must manually specify which features are active and ensure the set of active features
     * is legal per the Matter specification.
     */
    interface Complete extends Identity<typeof CompleteInstance> {
    }
    const Complete: Complete;
}
export type BooleanStateConfigurationCluster = BooleanStateConfiguration.Cluster;
export declare const BooleanStateConfigurationCluster: BooleanStateConfiguration.Cluster;
//# sourceMappingURL=boolean-state-configuration.d.ts.map