/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
import { FixedAttribute, Command, Attribute, OptionalCommand, Event } from "../cluster/Cluster.js";
import { BitFlag } from "../schema/BitmapSchema.js";
import { TypeFromSchema } from "../tlv/TlvSchema.js";
import { Identity } from "#general";
export declare namespace DishwasherAlarm {
    /**
     * These are optional features supported by DishwasherAlarmCluster.
     *
     * @see {@link MatterSpecification.v13.Cluster} § 1.15.4
     */
    enum Feature {
        /**
         * Reset (RESET)
         *
         * This feature indicates that alarms can be reset via the Reset command.
         *
         * @see {@link MatterSpecification.v13.Cluster} § 1.15.4.1
         */
        Reset = "Reset"
    }
    /**
     * @see {@link MatterSpecification.v13.Cluster} § 8.4.4.1
     */
    const Alarm: {
        /**
         * Water inflow is abnormal
         */
        inflowError: BitFlag;
        /**
         * Water draining is abnormal
         */
        drainError: BitFlag;
        /**
         * Door or door lock is abnormal
         */
        doorError: BitFlag;
        /**
         * Unable to reach normal temperature
         */
        tempTooLow: BitFlag;
        /**
         * Temperature is too high
         */
        tempTooHigh: BitFlag;
        /**
         * Water level is abnormal
         */
        waterLevelError: BitFlag;
    };
    /**
     * Input to the DishwasherAlarm reset command
     *
     * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1
     */
    const TlvResetRequest: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This field shall indicate a bitmap where each bit set in this field corresponds to an alarm that shall be
         * reset to inactive in the State attribute unless the alarm definition requires manual intervention. If the
         * alarms indicated are successfully reset, the response status code shall be SUCCESS, otherwise, the response
         * status code shall be FAILURE.
         *
         * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1.1
         */
        alarms: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
            /**
             * Water inflow is abnormal
             */
            inflowError: BitFlag;
            /**
             * Water draining is abnormal
             */
            drainError: BitFlag;
            /**
             * Door or door lock is abnormal
             */
            doorError: BitFlag;
            /**
             * Unable to reach normal temperature
             */
            tempTooLow: BitFlag;
            /**
             * Temperature is too high
             */
            tempTooHigh: BitFlag;
            /**
             * Water level is abnormal
             */
            waterLevelError: BitFlag;
        }>>;
    }>;
    /**
     * Input to the DishwasherAlarm reset command
     *
     * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1
     */
    interface ResetRequest extends TypeFromSchema<typeof TlvResetRequest> {
    }
    /**
     * Input to the DishwasherAlarm modifyEnabledAlarms command
     *
     * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2
     */
    const TlvModifyEnabledAlarmsRequest: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This field shall indicate a bitmap where each bit set in the this field corresponds to an alarm that SHOULD
         * be enabled or suppressed. A value of 1 shall indicate that the alarm SHOULD be enabled while a value of 0
         * shall indicate that the alarm SHOULD be suppressed.
         *
         * A server that receives this command with a Mask that includes bits that are set for unknown alarms shall
         * respond with a status code of INVALID_COMMAND.
         *
         * A server that receives this command with a Mask that includes bits that are set for alarms which are not
         * supported, as indicated in the Supported attribute, shall respond with a status code of INVALID_COMMAND.
         *
         * A server that is unable to enable a currently suppressed alarm, or is unable to suppress a currently enabled
         * alarm shall respond with a status code of FAILURE; otherwise the server shall respond with a status code of
         * SUCCESS.
         *
         * On a SUCCESS case, the server shall also change the value of the Mask attribute to the value of the
         *
         * Mask field from this command. After that the server shall also update the value of its State attribute to
         * reflect the status of the new alarm set as indicated by the new value of the Mask attribute.
         *
         * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2.1
         */
        mask: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
            /**
             * Water inflow is abnormal
             */
            inflowError: BitFlag;
            /**
             * Water draining is abnormal
             */
            drainError: BitFlag;
            /**
             * Door or door lock is abnormal
             */
            doorError: BitFlag;
            /**
             * Unable to reach normal temperature
             */
            tempTooLow: BitFlag;
            /**
             * Temperature is too high
             */
            tempTooHigh: BitFlag;
            /**
             * Water level is abnormal
             */
            waterLevelError: BitFlag;
        }>>;
    }>;
    /**
     * Input to the DishwasherAlarm modifyEnabledAlarms command
     *
     * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2
     */
    interface ModifyEnabledAlarmsRequest extends TypeFromSchema<typeof TlvModifyEnabledAlarmsRequest> {
    }
    /**
     * Body of the DishwasherAlarm notify event
     *
     * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1
     */
    const TlvNotifyEvent: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This field shall indicate those alarms that have become active.
         *
         * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.1
         */
        active: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
            /**
             * Water inflow is abnormal
             */
            inflowError: BitFlag;
            /**
             * Water draining is abnormal
             */
            drainError: BitFlag;
            /**
             * Door or door lock is abnormal
             */
            doorError: BitFlag;
            /**
             * Unable to reach normal temperature
             */
            tempTooLow: BitFlag;
            /**
             * Temperature is too high
             */
            tempTooHigh: BitFlag;
            /**
             * Water level is abnormal
             */
            waterLevelError: BitFlag;
        }>>;
        /**
         * This field shall indicate those alarms that have become inactive.
         *
         * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.2
         */
        inactive: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
            /**
             * Water inflow is abnormal
             */
            inflowError: BitFlag;
            /**
             * Water draining is abnormal
             */
            drainError: BitFlag;
            /**
             * Door or door lock is abnormal
             */
            doorError: BitFlag;
            /**
             * Unable to reach normal temperature
             */
            tempTooLow: BitFlag;
            /**
             * Temperature is too high
             */
            tempTooHigh: BitFlag;
            /**
             * Water level is abnormal
             */
            waterLevelError: BitFlag;
        }>>;
        /**
         * This field shall be a copy of the new State attribute value that resulted in the event being generated. That
         * is, this field shall have all the bits in Active set and shall NOT have any of the bits in Inactive set.
         *
         * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.4
         */
        state: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
            /**
             * Water inflow is abnormal
             */
            inflowError: BitFlag;
            /**
             * Water draining is abnormal
             */
            drainError: BitFlag;
            /**
             * Door or door lock is abnormal
             */
            doorError: BitFlag;
            /**
             * Unable to reach normal temperature
             */
            tempTooLow: BitFlag;
            /**
             * Temperature is too high
             */
            tempTooHigh: BitFlag;
            /**
             * Water level is abnormal
             */
            waterLevelError: BitFlag;
        }>>;
        /**
         * This field shall be a copy of the Mask attribute when this event was generated.
         *
         * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.3
         */
        mask: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
            /**
             * Water inflow is abnormal
             */
            inflowError: BitFlag;
            /**
             * Water draining is abnormal
             */
            drainError: BitFlag;
            /**
             * Door or door lock is abnormal
             */
            doorError: BitFlag;
            /**
             * Unable to reach normal temperature
             */
            tempTooLow: BitFlag;
            /**
             * Temperature is too high
             */
            tempTooHigh: BitFlag;
            /**
             * Water level is abnormal
             */
            waterLevelError: BitFlag;
        }>>;
    }>;
    /**
     * Body of the DishwasherAlarm notify event
     *
     * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1
     */
    interface NotifyEvent extends TypeFromSchema<typeof TlvNotifyEvent> {
    }
    /**
     * A DishwasherAlarmCluster supports these elements if it supports feature Reset.
     */
    const ResetComponent: {
        readonly attributes: {
            /**
             * Indicates a bitmap where each bit set in the Latch attribute shall indicate that the corresponding alarm
             * will be latched when set, and will not reset to inactive when the underlying condition which caused the
             * alarm is no longer present, and so requires an explicit reset using the Reset command.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.2
             */
            readonly latch: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Water inflow is abnormal
                 */
                inflowError: BitFlag;
                /**
                 * Water draining is abnormal
                 */
                drainError: BitFlag;
                /**
                 * Door or door lock is abnormal
                 */
                doorError: BitFlag;
                /**
                 * Unable to reach normal temperature
                 */
                tempTooLow: BitFlag;
                /**
                 * Temperature is too high
                 */
                tempTooHigh: BitFlag;
                /**
                 * Water level is abnormal
                 */
                waterLevelError: BitFlag;
            }>, any>;
        };
        readonly commands: {
            /**
             * This command resets active and latched alarms (if possible). Any generated Notify event shall contain
             * fields that represent the state of the server after the command has been processed.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1
             */
            readonly reset: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate a bitmap where each bit set in this field corresponds to an alarm that shall be
                 * reset to inactive in the State attribute unless the alarm definition requires manual intervention. If the
                 * alarms indicated are successfully reset, the response status code shall be SUCCESS, otherwise, the response
                 * status code shall be FAILURE.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1.1
                 */
                alarms: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
            }>, void, any>;
        };
    };
    /**
     * These elements and properties are present in all DishwasherAlarm clusters.
     */
    const Base: {
        readonly id: 93;
        readonly name: "DishwasherAlarm";
        readonly revision: 1;
        readonly features: {
            /**
             * Reset
             *
             * This feature indicates that alarms can be reset via the Reset command.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.4.1
             */
            readonly reset: BitFlag;
        };
        readonly attributes: {
            /**
             * Indicates a bitmap where each bit set in the Mask attribute corresponds to an alarm that shall be
             * enabled.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.1
             */
            readonly mask: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Water inflow is abnormal
                 */
                inflowError: BitFlag;
                /**
                 * Water draining is abnormal
                 */
                drainError: BitFlag;
                /**
                 * Door or door lock is abnormal
                 */
                doorError: BitFlag;
                /**
                 * Unable to reach normal temperature
                 */
                tempTooLow: BitFlag;
                /**
                 * Temperature is too high
                 */
                tempTooHigh: BitFlag;
                /**
                 * Water level is abnormal
                 */
                waterLevelError: BitFlag;
            }>, any>;
            /**
             * Indicates a bitmap where each bit shall represent the state of an alarm. The value of true means the
             * alarm is active, otherwise the alarm is inactive.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.3
             */
            readonly state: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Water inflow is abnormal
                 */
                inflowError: BitFlag;
                /**
                 * Water draining is abnormal
                 */
                drainError: BitFlag;
                /**
                 * Door or door lock is abnormal
                 */
                doorError: BitFlag;
                /**
                 * Unable to reach normal temperature
                 */
                tempTooLow: BitFlag;
                /**
                 * Temperature is too high
                 */
                tempTooHigh: BitFlag;
                /**
                 * Water level is abnormal
                 */
                waterLevelError: BitFlag;
            }>, any>;
            /**
             * Indicates a bitmap where each bit shall represent whether or not an alarm is supported. The value of
             * true means the alarm is supported, otherwise the alarm is not supported.
             *
             * If an alarm is not supported, the corresponding bit in Mask, Latch, and State shall be false.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.4
             */
            readonly supported: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Water inflow is abnormal
                 */
                inflowError: BitFlag;
                /**
                 * Water draining is abnormal
                 */
                drainError: BitFlag;
                /**
                 * Door or door lock is abnormal
                 */
                doorError: BitFlag;
                /**
                 * Unable to reach normal temperature
                 */
                tempTooLow: BitFlag;
                /**
                 * Temperature is too high
                 */
                tempTooHigh: BitFlag;
                /**
                 * Water level is abnormal
                 */
                waterLevelError: BitFlag;
            }>, any>;
        };
        readonly commands: {
            /**
             * This command allows a client to request that an alarm be enabled or suppressed at the server.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2
             */
            readonly modifyEnabledAlarms: OptionalCommand<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate a bitmap where each bit set in the this field corresponds to an alarm that SHOULD
                 * be enabled or suppressed. A value of 1 shall indicate that the alarm SHOULD be enabled while a value of 0
                 * shall indicate that the alarm SHOULD be suppressed.
                 *
                 * A server that receives this command with a Mask that includes bits that are set for unknown alarms shall
                 * respond with a status code of INVALID_COMMAND.
                 *
                 * A server that receives this command with a Mask that includes bits that are set for alarms which are not
                 * supported, as indicated in the Supported attribute, shall respond with a status code of INVALID_COMMAND.
                 *
                 * A server that is unable to enable a currently suppressed alarm, or is unable to suppress a currently enabled
                 * alarm shall respond with a status code of FAILURE; otherwise the server shall respond with a status code of
                 * SUCCESS.
                 *
                 * On a SUCCESS case, the server shall also change the value of the Mask attribute to the value of the
                 *
                 * Mask field from this command. After that the server shall also update the value of its State attribute to
                 * reflect the status of the new alarm set as indicated by the new value of the Mask attribute.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2.1
                 */
                mask: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
            }>, void, any>;
        };
        readonly events: {
            /**
             * This event shall be generated when one or more alarms change state, and shall have these fields:
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1
             */
            readonly notify: Event<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate those alarms that have become active.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.1
                 */
                active: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
                /**
                 * This field shall indicate those alarms that have become inactive.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.2
                 */
                inactive: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
                /**
                 * This field shall be a copy of the new State attribute value that resulted in the event being generated. That
                 * is, this field shall have all the bits in Active set and shall NOT have any of the bits in Inactive set.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.4
                 */
                state: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
                /**
                 * This field shall be a copy of the Mask attribute when this event was generated.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.3
                 */
                mask: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
            }>, any>;
        };
        /**
         * This metadata controls which DishwasherAlarmCluster elements matter.js activates for specific feature
         * combinations.
         */
        readonly extensions: readonly [{
            readonly flags: {
                readonly reset: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates a bitmap where each bit set in the Latch attribute shall indicate that the corresponding alarm
                     * will be latched when set, and will not reset to inactive when the underlying condition which caused the
                     * alarm is no longer present, and so requires an explicit reset using the Reset command.
                     *
                     * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.2
                     */
                    readonly latch: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Water inflow is abnormal
                         */
                        inflowError: BitFlag;
                        /**
                         * Water draining is abnormal
                         */
                        drainError: BitFlag;
                        /**
                         * Door or door lock is abnormal
                         */
                        doorError: BitFlag;
                        /**
                         * Unable to reach normal temperature
                         */
                        tempTooLow: BitFlag;
                        /**
                         * Temperature is too high
                         */
                        tempTooHigh: BitFlag;
                        /**
                         * Water level is abnormal
                         */
                        waterLevelError: BitFlag;
                    }>, any>;
                };
                readonly commands: {
                    /**
                     * This command resets active and latched alarms (if possible). Any generated Notify event shall contain
                     * fields that represent the state of the server after the command has been processed.
                     *
                     * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1
                     */
                    readonly reset: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate a bitmap where each bit set in this field corresponds to an alarm that shall be
                         * reset to inactive in the State attribute unless the alarm definition requires manual intervention. If the
                         * alarms indicated are successfully reset, the response status code shall be SUCCESS, otherwise, the response
                         * status code shall be FAILURE.
                         *
                         * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1.1
                         */
                        alarms: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Water inflow is abnormal
                             */
                            inflowError: BitFlag;
                            /**
                             * Water draining is abnormal
                             */
                            drainError: BitFlag;
                            /**
                             * Door or door lock is abnormal
                             */
                            doorError: BitFlag;
                            /**
                             * Unable to reach normal temperature
                             */
                            tempTooLow: BitFlag;
                            /**
                             * Temperature is too high
                             */
                            tempTooHigh: BitFlag;
                            /**
                             * Water level is abnormal
                             */
                            waterLevelError: BitFlag;
                        }>>;
                    }>, void, any>;
                };
            };
        }];
    };
    /**
     * @see {@link Cluster}
     */
    const ClusterInstance: MutableCluster<{
        readonly id: 93;
        readonly name: "DishwasherAlarm";
        readonly revision: 1;
        readonly features: {
            /**
             * Reset
             *
             * This feature indicates that alarms can be reset via the Reset command.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.4.1
             */
            readonly reset: BitFlag;
        };
        readonly attributes: {
            /**
             * Indicates a bitmap where each bit set in the Mask attribute corresponds to an alarm that shall be
             * enabled.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.1
             */
            readonly mask: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Water inflow is abnormal
                 */
                inflowError: BitFlag;
                /**
                 * Water draining is abnormal
                 */
                drainError: BitFlag;
                /**
                 * Door or door lock is abnormal
                 */
                doorError: BitFlag;
                /**
                 * Unable to reach normal temperature
                 */
                tempTooLow: BitFlag;
                /**
                 * Temperature is too high
                 */
                tempTooHigh: BitFlag;
                /**
                 * Water level is abnormal
                 */
                waterLevelError: BitFlag;
            }>, any>;
            /**
             * Indicates a bitmap where each bit shall represent the state of an alarm. The value of true means the
             * alarm is active, otherwise the alarm is inactive.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.3
             */
            readonly state: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Water inflow is abnormal
                 */
                inflowError: BitFlag;
                /**
                 * Water draining is abnormal
                 */
                drainError: BitFlag;
                /**
                 * Door or door lock is abnormal
                 */
                doorError: BitFlag;
                /**
                 * Unable to reach normal temperature
                 */
                tempTooLow: BitFlag;
                /**
                 * Temperature is too high
                 */
                tempTooHigh: BitFlag;
                /**
                 * Water level is abnormal
                 */
                waterLevelError: BitFlag;
            }>, any>;
            /**
             * Indicates a bitmap where each bit shall represent whether or not an alarm is supported. The value of
             * true means the alarm is supported, otherwise the alarm is not supported.
             *
             * If an alarm is not supported, the corresponding bit in Mask, Latch, and State shall be false.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.4
             */
            readonly supported: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Water inflow is abnormal
                 */
                inflowError: BitFlag;
                /**
                 * Water draining is abnormal
                 */
                drainError: BitFlag;
                /**
                 * Door or door lock is abnormal
                 */
                doorError: BitFlag;
                /**
                 * Unable to reach normal temperature
                 */
                tempTooLow: BitFlag;
                /**
                 * Temperature is too high
                 */
                tempTooHigh: BitFlag;
                /**
                 * Water level is abnormal
                 */
                waterLevelError: BitFlag;
            }>, any>;
        };
        readonly commands: {
            /**
             * This command allows a client to request that an alarm be enabled or suppressed at the server.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2
             */
            readonly modifyEnabledAlarms: OptionalCommand<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate a bitmap where each bit set in the this field corresponds to an alarm that SHOULD
                 * be enabled or suppressed. A value of 1 shall indicate that the alarm SHOULD be enabled while a value of 0
                 * shall indicate that the alarm SHOULD be suppressed.
                 *
                 * A server that receives this command with a Mask that includes bits that are set for unknown alarms shall
                 * respond with a status code of INVALID_COMMAND.
                 *
                 * A server that receives this command with a Mask that includes bits that are set for alarms which are not
                 * supported, as indicated in the Supported attribute, shall respond with a status code of INVALID_COMMAND.
                 *
                 * A server that is unable to enable a currently suppressed alarm, or is unable to suppress a currently enabled
                 * alarm shall respond with a status code of FAILURE; otherwise the server shall respond with a status code of
                 * SUCCESS.
                 *
                 * On a SUCCESS case, the server shall also change the value of the Mask attribute to the value of the
                 *
                 * Mask field from this command. After that the server shall also update the value of its State attribute to
                 * reflect the status of the new alarm set as indicated by the new value of the Mask attribute.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2.1
                 */
                mask: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
            }>, void, any>;
        };
        readonly events: {
            /**
             * This event shall be generated when one or more alarms change state, and shall have these fields:
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1
             */
            readonly notify: Event<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate those alarms that have become active.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.1
                 */
                active: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
                /**
                 * This field shall indicate those alarms that have become inactive.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.2
                 */
                inactive: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
                /**
                 * This field shall be a copy of the new State attribute value that resulted in the event being generated. That
                 * is, this field shall have all the bits in Active set and shall NOT have any of the bits in Inactive set.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.4
                 */
                state: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
                /**
                 * This field shall be a copy of the Mask attribute when this event was generated.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.3
                 */
                mask: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
            }>, any>;
        };
        /**
         * This metadata controls which DishwasherAlarmCluster elements matter.js activates for specific feature
         * combinations.
         */
        readonly extensions: readonly [{
            readonly flags: {
                readonly reset: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates a bitmap where each bit set in the Latch attribute shall indicate that the corresponding alarm
                     * will be latched when set, and will not reset to inactive when the underlying condition which caused the
                     * alarm is no longer present, and so requires an explicit reset using the Reset command.
                     *
                     * @see {@link MatterSpecification.v13.Cluster} § 1.15.6.2
                     */
                    readonly latch: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                        /**
                         * Water inflow is abnormal
                         */
                        inflowError: BitFlag;
                        /**
                         * Water draining is abnormal
                         */
                        drainError: BitFlag;
                        /**
                         * Door or door lock is abnormal
                         */
                        doorError: BitFlag;
                        /**
                         * Unable to reach normal temperature
                         */
                        tempTooLow: BitFlag;
                        /**
                         * Temperature is too high
                         */
                        tempTooHigh: BitFlag;
                        /**
                         * Water level is abnormal
                         */
                        waterLevelError: BitFlag;
                    }>, any>;
                };
                readonly commands: {
                    /**
                     * This command resets active and latched alarms (if possible). Any generated Notify event shall contain
                     * fields that represent the state of the server after the command has been processed.
                     *
                     * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1
                     */
                    readonly reset: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                        /**
                         * This field shall indicate a bitmap where each bit set in this field corresponds to an alarm that shall be
                         * reset to inactive in the State attribute unless the alarm definition requires manual intervention. If the
                         * alarms indicated are successfully reset, the response status code shall be SUCCESS, otherwise, the response
                         * status code shall be FAILURE.
                         *
                         * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1.1
                         */
                        alarms: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                            /**
                             * Water inflow is abnormal
                             */
                            inflowError: BitFlag;
                            /**
                             * Water draining is abnormal
                             */
                            drainError: BitFlag;
                            /**
                             * Door or door lock is abnormal
                             */
                            doorError: BitFlag;
                            /**
                             * Unable to reach normal temperature
                             */
                            tempTooLow: BitFlag;
                            /**
                             * Temperature is too high
                             */
                            tempTooHigh: BitFlag;
                            /**
                             * Water level is abnormal
                             */
                            waterLevelError: BitFlag;
                        }>>;
                    }>, void, any>;
                };
            };
        }];
    }, []>;
    /**
     * This cluster is a derived cluster of the Alarm Base cluster.
     *
     * DishwasherAlarmCluster supports optional features that you can enable with the DishwasherAlarmCluster.with()
     * factory method.
     *
     * @see {@link MatterSpecification.v13.Cluster} § 8.4
     */
    interface Cluster extends Identity<typeof ClusterInstance> {
    }
    const Cluster: Cluster;
    /**
     * @see {@link Complete}
     */
    const CompleteInstance: MutableCluster<{
        readonly id: import("#general").Branded<93, "ClusterId">;
        readonly name: "DishwasherAlarm";
        readonly revision: 1;
        readonly features: {
            /**
             * Reset
             *
             * This feature indicates that alarms can be reset via the Reset command.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.4.1
             */
            readonly reset: BitFlag;
        };
        readonly attributes: {
            readonly latch: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Water inflow is abnormal
                 */
                inflowError: BitFlag;
                /**
                 * Water draining is abnormal
                 */
                drainError: BitFlag;
                /**
                 * Door or door lock is abnormal
                 */
                doorError: BitFlag;
                /**
                 * Unable to reach normal temperature
                 */
                tempTooLow: BitFlag;
                /**
                 * Temperature is too high
                 */
                tempTooHigh: BitFlag;
                /**
                 * Water level is abnormal
                 */
                waterLevelError: BitFlag;
            }>, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    reset: boolean;
                }];
            };
            readonly mask: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Water inflow is abnormal
                 */
                inflowError: BitFlag;
                /**
                 * Water draining is abnormal
                 */
                drainError: BitFlag;
                /**
                 * Door or door lock is abnormal
                 */
                doorError: BitFlag;
                /**
                 * Unable to reach normal temperature
                 */
                tempTooLow: BitFlag;
                /**
                 * Temperature is too high
                 */
                tempTooHigh: BitFlag;
                /**
                 * Water level is abnormal
                 */
                waterLevelError: BitFlag;
            }>, any>;
            readonly state: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Water inflow is abnormal
                 */
                inflowError: BitFlag;
                /**
                 * Water draining is abnormal
                 */
                drainError: BitFlag;
                /**
                 * Door or door lock is abnormal
                 */
                doorError: BitFlag;
                /**
                 * Unable to reach normal temperature
                 */
                tempTooLow: BitFlag;
                /**
                 * Temperature is too high
                 */
                tempTooHigh: BitFlag;
                /**
                 * Water level is abnormal
                 */
                waterLevelError: BitFlag;
            }>, any>;
            readonly supported: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Water inflow is abnormal
                 */
                inflowError: BitFlag;
                /**
                 * Water draining is abnormal
                 */
                drainError: BitFlag;
                /**
                 * Door or door lock is abnormal
                 */
                doorError: BitFlag;
                /**
                 * Unable to reach normal temperature
                 */
                tempTooLow: BitFlag;
                /**
                 * Temperature is too high
                 */
                tempTooHigh: BitFlag;
                /**
                 * Water level is abnormal
                 */
                waterLevelError: BitFlag;
            }>, any>;
            readonly clusterRevision: Attribute<number, never>;
            readonly featureMap: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Reset
                 *
                 * This feature indicates that alarms can be reset via the Reset command.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.4.1
                 */
                readonly reset: 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 reset: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate a bitmap where each bit set in this field corresponds to an alarm that shall be
                 * reset to inactive in the State attribute unless the alarm definition requires manual intervention. If the
                 * alarms indicated are successfully reset, the response status code shall be SUCCESS, otherwise, the response
                 * status code shall be FAILURE.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.1.1
                 */
                alarms: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
            }>, void, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    reset: boolean;
                }];
            };
            /**
             * This command allows a client to request that an alarm be enabled or suppressed at the server.
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2
             */
            readonly modifyEnabledAlarms: OptionalCommand<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate a bitmap where each bit set in the this field corresponds to an alarm that SHOULD
                 * be enabled or suppressed. A value of 1 shall indicate that the alarm SHOULD be enabled while a value of 0
                 * shall indicate that the alarm SHOULD be suppressed.
                 *
                 * A server that receives this command with a Mask that includes bits that are set for unknown alarms shall
                 * respond with a status code of INVALID_COMMAND.
                 *
                 * A server that receives this command with a Mask that includes bits that are set for alarms which are not
                 * supported, as indicated in the Supported attribute, shall respond with a status code of INVALID_COMMAND.
                 *
                 * A server that is unable to enable a currently suppressed alarm, or is unable to suppress a currently enabled
                 * alarm shall respond with a status code of FAILURE; otherwise the server shall respond with a status code of
                 * SUCCESS.
                 *
                 * On a SUCCESS case, the server shall also change the value of the Mask attribute to the value of the
                 *
                 * Mask field from this command. After that the server shall also update the value of its State attribute to
                 * reflect the status of the new alarm set as indicated by the new value of the Mask attribute.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.7.2.1
                 */
                mask: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
            }>, void, any>;
        };
        readonly events: {
            /**
             * This event shall be generated when one or more alarms change state, and shall have these fields:
             *
             * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1
             */
            readonly notify: Event<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall indicate those alarms that have become active.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.1
                 */
                active: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
                /**
                 * This field shall indicate those alarms that have become inactive.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.2
                 */
                inactive: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
                /**
                 * This field shall be a copy of the new State attribute value that resulted in the event being generated. That
                 * is, this field shall have all the bits in Active set and shall NOT have any of the bits in Inactive set.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.4
                 */
                state: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
                /**
                 * This field shall be a copy of the Mask attribute when this event was generated.
                 *
                 * @see {@link MatterSpecification.v13.Cluster} § 1.15.8.1.3
                 */
                mask: import("../tlv/TlvObject.js").FieldType<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                    /**
                     * Water inflow is abnormal
                     */
                    inflowError: BitFlag;
                    /**
                     * Water draining is abnormal
                     */
                    drainError: BitFlag;
                    /**
                     * Door or door lock is abnormal
                     */
                    doorError: BitFlag;
                    /**
                     * Unable to reach normal temperature
                     */
                    tempTooLow: BitFlag;
                    /**
                     * Temperature is too high
                     */
                    tempTooHigh: BitFlag;
                    /**
                     * Water level is abnormal
                     */
                    waterLevelError: BitFlag;
                }>>;
            }>, any>;
        };
    }, []>;
    /**
     * This cluster supports all DishwasherAlarm 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 DishwasherAlarmCluster = DishwasherAlarm.Cluster;
export declare const DishwasherAlarmCluster: DishwasherAlarm.Cluster;
//# sourceMappingURL=dishwasher-alarm.d.ts.map