/**
 * @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 { Command, Attribute, FixedAttribute } from "../cluster/Cluster.js";
import { TypeFromSchema } from "../tlv/TlvSchema.js";
import { BitFlag } from "../schema/BitmapSchema.js";
import { Identity } from "#general";
export declare namespace ThreadBorderRouterManagement {
    /**
     * These are optional features supported by ThreadBorderRouterManagementCluster.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 10.3.4
     */
    enum Feature {
        /**
         * PanChange (PC)
         *
         * This feature shall indicate the ability of the Border Router to change its already configured PAN to another,
         * by setting a pending dataset.
         *
         * > [!NOTE]
         *
         * > This feature flag can be used to protect an already-configured network from accidental configuration
         *   change, e.g. when the Thread Border Router serves non-Matter devices that do not support PAN change for an
         *   implementation-specific reason.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 10.3.4.1
         */
        PanChange = "PanChange"
    }
    /**
     * Input to the ThreadBorderRouterManagement setPendingDatasetRequest command
     *
     * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.5
     */
    const TlvSetPendingDatasetRequest: import("../tlv/TlvObject.js").ObjectSchema<{
        pendingDataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
    }>;
    /**
     * Input to the ThreadBorderRouterManagement setPendingDatasetRequest command
     *
     * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.5
     */
    interface SetPendingDatasetRequest extends TypeFromSchema<typeof TlvSetPendingDatasetRequest> {
    }
    /**
     * This command is sent in response to GetActiveDatasetRequest or GetPendingDatasetRequest command.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.3
     */
    const TlvDatasetResponse: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * If no dataset (active or pending as requested) is configured, this field shall be set to empty.
         *
         * Otherwise, this field shall contain the active or pending dataset of the Thread network to which the Border
         * Router is connected as an octet string containing the raw Thread TLV value of the dataset, as defined in the
         * Thread specification.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.3.1
         */
        dataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
    }>;
    /**
     * This command is sent in response to GetActiveDatasetRequest or GetPendingDatasetRequest command.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.3
     */
    interface DatasetResponse extends TypeFromSchema<typeof TlvDatasetResponse> {
    }
    /**
     * Input to the ThreadBorderRouterManagement setActiveDatasetRequest command
     *
     * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4
     */
    const TlvSetActiveDatasetRequest: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This field shall contain the active dataset to set of the Thread network to configure in the Border Router as
         * an octet string containing the raw Thread TLV value of the dataset, as defined in the Thread specification.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4.1
         */
        activeDataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
        /**
         * See Breadcrumb Attribute section of General Commissioning Cluster in [MatterCore] for usage.
         *
         * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4.2
         */
        breadcrumb: import("../tlv/TlvObject.js").OptionalFieldType<number | bigint>;
    }>;
    /**
     * Input to the ThreadBorderRouterManagement setActiveDatasetRequest command
     *
     * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4
     */
    interface SetActiveDatasetRequest extends TypeFromSchema<typeof TlvSetActiveDatasetRequest> {
    }
    /**
     * A ThreadBorderRouterManagementCluster supports these elements if it supports feature PanChange.
     */
    const PanChangeComponent: {
        readonly commands: {
            /**
             * This command shall be used to set or update the pending Dataset of the Thread network to which the Border
             * Router is connected, if the Border Router supports PAN Change.
             *
             * If the command is not executed via a CASE session, the command shall fail with a status code of
             * UNSUPPORTED_ACCESS.
             *
             * This PendingDataset field shall contain the pending dataset to which the Thread network should be
             * updated. The format of the data shall be an octet string containing the raw Thread TLV value of the
             * pending dataset, as defined in the Thread specification.
             *
             * If any of the parameters in the PendingDataset is invalid, the command shall fail with a status of
             * INVALID_COMMAND.
             *
             * Otherwise, this command shall configure the pending dataset of the Thread network to which the Border
             * Router is connected, with the value given in the PendingDataset parameter. The Border Router will manage
             * activation of the pending dataset as defined in the Thread specification.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.5
             */
            readonly setPendingDatasetRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                pendingDataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
            }>, void, any>;
        };
    };
    /**
     * These elements and properties are present in all ThreadBorderRouterManagement clusters.
     */
    const Base: {
        readonly id: 1106;
        readonly name: "ThreadBorderRouterManagement";
        readonly revision: 1;
        readonly features: {
            /**
             * This feature shall indicate the ability of the Border Router to change its already configured PAN to
             * another, by setting a pending dataset.
             *
             * > [!NOTE]
             *
             * > This feature flag can be used to protect an already-configured network from accidental configuration
             *   change, e.g. when the Thread Border Router serves non-Matter devices that do not support PAN change for
             *   an implementation-specific reason.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.4.1
             */
            readonly panChange: BitFlag;
        };
        readonly attributes: {
            /**
             * Indicates a user-friendly name identifying the device model or product of the Border Router in MeshCOP
             * (DNS-SD service name) as defined in the Thread specification, and has the following recommended format:
             * <VendorName> <ProductName>._meshcop._udp. An example name would be ACME Border Router
             * (74be)._meshcop._udp.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.1
             */
            readonly borderRouterName: Attribute<string, any>;
            /**
             * Indicates a 16-byte globally unique ID for a Thread Border Router device. This ID is
             * manufacturer-specific, and it is created and managed by the border router’s implementation.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.2
             */
            readonly borderAgentId: Attribute<AllowSharedBufferSource, any>;
            /**
             * Indicates the Thread version supported by the Thread interface configured by the cluster instance.
             *
             * The format shall match the value mapping defined in the "Version TLV" section of the Thread
             * specification. For example, Thread 1.3.0 would have ThreadVersion set to 4.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.3
             */
            readonly threadVersion: FixedAttribute<number, any>;
            /**
             * Indicates whether the associated IEEE 802.15.4 Thread interface is enabled or disabled.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.4
             */
            readonly interfaceEnabled: Attribute<boolean, any>;
            /**
             * Null if the Thread Border Router has no dataset configured, otherwise it shall be the timestamp value
             * extracted from the Active Dataset value configured by the Thread Node to which the border router is
             * connected. This attribute shall be updated when a new Active dataset is configured on the Thread network
             * to which the border router is connected.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.5
             */
            readonly activeDatasetTimestamp: Attribute<number | bigint | null, any>;
            /**
             * Null if the Thread Border Router has no Pending dataset configured, otherwise it shall be the timestamp
             * value extracted from the Pending Dataset value configured by the Thread Node to which the border router
             * is connected. This attribute shall be updated when a new Pending dataset is configured on the Thread
             * network to which the border router is connected.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.6
             */
            readonly pendingDatasetTimestamp: Attribute<number | bigint | null, any>;
        };
        readonly commands: {
            /**
             * This command shall be used to request the active operational dataset of the Thread network to which the
             * border router is connected.
             *
             * If the command is not executed via a CASE session, the command shall fail with a status code of
             * UNSUPPORTED_ACCESS.
             *
             * If an internal error occurs, then this command shall fail with a FAILURE status code sent back to the
             * initiator.
             *
             * Otherwise, this shall generate a DatasetResponse command.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.1
             */
            readonly getActiveDatasetRequest: Command<void, import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * If no dataset (active or pending as requested) is configured, this field shall be set to empty.
                 *
                 * Otherwise, this field shall contain the active or pending dataset of the Thread network to which the Border
                 * Router is connected as an octet string containing the raw Thread TLV value of the dataset, as defined in the
                 * Thread specification.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.3.1
                 */
                dataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
            }>, any>;
            /**
             * This command shall be used to request the pending dataset of the Thread network to which the border
             * router is connected.
             *
             * If the command is not executed via a CASE session, the command shall fail with a status code of
             * UNSUPPORTED_ACCESS.
             *
             * If an internal error occurs, then this command shall fail with a FAILURE status code sent back to the
             * initiator.
             *
             * Otherwise, this shall generate a DatasetResponse command.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.2
             */
            readonly getPendingDatasetRequest: Command<void, import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * If no dataset (active or pending as requested) is configured, this field shall be set to empty.
                 *
                 * Otherwise, this field shall contain the active or pending dataset of the Thread network to which the Border
                 * Router is connected as an octet string containing the raw Thread TLV value of the dataset, as defined in the
                 * Thread specification.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.3.1
                 */
                dataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
            }>, any>;
            /**
             * This command shall be used to set the active Dataset of the Thread network to which the Border Router is
             * connected, when there is no active dataset already.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4
             */
            readonly setActiveDatasetRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall contain the active dataset to set of the Thread network to configure in the Border Router as
                 * an octet string containing the raw Thread TLV value of the dataset, as defined in the Thread specification.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4.1
                 */
                activeDataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
                /**
                 * See Breadcrumb Attribute section of General Commissioning Cluster in [MatterCore] for usage.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4.2
                 */
                breadcrumb: import("../tlv/TlvObject.js").OptionalFieldType<number | bigint>;
            }>, void, any>;
        };
        /**
         * This metadata controls which ThreadBorderRouterManagementCluster elements matter.js activates for specific
         * feature combinations.
         */
        readonly extensions: readonly [{
            readonly flags: {
                readonly panChange: true;
            };
            readonly component: {
                readonly commands: {
                    /**
                     * This command shall be used to set or update the pending Dataset of the Thread network to which the Border
                     * Router is connected, if the Border Router supports PAN Change.
                     *
                     * If the command is not executed via a CASE session, the command shall fail with a status code of
                     * UNSUPPORTED_ACCESS.
                     *
                     * This PendingDataset field shall contain the pending dataset to which the Thread network should be
                     * updated. The format of the data shall be an octet string containing the raw Thread TLV value of the
                     * pending dataset, as defined in the Thread specification.
                     *
                     * If any of the parameters in the PendingDataset is invalid, the command shall fail with a status of
                     * INVALID_COMMAND.
                     *
                     * Otherwise, this command shall configure the pending dataset of the Thread network to which the Border
                     * Router is connected, with the value given in the PendingDataset parameter. The Border Router will manage
                     * activation of the pending dataset as defined in the Thread specification.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.5
                     */
                    readonly setPendingDatasetRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                        pendingDataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
                    }>, void, any>;
                };
            };
        }];
    };
    /**
     * @see {@link Cluster}
     */
    const ClusterInstance: MutableCluster<{
        readonly id: 1106;
        readonly name: "ThreadBorderRouterManagement";
        readonly revision: 1;
        readonly features: {
            /**
             * This feature shall indicate the ability of the Border Router to change its already configured PAN to
             * another, by setting a pending dataset.
             *
             * > [!NOTE]
             *
             * > This feature flag can be used to protect an already-configured network from accidental configuration
             *   change, e.g. when the Thread Border Router serves non-Matter devices that do not support PAN change for
             *   an implementation-specific reason.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.4.1
             */
            readonly panChange: BitFlag;
        };
        readonly attributes: {
            /**
             * Indicates a user-friendly name identifying the device model or product of the Border Router in MeshCOP
             * (DNS-SD service name) as defined in the Thread specification, and has the following recommended format:
             * <VendorName> <ProductName>._meshcop._udp. An example name would be ACME Border Router
             * (74be)._meshcop._udp.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.1
             */
            readonly borderRouterName: Attribute<string, any>;
            /**
             * Indicates a 16-byte globally unique ID for a Thread Border Router device. This ID is
             * manufacturer-specific, and it is created and managed by the border router’s implementation.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.2
             */
            readonly borderAgentId: Attribute<AllowSharedBufferSource, any>;
            /**
             * Indicates the Thread version supported by the Thread interface configured by the cluster instance.
             *
             * The format shall match the value mapping defined in the "Version TLV" section of the Thread
             * specification. For example, Thread 1.3.0 would have ThreadVersion set to 4.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.3
             */
            readonly threadVersion: FixedAttribute<number, any>;
            /**
             * Indicates whether the associated IEEE 802.15.4 Thread interface is enabled or disabled.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.4
             */
            readonly interfaceEnabled: Attribute<boolean, any>;
            /**
             * Null if the Thread Border Router has no dataset configured, otherwise it shall be the timestamp value
             * extracted from the Active Dataset value configured by the Thread Node to which the border router is
             * connected. This attribute shall be updated when a new Active dataset is configured on the Thread network
             * to which the border router is connected.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.5
             */
            readonly activeDatasetTimestamp: Attribute<number | bigint | null, any>;
            /**
             * Null if the Thread Border Router has no Pending dataset configured, otherwise it shall be the timestamp
             * value extracted from the Pending Dataset value configured by the Thread Node to which the border router
             * is connected. This attribute shall be updated when a new Pending dataset is configured on the Thread
             * network to which the border router is connected.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.6
             */
            readonly pendingDatasetTimestamp: Attribute<number | bigint | null, any>;
        };
        readonly commands: {
            /**
             * This command shall be used to request the active operational dataset of the Thread network to which the
             * border router is connected.
             *
             * If the command is not executed via a CASE session, the command shall fail with a status code of
             * UNSUPPORTED_ACCESS.
             *
             * If an internal error occurs, then this command shall fail with a FAILURE status code sent back to the
             * initiator.
             *
             * Otherwise, this shall generate a DatasetResponse command.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.1
             */
            readonly getActiveDatasetRequest: Command<void, import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * If no dataset (active or pending as requested) is configured, this field shall be set to empty.
                 *
                 * Otherwise, this field shall contain the active or pending dataset of the Thread network to which the Border
                 * Router is connected as an octet string containing the raw Thread TLV value of the dataset, as defined in the
                 * Thread specification.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.3.1
                 */
                dataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
            }>, any>;
            /**
             * This command shall be used to request the pending dataset of the Thread network to which the border
             * router is connected.
             *
             * If the command is not executed via a CASE session, the command shall fail with a status code of
             * UNSUPPORTED_ACCESS.
             *
             * If an internal error occurs, then this command shall fail with a FAILURE status code sent back to the
             * initiator.
             *
             * Otherwise, this shall generate a DatasetResponse command.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.2
             */
            readonly getPendingDatasetRequest: Command<void, import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * If no dataset (active or pending as requested) is configured, this field shall be set to empty.
                 *
                 * Otherwise, this field shall contain the active or pending dataset of the Thread network to which the Border
                 * Router is connected as an octet string containing the raw Thread TLV value of the dataset, as defined in the
                 * Thread specification.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.3.1
                 */
                dataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
            }>, any>;
            /**
             * This command shall be used to set the active Dataset of the Thread network to which the Border Router is
             * connected, when there is no active dataset already.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4
             */
            readonly setActiveDatasetRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall contain the active dataset to set of the Thread network to configure in the Border Router as
                 * an octet string containing the raw Thread TLV value of the dataset, as defined in the Thread specification.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4.1
                 */
                activeDataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
                /**
                 * See Breadcrumb Attribute section of General Commissioning Cluster in [MatterCore] for usage.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4.2
                 */
                breadcrumb: import("../tlv/TlvObject.js").OptionalFieldType<number | bigint>;
            }>, void, any>;
        };
        /**
         * This metadata controls which ThreadBorderRouterManagementCluster elements matter.js activates for specific
         * feature combinations.
         */
        readonly extensions: readonly [{
            readonly flags: {
                readonly panChange: true;
            };
            readonly component: {
                readonly commands: {
                    /**
                     * This command shall be used to set or update the pending Dataset of the Thread network to which the Border
                     * Router is connected, if the Border Router supports PAN Change.
                     *
                     * If the command is not executed via a CASE session, the command shall fail with a status code of
                     * UNSUPPORTED_ACCESS.
                     *
                     * This PendingDataset field shall contain the pending dataset to which the Thread network should be
                     * updated. The format of the data shall be an octet string containing the raw Thread TLV value of the
                     * pending dataset, as defined in the Thread specification.
                     *
                     * If any of the parameters in the PendingDataset is invalid, the command shall fail with a status of
                     * INVALID_COMMAND.
                     *
                     * Otherwise, this command shall configure the pending dataset of the Thread network to which the Border
                     * Router is connected, with the value given in the PendingDataset parameter. The Border Router will manage
                     * activation of the pending dataset as defined in the Thread specification.
                     *
                     * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.5
                     */
                    readonly setPendingDatasetRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                        pendingDataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
                    }>, void, any>;
                };
            };
        }];
    }, []>;
    /**
     * This cluster provides an interface for managing a Thread Border Router and the Thread network that it belongs to.
     * Privileged nodes within the same fabric as a Thread Border Router can use these interfaces to request and set
     * credentials information to the Thread network.
     *
     * ThreadBorderRouterManagementCluster supports optional features that you can enable with the
     * ThreadBorderRouterManagementCluster.with() factory method.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 10.3
     */
    interface Cluster extends Identity<typeof ClusterInstance> {
    }
    const Cluster: Cluster;
    /**
     * @see {@link Complete}
     */
    const CompleteInstance: MutableCluster<{
        readonly id: import("#general").Branded<1106, "ClusterId">;
        readonly name: "ThreadBorderRouterManagement";
        readonly revision: 1;
        readonly features: {
            /**
             * This feature shall indicate the ability of the Border Router to change its already configured PAN to
             * another, by setting a pending dataset.
             *
             * > [!NOTE]
             *
             * > This feature flag can be used to protect an already-configured network from accidental configuration
             *   change, e.g. when the Thread Border Router serves non-Matter devices that do not support PAN change for
             *   an implementation-specific reason.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.4.1
             */
            readonly panChange: BitFlag;
        };
        readonly attributes: import("#general").Merge<{
            /**
             * Indicates a user-friendly name identifying the device model or product of the Border Router in MeshCOP
             * (DNS-SD service name) as defined in the Thread specification, and has the following recommended format:
             * <VendorName> <ProductName>._meshcop._udp. An example name would be ACME Border Router
             * (74be)._meshcop._udp.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.1
             */
            readonly borderRouterName: Attribute<string, any>;
            /**
             * Indicates a 16-byte globally unique ID for a Thread Border Router device. This ID is
             * manufacturer-specific, and it is created and managed by the border router’s implementation.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.2
             */
            readonly borderAgentId: Attribute<AllowSharedBufferSource, any>;
            /**
             * Indicates the Thread version supported by the Thread interface configured by the cluster instance.
             *
             * The format shall match the value mapping defined in the "Version TLV" section of the Thread
             * specification. For example, Thread 1.3.0 would have ThreadVersion set to 4.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.3
             */
            readonly threadVersion: FixedAttribute<number, any>;
            /**
             * Indicates whether the associated IEEE 802.15.4 Thread interface is enabled or disabled.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.4
             */
            readonly interfaceEnabled: Attribute<boolean, any>;
            /**
             * Null if the Thread Border Router has no dataset configured, otherwise it shall be the timestamp value
             * extracted from the Active Dataset value configured by the Thread Node to which the border router is
             * connected. This attribute shall be updated when a new Active dataset is configured on the Thread network
             * to which the border router is connected.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.5
             */
            readonly activeDatasetTimestamp: Attribute<number | bigint | null, any>;
            /**
             * Null if the Thread Border Router has no Pending dataset configured, otherwise it shall be the timestamp
             * value extracted from the Pending Dataset value configured by the Thread Node to which the border router
             * is connected. This attribute shall be updated when a new Pending dataset is configured on the Thread
             * network to which the border router is connected.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.5.6
             */
            readonly pendingDatasetTimestamp: Attribute<number | bigint | null, any>;
        }, import("../cluster/Cluster.js").GlobalAttributes<{
            /**
             * This feature shall indicate the ability of the Border Router to change its already configured PAN to
             * another, by setting a pending dataset.
             *
             * > [!NOTE]
             *
             * > This feature flag can be used to protect an already-configured network from accidental configuration
             *   change, e.g. when the Thread Border Router serves non-Matter devices that do not support PAN change for
             *   an implementation-specific reason.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.4.1
             */
            readonly panChange: BitFlag;
        }>>;
        readonly commands: {
            readonly setPendingDatasetRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                pendingDataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
            }>, void, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    panChange: boolean;
                }];
            };
            /**
             * This command shall be used to request the active operational dataset of the Thread network to which the
             * border router is connected.
             *
             * If the command is not executed via a CASE session, the command shall fail with a status code of
             * UNSUPPORTED_ACCESS.
             *
             * If an internal error occurs, then this command shall fail with a FAILURE status code sent back to the
             * initiator.
             *
             * Otherwise, this shall generate a DatasetResponse command.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.1
             */
            readonly getActiveDatasetRequest: Command<void, import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * If no dataset (active or pending as requested) is configured, this field shall be set to empty.
                 *
                 * Otherwise, this field shall contain the active or pending dataset of the Thread network to which the Border
                 * Router is connected as an octet string containing the raw Thread TLV value of the dataset, as defined in the
                 * Thread specification.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.3.1
                 */
                dataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
            }>, any>;
            /**
             * This command shall be used to request the pending dataset of the Thread network to which the border
             * router is connected.
             *
             * If the command is not executed via a CASE session, the command shall fail with a status code of
             * UNSUPPORTED_ACCESS.
             *
             * If an internal error occurs, then this command shall fail with a FAILURE status code sent back to the
             * initiator.
             *
             * Otherwise, this shall generate a DatasetResponse command.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.2
             */
            readonly getPendingDatasetRequest: Command<void, import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * If no dataset (active or pending as requested) is configured, this field shall be set to empty.
                 *
                 * Otherwise, this field shall contain the active or pending dataset of the Thread network to which the Border
                 * Router is connected as an octet string containing the raw Thread TLV value of the dataset, as defined in the
                 * Thread specification.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.3.1
                 */
                dataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
            }>, any>;
            /**
             * This command shall be used to set the active Dataset of the Thread network to which the Border Router is
             * connected, when there is no active dataset already.
             *
             * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4
             */
            readonly setActiveDatasetRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall contain the active dataset to set of the Thread network to configure in the Border Router as
                 * an octet string containing the raw Thread TLV value of the dataset, as defined in the Thread specification.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4.1
                 */
                activeDataset: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
                /**
                 * See Breadcrumb Attribute section of General Commissioning Cluster in [MatterCore] for usage.
                 *
                 * @see {@link MatterSpecification.v142.Cluster} § 10.3.6.4.2
                 */
                breadcrumb: import("../tlv/TlvObject.js").OptionalFieldType<number | bigint>;
            }>, void, any>;
        };
    }, []>;
    /**
     * This cluster supports all ThreadBorderRouterManagement 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 ThreadBorderRouterManagementCluster = ThreadBorderRouterManagement.Cluster;
export declare const ThreadBorderRouterManagementCluster: ThreadBorderRouterManagement.Cluster;
//# sourceMappingURL=thread-border-router-management.d.ts.map