/**
 * @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 } from "../cluster/Cluster.js";
import { TypeFromSchema } from "../tlv/TlvSchema.js";
import { Identity } from "#general";
export declare namespace ProxyDiscovery {
    /**
     * Input to the ProxyDiscovery proxyDiscoverRequest command
     *
     * @see {@link MatterSpecification.v13.Core} § 9.15.12.4.1
     */
    const TlvProxyDiscoverRequest: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This is the Node ID of the source for which a client seeks to find a Proxy.
         *
         * @see {@link MatterSpecification.v13.Core} § 9.15.12.4.1.1
         */
        sourceNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
        /**
         * The number of attribute paths the client will have in the subscription request. This is a heuristic/hint to
         * allow a Proxy to better ascertain whether it can support the ensuing subscription.
         *
         * @see {@link MatterSpecification.v13.Core} § 9.15.12.4.1.2
         */
        numAttributePaths: import("../tlv/TlvObject.js").FieldType<number>;
        /**
         * The number of event paths the client will have in the subscription request. This is a heuristic/hint to
         * allow a Proxy to better ascertain whether it can support the ensuing subscription.
         *
         * @see {@link MatterSpecification.v13.Core} § 9.15.12.4.1.3
         */
        numEventPaths: import("../tlv/TlvObject.js").FieldType<number>;
    }>;
    /**
     * Input to the ProxyDiscovery proxyDiscoverRequest command
     *
     * @see {@link MatterSpecification.v13.Core} § 9.15.12.4.1
     */
    interface ProxyDiscoverRequest extends TypeFromSchema<typeof TlvProxyDiscoverRequest> {
    }
    /**
     * @see {@link Cluster}
     */
    const ClusterInstance: MutableCluster<{
        readonly id: 67;
        readonly name: "ProxyDiscovery";
        readonly revision: 1;
        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.12.4.1
             */
            readonly proxyDiscoverRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This is the Node ID of the source for which a client seeks to find a Proxy.
                 *
                 * @see {@link MatterSpecification.v13.Core} § 9.15.12.4.1.1
                 */
                sourceNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
                /**
                 * The number of attribute paths the client will have in the subscription request. This is a heuristic/hint to
                 * allow a Proxy to better ascertain whether it can support the ensuing subscription.
                 *
                 * @see {@link MatterSpecification.v13.Core} § 9.15.12.4.1.2
                 */
                numAttributePaths: import("../tlv/TlvObject.js").FieldType<number>;
                /**
                 * The number of event paths the client will have in the subscription request. This is a heuristic/hint to
                 * allow a Proxy to better ascertain whether it can support the ensuing subscription.
                 *
                 * @see {@link MatterSpecification.v13.Core} § 9.15.12.4.1.3
                 */
                numEventPaths: import("../tlv/TlvObject.js").FieldType<number>;
            }>, void, any>;
        };
    }, []>;
    /**
     * This cluster contains commands needed to do proxy discovery as defined in the Section 9.15.7.3, “Step 2: Proxy
     * Discovery” and Section 9.15.7.4, “Step 3: Proxy Response” steps of the overall Section 9.15.7, “Proxy Discovery
     * & Assignment Flow”.
     *
     * @see {@link MatterSpecification.v13.Core} § 9.15.12
     */
    interface Cluster extends Identity<typeof ClusterInstance> {
    }
    const Cluster: Cluster;
    const Complete: Cluster;
}
export type ProxyDiscoveryCluster = ProxyDiscovery.Cluster;
export declare const ProxyDiscoveryCluster: ProxyDiscovery.Cluster;
//# sourceMappingURL=proxy-discovery.d.ts.map