/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { WritableAttribute } from "../cluster/Cluster.js";
import { TypeFromSchema } from "../tlv/TlvSchema.js";
export declare namespace Label {
    /**
     * This is a string tuple with strings that are user defined.
     *
     * @see {@link MatterSpecification.v142.Core} § 9.7.4.1
     */
    const TlvLabelStruct: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * The Label or Value semantic is not defined here. Label examples: "room", "zone", "group", "direction".
         *
         * @see {@link MatterSpecification.v142.Core} § 9.7.4.1.1
         */
        label: import("../tlv/TlvObject.js").FieldType<string>;
        /**
         * The Label or Value semantic is not defined here. The Value is a discriminator for a Label that may have
         * multiple instances.
         *
         * Label:Value examples: "room":"bedroom 2", "orientation":"North", "floor":"2", "direction":"up"
         *
         * @see {@link MatterSpecification.v142.Core} § 9.7.4.1.2
         */
        value: import("../tlv/TlvObject.js").FieldType<string>;
    }>;
    /**
     * This is a string tuple with strings that are user defined.
     *
     * @see {@link MatterSpecification.v142.Core} § 9.7.4.1
     */
    interface LabelStruct extends TypeFromSchema<typeof TlvLabelStruct> {
    }
    /**
     * Label is a derived cluster, not to be used directly. These elements are present in all clusters derived from
     * Label.
     */
    const Base: {
        readonly name: "Label";
        readonly revision: 1;
        readonly attributes: {
            /**
             * This is a list of string tuples. Each entry is a LabelStruct.
             *
             * @see {@link MatterSpecification.v142.Core} § 9.7.5.1
             */
            readonly labelList: WritableAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * The Label or Value semantic is not defined here. Label examples: "room", "zone", "group", "direction".
                 *
                 * @see {@link MatterSpecification.v142.Core} § 9.7.4.1.1
                 */
                label: import("../tlv/TlvObject.js").FieldType<string>;
                /**
                 * The Label or Value semantic is not defined here. The Value is a discriminator for a Label that may have
                 * multiple instances.
                 *
                 * Label:Value examples: "room":"bedroom 2", "orientation":"North", "floor":"2", "direction":"up"
                 *
                 * @see {@link MatterSpecification.v142.Core} § 9.7.4.1.2
                 */
                value: import("../tlv/TlvObject.js").FieldType<string>;
            }>[], any>;
        };
    };
    const Complete: {
        readonly name: "Label";
        readonly revision: 1;
        readonly attributes: {
            /**
             * This is a list of string tuples. Each entry is a LabelStruct.
             *
             * @see {@link MatterSpecification.v142.Core} § 9.7.5.1
             */
            readonly labelList: WritableAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * The Label or Value semantic is not defined here. Label examples: "room", "zone", "group", "direction".
                 *
                 * @see {@link MatterSpecification.v142.Core} § 9.7.4.1.1
                 */
                label: import("../tlv/TlvObject.js").FieldType<string>;
                /**
                 * The Label or Value semantic is not defined here. The Value is a discriminator for a Label that may have
                 * multiple instances.
                 *
                 * Label:Value examples: "room":"bedroom 2", "orientation":"North", "floor":"2", "direction":"up"
                 *
                 * @see {@link MatterSpecification.v142.Core} § 9.7.4.1.2
                 */
                value: import("../tlv/TlvObject.js").FieldType<string>;
            }>[], any>;
        };
    };
}
//# sourceMappingURL=label.d.ts.map