/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
import { Attribute, Command, OptionalAttribute, OptionalEvent } from "../cluster/Cluster.js";
import { BitFlag } from "../schema/BitmapSchema.js";
import { TypeFromSchema } from "../tlv/TlvSchema.js";
import { Identity } from "#general";
export declare namespace WiFiNetworkDiagnostics {
    /**
     * These are optional features supported by WiFiNetworkDiagnosticsCluster.
     *
     * @see {@link MatterSpecification.v142.Core} § 11.15.4
     */
    enum Feature {
        /**
         * PacketCounts (PKTCNT)
         *
         * Node makes available the counts for the number of received and transmitted packets on the Wi-Fi interface.
         */
        PacketCounts = "PacketCounts",
        /**
         * ErrorCounts (ERRCNT)
         *
         * Node makes available the counts for the number of errors that have occurred during the reception and
         * transmission of packets on the Wi-Fi interface.
         */
        ErrorCounts = "ErrorCounts"
    }
    /**
     * @see {@link MatterSpecification.v142.Core} § 11.15.5.1
     */
    enum SecurityType {
        /**
         * Indicate the usage of an unspecified Wi-Fi security type
         */
        Unspecified = 0,
        /**
         * Indicate the usage of no Wi-Fi security
         */
        None = 1,
        /**
         * Indicate the usage of WEP Wi-Fi security
         */
        Wep = 2,
        /**
         * Indicate the usage of WPA Wi-Fi security
         */
        Wpa = 3,
        /**
         * Indicate the usage of WPA2 Wi-Fi security
         */
        Wpa2 = 4,
        /**
         * Indicate the usage of WPA3 Wi-Fi security
         */
        Wpa3 = 5
    }
    /**
     * @see {@link MatterSpecification.v142.Core} § 11.15.5.2
     */
    enum WiFiVersion {
        A = 0,
        B = 1,
        G = 2,
        N = 3,
        /**
         * Indicate the network interface is currently using IEEE 802.11ac against the wireless access point.
         */
        Ac = 4,
        /**
         * Indicate the network interface is currently using IEEE 802.11ax against the wireless access point.
         */
        Ax = 5,
        /**
         * Indicate the network interface is currently using IEEE 802.11ah against the wireless access point.
         */
        Ah = 6
    }
    /**
     * Body of the WiFiNetworkDiagnostics disconnection event
     *
     * @see {@link MatterSpecification.v142.Core} § 11.15.8.1
     */
    const TlvDisconnectionEvent: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * This field shall contain the Reason Code field value for the Disassociation or Deauthentication event that
         * caused the disconnection and the value shall align with Table 9-49 "Reason codes" of IEEE 802.11-2020.
         *
         * @see {@link MatterSpecification.v142.Core} § 11.15.8.1.1
         */
        reasonCode: import("../tlv/TlvObject.js").FieldType<number>;
    }>;
    /**
     * Body of the WiFiNetworkDiagnostics disconnection event
     *
     * @see {@link MatterSpecification.v142.Core} § 11.15.8.1
     */
    interface DisconnectionEvent extends TypeFromSchema<typeof TlvDisconnectionEvent> {
    }
    /**
     * @see {@link MatterSpecification.v142.Core} § 11.15.5.3
     */
    enum AssociationFailureCause {
        /**
         * The reason for the failure is unknown.
         */
        Unknown = 0,
        /**
         * An error occurred during association.
         */
        AssociationFailed = 1,
        /**
         * An error occurred during authentication.
         */
        AuthenticationFailed = 2,
        /**
         * The specified SSID could not be found.
         */
        SsidNotFound = 3
    }
    /**
     * Body of the WiFiNetworkDiagnostics associationFailure event
     *
     * @see {@link MatterSpecification.v142.Core} § 11.15.8.2
     */
    const TlvAssociationFailureEvent: import("../tlv/TlvObject.js").ObjectSchema<{
        /**
         * The Status field shall be set to a value from the AssociationFailureCauseEnum.
         *
         * @see {@link MatterSpecification.v142.Core} § 11.15.8.2.1
         */
        associationFailureCause: import("../tlv/TlvObject.js").FieldType<AssociationFailureCause>;
        /**
         * The Status field shall be set to the Status Code value that was present in the last frame related to
         * association where Status Code was not equal to zero and which caused the failure of a last trial attempt, if
         * this last failure was due to one of the following Management frames:
         *
         *   • Association Response (Type 0, Subtype 1)
         *
         *   • Reassociation Response (Type 0, Subtype 3)
         *
         *   • Authentication (Type 0, Subtype 11)
         *
         * Table 9-50 "Status codes" of IEEE 802.11-2020 contains a description of all values possible.
         *
         * @see {@link MatterSpecification.v142.Core} § 11.15.8.2.2
         */
        status: import("../tlv/TlvObject.js").FieldType<number>;
    }>;
    /**
     * Body of the WiFiNetworkDiagnostics associationFailure event
     *
     * @see {@link MatterSpecification.v142.Core} § 11.15.8.2
     */
    interface AssociationFailureEvent extends TypeFromSchema<typeof TlvAssociationFailureEvent> {
    }
    /**
     * @see {@link MatterSpecification.v142.Core} § 11.15.5.4
     */
    enum ConnectionStatus {
        /**
         * Indicate the node is connected
         */
        Connected = 0,
        /**
         * Indicate the node is not connected
         */
        NotConnected = 1
    }
    /**
     * Body of the WiFiNetworkDiagnostics connectionStatus event
     *
     * @see {@link MatterSpecification.v142.Core} § 11.15.8.3
     */
    const TlvConnectionStatusEvent: import("../tlv/TlvObject.js").ObjectSchema<{
        connectionStatus: import("../tlv/TlvObject.js").FieldType<ConnectionStatus>;
    }>;
    /**
     * Body of the WiFiNetworkDiagnostics connectionStatus event
     *
     * @see {@link MatterSpecification.v142.Core} § 11.15.8.3
     */
    interface ConnectionStatusEvent extends TypeFromSchema<typeof TlvConnectionStatusEvent> {
    }
    /**
     * A WiFiNetworkDiagnosticsCluster supports these elements if it supports feature ErrorCounts.
     */
    const ErrorCountsComponent: {
        readonly attributes: {
            /**
             * Indicates the count of the number of missed beacons the Node has detected. If the Node does not have an
             * ability to count beacons expected and not received, this value may remain set to zero.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.6
             */
            readonly beaconLostCount: Attribute<number | null, any>;
            /**
             * Indicates the number of packets dropped either at ingress or egress, due to lack of buffer memory to
             * retain all packets on the network interface. The attribute shall be reset to 0 upon a reboot of the Node.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.13
             */
            readonly overrunCount: Attribute<number | bigint | null, any>;
        };
        readonly commands: {
            /**
             * This command is used to reset the count attributes.
             *
             * Reception of this command shall reset the following attributes to 0:
             *
             *   • BeaconLostCount
             *
             *   • BeaconRxCount
             *
             *   • PacketMulticastRxCount
             *
             *   • PacketMulticastTxCount
             *
             *   • PacketUnicastRxCount
             *
             *   • PacketUnicastTxCount
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.7.1
             */
            readonly resetCounts: Command<void, void, any>;
        };
    };
    /**
     * A WiFiNetworkDiagnosticsCluster supports these elements if it supports feature PacketCounts.
     */
    const PacketCountsComponent: {
        readonly attributes: {
            /**
             * Indicates the count of the number of received beacons. The total number of expected beacons that could
             * have been received during the interval since association SHOULD match the sum of BeaconRxCount and
             * BeaconLostCount. If the Node does not have an ability to report count of beacons received, this value may
             * remain set to zero.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.7
             */
            readonly beaconRxCount: Attribute<number | null, any>;
            /**
             * Indicates the number of multicast packets received by the Node.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.8
             */
            readonly packetMulticastRxCount: Attribute<number | null, any>;
            /**
             * Indicates the number of multicast packets transmitted by the Node.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.9
             */
            readonly packetMulticastTxCount: Attribute<number | null, any>;
            /**
             * Indicates the number of unicast packets received by the Node.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.10
             */
            readonly packetUnicastRxCount: Attribute<number | null, any>;
            /**
             * Indicates the number of unicast packets transmitted by the Node.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.11
             */
            readonly packetUnicastTxCount: Attribute<number | null, any>;
        };
    };
    /**
     * These elements and properties are present in all WiFiNetworkDiagnostics clusters.
     */
    const Base: {
        readonly id: 54;
        readonly name: "WiFiNetworkDiagnostics";
        readonly revision: 1;
        readonly features: {
            /**
             * Node makes available the counts for the number of received and transmitted packets on the Wi-Fi
             * interface.
             */
            readonly packetCounts: BitFlag;
            /**
             * Node makes available the counts for the number of errors that have occurred during the reception and
             * transmission of packets on the Wi-Fi interface.
             */
            readonly errorCounts: BitFlag;
        };
        readonly attributes: {
            /**
             * Indicates the BSSID for which the Wi-Fi network the Node is currently connected.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.1
             */
            readonly bssid: Attribute<AllowSharedBufferSource | null, any>;
            /**
             * Indicates the current type of Wi-Fi security used.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.2
             */
            readonly securityType: Attribute<SecurityType | null, any>;
            /**
             * Indicates the current IEEE 802.11 standard version in use by the Node, per the table below.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.3
             */
            readonly wiFiVersion: Attribute<WiFiVersion | null, any>;
            /**
             * Indicates the channel that Wi-Fi communication is currently operating on.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.4
             */
            readonly channelNumber: Attribute<number | null, any>;
            /**
             * Indicates the current RSSI of the Node’s Wi-Fi radio in dBm.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.5
             */
            readonly rssi: Attribute<number | null, any>;
            /**
             * Indicates the current maximum PHY rate of transfer of data in bits-per-second.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.12
             */
            readonly currentMaxRate: OptionalAttribute<number | bigint | null, any>;
        };
        readonly events: {
            /**
             * The Disconnection Event shall indicate that a Node’s Wi-Fi connection has been disconnected as a result
             * of de-authenticated or dis-association and indicates the reason.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.8.1
             */
            readonly disconnection: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall contain the Reason Code field value for the Disassociation or Deauthentication event that
                 * caused the disconnection and the value shall align with Table 9-49 "Reason codes" of IEEE 802.11-2020.
                 *
                 * @see {@link MatterSpecification.v142.Core} § 11.15.8.1.1
                 */
                reasonCode: import("../tlv/TlvObject.js").FieldType<number>;
            }>, any>;
            /**
             * The AssociationFailure event shall indicate that a Node has attempted to connect, or reconnect, to a
             * Wi-Fi access point, but is unable to successfully associate or authenticate, after exhausting all
             * internal retries of its supplicant.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.8.2
             */
            readonly associationFailure: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * The Status field shall be set to a value from the AssociationFailureCauseEnum.
                 *
                 * @see {@link MatterSpecification.v142.Core} § 11.15.8.2.1
                 */
                associationFailureCause: import("../tlv/TlvObject.js").FieldType<AssociationFailureCause>;
                /**
                 * The Status field shall be set to the Status Code value that was present in the last frame related to
                 * association where Status Code was not equal to zero and which caused the failure of a last trial attempt, if
                 * this last failure was due to one of the following Management frames:
                 *
                 *   • Association Response (Type 0, Subtype 1)
                 *
                 *   • Reassociation Response (Type 0, Subtype 3)
                 *
                 *   • Authentication (Type 0, Subtype 11)
                 *
                 * Table 9-50 "Status codes" of IEEE 802.11-2020 contains a description of all values possible.
                 *
                 * @see {@link MatterSpecification.v142.Core} § 11.15.8.2.2
                 */
                status: import("../tlv/TlvObject.js").FieldType<number>;
            }>, any>;
            /**
             * The ConnectionStatus Event shall indicate that a Node’s connection status to a Wi-Fi network has changed.
             * Connected, in this context, shall mean that a Node acting as a Wi-Fi station is successfully associated
             * to a Wi-Fi Access Point.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.8.3
             */
            readonly connectionStatus: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                connectionStatus: import("../tlv/TlvObject.js").FieldType<ConnectionStatus>;
            }>, any>;
        };
        /**
         * This metadata controls which WiFiNetworkDiagnosticsCluster elements matter.js activates for specific feature
         * combinations.
         */
        readonly extensions: readonly [{
            readonly flags: {
                readonly errorCounts: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates the count of the number of missed beacons the Node has detected. If the Node does not have an
                     * ability to count beacons expected and not received, this value may remain set to zero.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.6
                     */
                    readonly beaconLostCount: Attribute<number | null, any>;
                    /**
                     * Indicates the number of packets dropped either at ingress or egress, due to lack of buffer memory to
                     * retain all packets on the network interface. The attribute shall be reset to 0 upon a reboot of the Node.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.13
                     */
                    readonly overrunCount: Attribute<number | bigint | null, any>;
                };
                readonly commands: {
                    /**
                     * This command is used to reset the count attributes.
                     *
                     * Reception of this command shall reset the following attributes to 0:
                     *
                     *   • BeaconLostCount
                     *
                     *   • BeaconRxCount
                     *
                     *   • PacketMulticastRxCount
                     *
                     *   • PacketMulticastTxCount
                     *
                     *   • PacketUnicastRxCount
                     *
                     *   • PacketUnicastTxCount
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.7.1
                     */
                    readonly resetCounts: Command<void, void, any>;
                };
            };
        }, {
            readonly flags: {
                readonly packetCounts: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates the count of the number of received beacons. The total number of expected beacons that could
                     * have been received during the interval since association SHOULD match the sum of BeaconRxCount and
                     * BeaconLostCount. If the Node does not have an ability to report count of beacons received, this value may
                     * remain set to zero.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.7
                     */
                    readonly beaconRxCount: Attribute<number | null, any>;
                    /**
                     * Indicates the number of multicast packets received by the Node.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.8
                     */
                    readonly packetMulticastRxCount: Attribute<number | null, any>;
                    /**
                     * Indicates the number of multicast packets transmitted by the Node.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.9
                     */
                    readonly packetMulticastTxCount: Attribute<number | null, any>;
                    /**
                     * Indicates the number of unicast packets received by the Node.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.10
                     */
                    readonly packetUnicastRxCount: Attribute<number | null, any>;
                    /**
                     * Indicates the number of unicast packets transmitted by the Node.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.11
                     */
                    readonly packetUnicastTxCount: Attribute<number | null, any>;
                };
            };
        }];
    };
    /**
     * @see {@link Cluster}
     */
    const ClusterInstance: MutableCluster<{
        readonly id: 54;
        readonly name: "WiFiNetworkDiagnostics";
        readonly revision: 1;
        readonly features: {
            /**
             * Node makes available the counts for the number of received and transmitted packets on the Wi-Fi
             * interface.
             */
            readonly packetCounts: BitFlag;
            /**
             * Node makes available the counts for the number of errors that have occurred during the reception and
             * transmission of packets on the Wi-Fi interface.
             */
            readonly errorCounts: BitFlag;
        };
        readonly attributes: {
            /**
             * Indicates the BSSID for which the Wi-Fi network the Node is currently connected.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.1
             */
            readonly bssid: Attribute<AllowSharedBufferSource | null, any>;
            /**
             * Indicates the current type of Wi-Fi security used.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.2
             */
            readonly securityType: Attribute<SecurityType | null, any>;
            /**
             * Indicates the current IEEE 802.11 standard version in use by the Node, per the table below.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.3
             */
            readonly wiFiVersion: Attribute<WiFiVersion | null, any>;
            /**
             * Indicates the channel that Wi-Fi communication is currently operating on.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.4
             */
            readonly channelNumber: Attribute<number | null, any>;
            /**
             * Indicates the current RSSI of the Node’s Wi-Fi radio in dBm.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.5
             */
            readonly rssi: Attribute<number | null, any>;
            /**
             * Indicates the current maximum PHY rate of transfer of data in bits-per-second.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.6.12
             */
            readonly currentMaxRate: OptionalAttribute<number | bigint | null, any>;
        };
        readonly events: {
            /**
             * The Disconnection Event shall indicate that a Node’s Wi-Fi connection has been disconnected as a result
             * of de-authenticated or dis-association and indicates the reason.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.8.1
             */
            readonly disconnection: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall contain the Reason Code field value for the Disassociation or Deauthentication event that
                 * caused the disconnection and the value shall align with Table 9-49 "Reason codes" of IEEE 802.11-2020.
                 *
                 * @see {@link MatterSpecification.v142.Core} § 11.15.8.1.1
                 */
                reasonCode: import("../tlv/TlvObject.js").FieldType<number>;
            }>, any>;
            /**
             * The AssociationFailure event shall indicate that a Node has attempted to connect, or reconnect, to a
             * Wi-Fi access point, but is unable to successfully associate or authenticate, after exhausting all
             * internal retries of its supplicant.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.8.2
             */
            readonly associationFailure: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * The Status field shall be set to a value from the AssociationFailureCauseEnum.
                 *
                 * @see {@link MatterSpecification.v142.Core} § 11.15.8.2.1
                 */
                associationFailureCause: import("../tlv/TlvObject.js").FieldType<AssociationFailureCause>;
                /**
                 * The Status field shall be set to the Status Code value that was present in the last frame related to
                 * association where Status Code was not equal to zero and which caused the failure of a last trial attempt, if
                 * this last failure was due to one of the following Management frames:
                 *
                 *   • Association Response (Type 0, Subtype 1)
                 *
                 *   • Reassociation Response (Type 0, Subtype 3)
                 *
                 *   • Authentication (Type 0, Subtype 11)
                 *
                 * Table 9-50 "Status codes" of IEEE 802.11-2020 contains a description of all values possible.
                 *
                 * @see {@link MatterSpecification.v142.Core} § 11.15.8.2.2
                 */
                status: import("../tlv/TlvObject.js").FieldType<number>;
            }>, any>;
            /**
             * The ConnectionStatus Event shall indicate that a Node’s connection status to a Wi-Fi network has changed.
             * Connected, in this context, shall mean that a Node acting as a Wi-Fi station is successfully associated
             * to a Wi-Fi Access Point.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.8.3
             */
            readonly connectionStatus: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                connectionStatus: import("../tlv/TlvObject.js").FieldType<ConnectionStatus>;
            }>, any>;
        };
        /**
         * This metadata controls which WiFiNetworkDiagnosticsCluster elements matter.js activates for specific feature
         * combinations.
         */
        readonly extensions: readonly [{
            readonly flags: {
                readonly errorCounts: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates the count of the number of missed beacons the Node has detected. If the Node does not have an
                     * ability to count beacons expected and not received, this value may remain set to zero.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.6
                     */
                    readonly beaconLostCount: Attribute<number | null, any>;
                    /**
                     * Indicates the number of packets dropped either at ingress or egress, due to lack of buffer memory to
                     * retain all packets on the network interface. The attribute shall be reset to 0 upon a reboot of the Node.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.13
                     */
                    readonly overrunCount: Attribute<number | bigint | null, any>;
                };
                readonly commands: {
                    /**
                     * This command is used to reset the count attributes.
                     *
                     * Reception of this command shall reset the following attributes to 0:
                     *
                     *   • BeaconLostCount
                     *
                     *   • BeaconRxCount
                     *
                     *   • PacketMulticastRxCount
                     *
                     *   • PacketMulticastTxCount
                     *
                     *   • PacketUnicastRxCount
                     *
                     *   • PacketUnicastTxCount
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.7.1
                     */
                    readonly resetCounts: Command<void, void, any>;
                };
            };
        }, {
            readonly flags: {
                readonly packetCounts: true;
            };
            readonly component: {
                readonly attributes: {
                    /**
                     * Indicates the count of the number of received beacons. The total number of expected beacons that could
                     * have been received during the interval since association SHOULD match the sum of BeaconRxCount and
                     * BeaconLostCount. If the Node does not have an ability to report count of beacons received, this value may
                     * remain set to zero.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.7
                     */
                    readonly beaconRxCount: Attribute<number | null, any>;
                    /**
                     * Indicates the number of multicast packets received by the Node.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.8
                     */
                    readonly packetMulticastRxCount: Attribute<number | null, any>;
                    /**
                     * Indicates the number of multicast packets transmitted by the Node.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.9
                     */
                    readonly packetMulticastTxCount: Attribute<number | null, any>;
                    /**
                     * Indicates the number of unicast packets received by the Node.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.10
                     */
                    readonly packetUnicastRxCount: Attribute<number | null, any>;
                    /**
                     * Indicates the number of unicast packets transmitted by the Node.
                     *
                     * @see {@link MatterSpecification.v142.Core} § 11.15.6.11
                     */
                    readonly packetUnicastTxCount: Attribute<number | null, any>;
                };
            };
        }];
    }, []>;
    /**
     * The Wi-Fi Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that may be
     * used by a Node to assist a user or Administrator in diagnosing potential problems. The Wi-Fi Network Diagnostics
     * Cluster attempts to centralize all metrics that are relevant to a potential Wi-Fi radio running on a Node.
     *
     * WiFiNetworkDiagnosticsCluster supports optional features that you can enable with the
     * WiFiNetworkDiagnosticsCluster.with() factory method.
     *
     * @see {@link MatterSpecification.v142.Core} § 11.15
     */
    interface Cluster extends Identity<typeof ClusterInstance> {
    }
    const Cluster: Cluster;
    /**
     * @see {@link Complete}
     */
    const CompleteInstance: MutableCluster<{
        readonly id: import("#general").Branded<54, "ClusterId">;
        readonly name: "WiFiNetworkDiagnostics";
        readonly revision: 1;
        readonly features: {
            /**
             * Node makes available the counts for the number of received and transmitted packets on the Wi-Fi
             * interface.
             */
            readonly packetCounts: BitFlag;
            /**
             * Node makes available the counts for the number of errors that have occurred during the reception and
             * transmission of packets on the Wi-Fi interface.
             */
            readonly errorCounts: BitFlag;
        };
        readonly attributes: {
            readonly beaconLostCount: Attribute<number | null, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    errorCounts: boolean;
                }];
            };
            readonly beaconRxCount: Attribute<number | null, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    packetCounts: boolean;
                }];
            };
            readonly packetMulticastRxCount: Attribute<number | null, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    packetCounts: boolean;
                }];
            };
            readonly packetMulticastTxCount: Attribute<number | null, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    packetCounts: boolean;
                }];
            };
            readonly packetUnicastRxCount: Attribute<number | null, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    packetCounts: boolean;
                }];
            };
            readonly packetUnicastTxCount: Attribute<number | null, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    packetCounts: boolean;
                }];
            };
            readonly overrunCount: Attribute<number | bigint | null, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    errorCounts: boolean;
                }];
            };
            readonly bssid: Attribute<AllowSharedBufferSource | null, any>;
            readonly securityType: Attribute<SecurityType | null, any>;
            readonly wiFiVersion: Attribute<WiFiVersion | null, any>;
            readonly channelNumber: Attribute<number | null, any>;
            readonly rssi: Attribute<number | null, any>;
            readonly currentMaxRate: OptionalAttribute<number | bigint | null, any>;
            readonly clusterRevision: Attribute<number, never>;
            readonly featureMap: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
                /**
                 * Node makes available the counts for the number of received and transmitted packets on the Wi-Fi
                 * interface.
                 */
                readonly packetCounts: BitFlag;
                /**
                 * Node makes available the counts for the number of errors that have occurred during the reception and
                 * transmission of packets on the Wi-Fi interface.
                 */
                readonly errorCounts: BitFlag;
            }>, never>;
            readonly attributeList: Attribute<import("../index.js").AttributeId[], never>;
            readonly acceptedCommandList: Attribute<import("../index.js").CommandId[], never>;
            readonly generatedCommandList: Attribute<import("../index.js").CommandId[], never>;
        };
        readonly commands: {
            readonly resetCounts: Command<void, void, any> & {
                readonly optional: true;
                readonly isConditional: true;
                readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
                readonly mandatoryIf: [] | [{
                    errorCounts: boolean;
                }];
            };
        };
        readonly events: {
            /**
             * The Disconnection Event shall indicate that a Node’s Wi-Fi connection has been disconnected as a result
             * of de-authenticated or dis-association and indicates the reason.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.8.1
             */
            readonly disconnection: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * This field shall contain the Reason Code field value for the Disassociation or Deauthentication event that
                 * caused the disconnection and the value shall align with Table 9-49 "Reason codes" of IEEE 802.11-2020.
                 *
                 * @see {@link MatterSpecification.v142.Core} § 11.15.8.1.1
                 */
                reasonCode: import("../tlv/TlvObject.js").FieldType<number>;
            }>, any>;
            /**
             * The AssociationFailure event shall indicate that a Node has attempted to connect, or reconnect, to a
             * Wi-Fi access point, but is unable to successfully associate or authenticate, after exhausting all
             * internal retries of its supplicant.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.8.2
             */
            readonly associationFailure: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                /**
                 * The Status field shall be set to a value from the AssociationFailureCauseEnum.
                 *
                 * @see {@link MatterSpecification.v142.Core} § 11.15.8.2.1
                 */
                associationFailureCause: import("../tlv/TlvObject.js").FieldType<AssociationFailureCause>;
                /**
                 * The Status field shall be set to the Status Code value that was present in the last frame related to
                 * association where Status Code was not equal to zero and which caused the failure of a last trial attempt, if
                 * this last failure was due to one of the following Management frames:
                 *
                 *   • Association Response (Type 0, Subtype 1)
                 *
                 *   • Reassociation Response (Type 0, Subtype 3)
                 *
                 *   • Authentication (Type 0, Subtype 11)
                 *
                 * Table 9-50 "Status codes" of IEEE 802.11-2020 contains a description of all values possible.
                 *
                 * @see {@link MatterSpecification.v142.Core} § 11.15.8.2.2
                 */
                status: import("../tlv/TlvObject.js").FieldType<number>;
            }>, any>;
            /**
             * The ConnectionStatus Event shall indicate that a Node’s connection status to a Wi-Fi network has changed.
             * Connected, in this context, shall mean that a Node acting as a Wi-Fi station is successfully associated
             * to a Wi-Fi Access Point.
             *
             * @see {@link MatterSpecification.v142.Core} § 11.15.8.3
             */
            readonly connectionStatus: OptionalEvent<import("../tlv/TlvObject.js").TypeFromFields<{
                connectionStatus: import("../tlv/TlvObject.js").FieldType<ConnectionStatus>;
            }>, any>;
        };
    }, []>;
    /**
     * This cluster supports all WiFiNetworkDiagnostics 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 WiFiNetworkDiagnosticsCluster = WiFiNetworkDiagnostics.Cluster;
export declare const WiFiNetworkDiagnosticsCluster: WiFiNetworkDiagnostics.Cluster;
//# sourceMappingURL=wi-fi-network-diagnostics.d.ts.map