/**
 * @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 } from "../cluster/Cluster.js";
import { TypeFromSchema } from "../tlv/TlvSchema.js";
import { Identity } from "#general";
export declare namespace ValidProxies {
    /**
     * Encapsulates the Node ID of a Valid Proxy.
     *
     * @see {@link MatterSpecification.v13.Core} § 9.15.14.4.1
     */
    const TlvValidProxy: import("../tlv/TlvObject.js").ObjectSchema<{
        nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
    }>;
    /**
     * Encapsulates the Node ID of a Valid Proxy.
     *
     * @see {@link MatterSpecification.v13.Core} § 9.15.14.4.1
     */
    interface ValidProxy extends TypeFromSchema<typeof TlvValidProxy> {
    }
    /**
     * This command is used during proxy discovery, as specified in Section 9.15.7, “Proxy Discovery & Assignment Flow”.
     *
     * @see {@link MatterSpecification.v13.Core} § 9.15.14.6.2
     */
    const TlvGetValidProxiesResponse: import("../tlv/TlvObject.js").ObjectSchema<{
        proxyNodeIdList: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[]>;
    }>;
    /**
     * This command is used during proxy discovery, as specified in Section 9.15.7, “Proxy Discovery & Assignment Flow”.
     *
     * @see {@link MatterSpecification.v13.Core} § 9.15.14.6.2
     */
    interface GetValidProxiesResponse extends TypeFromSchema<typeof TlvGetValidProxiesResponse> {
    }
    /**
     * @see {@link Cluster}
     */
    const ClusterInstance: MutableCluster<{
        readonly id: 68;
        readonly name: "ValidProxies";
        readonly revision: 1;
        readonly attributes: {
            /**
             * List of valid proxies that can proxy this Node. Each entry in this list is fabric-scoped.
             *
             * @see {@link MatterSpecification.v13.Core} § 9.15.14.5.1
             */
            readonly validProxyList: FixedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
                nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
            }>[], any>;
        };
        readonly commands: {
            /**
             * This command is used during proxy discovery, as specified in Section 9.15.7, “Proxy Discovery &
             * Assignment Flow”.
             *
             * @see {@link MatterSpecification.v13.Core} § 9.15.14.6.1
             */
            readonly getValidProxiesRequest: Command<void, import("../tlv/TlvObject.js").TypeFromFields<{
                proxyNodeIdList: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[]>;
            }>, any>;
        };
    }, []>;
    /**
     * This cluster provides a means for a device to be told of the valid set of possible proxies that can proxy
     * subscriptions on its behalf as per Section 9.15.7, “Proxy Discovery & Assignment Flow”.
     *
     * @see {@link MatterSpecification.v13.Core} § 9.15.14
     */
    interface Cluster extends Identity<typeof ClusterInstance> {
    }
    const Cluster: Cluster;
    const Complete: Cluster;
}
export type ValidProxiesCluster = ValidProxies.Cluster;
export declare const ValidProxiesCluster: ValidProxies.Cluster;
//# sourceMappingURL=valid-proxies.d.ts.map