/**
 * @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 { WritableAttribute } from "../cluster/Cluster.js";
import { TypeFromSchema } from "../tlv/TlvSchema.js";
import { Identity } from "#general";
export declare namespace ProxyConfiguration {
    /**
     * @see {@link MatterSpecification.v13.Core} § 9.15.13.4.1
     */
    const TlvConfiguration: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This field shall be set to true to indicate to the proxy that it shall proxy all nodes. When true, the
         * SourceList attribute is ignored.
         *
         * @see {@link MatterSpecification.v13.Core} § 9.15.13.4.1.1
         */
        proxyAllNodes: import("../tlv/TlvObject.js").FieldType<boolean>;
        /**
         * When ProxyAllNodes is false, this list contains the set of Node IDs of sources that this proxy shall
         * specifically proxy.
         *
         * @see {@link MatterSpecification.v13.Core} § 9.15.13.4.1.2
         */
        sourceList: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[]>;
    }>;
    /**
     * @see {@link MatterSpecification.v13.Core} § 9.15.13.4.1
     */
    interface Configuration extends TypeFromSchema<typeof TlvConfiguration> {
    }
    /**
     * @see {@link Cluster}
     */
    const ClusterInstance: MutableCluster<{
        readonly id: 66;
        readonly name: "ProxyConfiguration";
        readonly revision: 1;
        readonly attributes: {
            /**
             * List of proxy configurations. There shall NOT be multiple entries in this list for the same fabric.
             *
             * @see {@link MatterSpecification.v13.Core} § 9.15.13.5.1
             */
            readonly configurationList: WritableAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall be set to true to indicate to the proxy that it shall proxy all nodes. When true, the
                 * SourceList attribute is ignored.
                 *
                 * @see {@link MatterSpecification.v13.Core} § 9.15.13.4.1.1
                 */
                proxyAllNodes: import("../tlv/TlvObject.js").FieldType<boolean>;
                /**
                 * When ProxyAllNodes is false, this list contains the set of Node IDs of sources that this proxy shall
                 * specifically proxy.
                 *
                 * @see {@link MatterSpecification.v13.Core} § 9.15.13.4.1.2
                 */
                sourceList: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[]>;
            }>[], any>;
        };
    }, []>;
    /**
     * This cluster provides a means for a proxy-capable device to be told the set of Nodes it shall proxy.
     *
     * @see {@link MatterSpecification.v13.Core} § 9.15.13
     */
    interface Cluster extends Identity<typeof ClusterInstance> {
    }
    const Cluster: Cluster;
    const Complete: Cluster;
}
export type ProxyConfigurationCluster = ProxyConfiguration.Cluster;
export declare const ProxyConfigurationCluster: ProxyConfiguration.Cluster;
//# sourceMappingURL=proxy-configuration.d.ts.map