/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { NetworkCommissioning } from "@matter/types/clusters/network-commissioning";
import { ClusterBehavior } from "../../behavior/cluster/ClusterBehavior.js";
import { NetworkCommissioningInterface } from "./NetworkCommissioningInterface.js";
import { ClusterType } from "@matter/types";
import { Identity } from "@matter/general";
/**
 * NetworkCommissioningBehavior is the base class for objects that support interaction with
 * {@link NetworkCommissioning.Cluster}.
 *
 * NetworkCommissioning.Cluster requires you to enable one or more optional features. You can do so using
 * {@link NetworkCommissioningBehavior.with}.
 */
export declare const NetworkCommissioningBehaviorConstructor: ClusterBehavior.Type<ClusterType.Of<{
    readonly id: 49;
    readonly name: "NetworkCommissioning";
    readonly revision: 2;
    readonly features: {
        readonly wiFiNetworkInterface: import("@matter/types").BitFlag;
        readonly threadNetworkInterface: import("@matter/types").BitFlag;
        readonly ethernetNetworkInterface: import("@matter/types").BitFlag;
    };
    readonly attributes: {
        readonly maxNetworks: import("@matter/types").FixedAttribute<number, any>;
        readonly networks: import("@matter/types").Attribute<import("@matter/types").TypeFromFields<{
            networkId: import("@matter/types").FieldType<AllowSharedBufferSource>;
            connected: import("@matter/types").FieldType<boolean>;
        }>[], any>;
        readonly interfaceEnabled: import("@matter/types").WritableAttribute<boolean, any>;
        readonly lastNetworkingStatus: import("@matter/types").Attribute<NetworkCommissioning.NetworkCommissioningStatus | null, any>;
        readonly lastNetworkId: import("@matter/types").Attribute<AllowSharedBufferSource | null, any>;
        readonly lastConnectErrorValue: import("@matter/types").Attribute<number | null, any>;
    };
    readonly extensions: readonly [{
        readonly flags: {
            readonly wiFiNetworkInterface: true;
        };
        readonly component: {
            readonly attributes: {
                readonly scanMaxTimeSeconds: import("@matter/types").FixedAttribute<number, any>;
                readonly connectMaxTimeSeconds: import("@matter/types").FixedAttribute<number, any>;
            };
            readonly commands: {
                readonly scanNetworks: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
                    ssid: import("@matter/types").OptionalFieldType<AllowSharedBufferSource | null>;
                    breadcrumb: import("@matter/types").OptionalFieldType<number | bigint>;
                }>, import("@matter/types").TypeFromFields<{
                    networkingStatus: import("@matter/types").FieldType<NetworkCommissioning.NetworkCommissioningStatus>;
                    debugText: import("@matter/types").OptionalFieldType<string>;
                    wiFiScanResults: import("@matter/types").OptionalFieldType<import("@matter/types").TypeFromFields<{
                        security: import("@matter/types").OptionalFieldType<import("@matter/types").TypeFromPartialBitSchema<{
                            unencrypted: import("@matter/types").BitFlag;
                            wep: import("@matter/types").BitFlag;
                            wpaPersonal: import("@matter/types").BitFlag;
                            wpa2Personal: import("@matter/types").BitFlag;
                            wpa3Personal: import("@matter/types").BitFlag;
                        }>>;
                        ssid: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
                        bssid: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
                        channel: import("@matter/types").OptionalFieldType<number>;
                        wiFiBand: import("@matter/types").OptionalFieldType<NetworkCommissioning.WiFiBand>;
                        rssi: import("@matter/types").OptionalFieldType<number>;
                    }>[]>;
                    threadScanResults: import("@matter/types").OptionalFieldType<import("@matter/types").TypeFromFields<{
                        panId: import("@matter/types").OptionalFieldType<number>;
                        extendedPanId: import("@matter/types").OptionalFieldType<number | bigint>;
                        networkName: import("@matter/types").OptionalFieldType<string>;
                        channel: import("@matter/types").OptionalFieldType<number>;
                        version: import("@matter/types").OptionalFieldType<number>;
                        extendedAddress: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
                        rssi: import("@matter/types").OptionalFieldType<number>;
                        lqi: import("@matter/types").OptionalFieldType<number>;
                    }>[]>;
                }>, any>;
                readonly removeNetwork: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
                    networkId: import("@matter/types").FieldType<AllowSharedBufferSource>;
                    breadcrumb: import("@matter/types").OptionalFieldType<number | bigint>;
                }>, import("@matter/types").TypeFromFields<{
                    networkingStatus: import("@matter/types").FieldType<NetworkCommissioning.NetworkCommissioningStatus>;
                    debugText: import("@matter/types").OptionalFieldType<string>;
                    networkIndex: import("@matter/types").OptionalFieldType<number>;
                }>, any>;
                readonly connectNetwork: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
                    networkId: import("@matter/types").FieldType<AllowSharedBufferSource>;
                    breadcrumb: import("@matter/types").OptionalFieldType<number | bigint>;
                }>, import("@matter/types").TypeFromFields<{
                    networkingStatus: import("@matter/types").FieldType<NetworkCommissioning.NetworkCommissioningStatus>;
                    debugText: import("@matter/types").OptionalFieldType<string>;
                    errorValue: import("@matter/types").FieldType<number | null>;
                }>, any>;
                readonly reorderNetwork: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
                    networkId: import("@matter/types").FieldType<AllowSharedBufferSource>;
                    networkIndex: import("@matter/types").FieldType<number>;
                    breadcrumb: import("@matter/types").OptionalFieldType<number | bigint>;
                }>, import("@matter/types").TypeFromFields<{
                    networkingStatus: import("@matter/types").FieldType<NetworkCommissioning.NetworkCommissioningStatus>;
                    debugText: import("@matter/types").OptionalFieldType<string>;
                    networkIndex: import("@matter/types").OptionalFieldType<number>;
                }>, any>;
            };
        };
    }, {
        readonly flags: {
            readonly threadNetworkInterface: true;
        };
        readonly component: {
            readonly attributes: {
                readonly scanMaxTimeSeconds: import("@matter/types").FixedAttribute<number, any>;
                readonly connectMaxTimeSeconds: import("@matter/types").FixedAttribute<number, any>;
            };
            readonly commands: {
                readonly scanNetworks: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
                    ssid: import("@matter/types").OptionalFieldType<AllowSharedBufferSource | null>;
                    breadcrumb: import("@matter/types").OptionalFieldType<number | bigint>;
                }>, import("@matter/types").TypeFromFields<{
                    networkingStatus: import("@matter/types").FieldType<NetworkCommissioning.NetworkCommissioningStatus>;
                    debugText: import("@matter/types").OptionalFieldType<string>;
                    wiFiScanResults: import("@matter/types").OptionalFieldType<import("@matter/types").TypeFromFields<{
                        security: import("@matter/types").OptionalFieldType<import("@matter/types").TypeFromPartialBitSchema<{
                            unencrypted: import("@matter/types").BitFlag;
                            wep: import("@matter/types").BitFlag;
                            wpaPersonal: import("@matter/types").BitFlag;
                            wpa2Personal: import("@matter/types").BitFlag;
                            wpa3Personal: import("@matter/types").BitFlag;
                        }>>;
                        ssid: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
                        bssid: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
                        channel: import("@matter/types").OptionalFieldType<number>;
                        wiFiBand: import("@matter/types").OptionalFieldType<NetworkCommissioning.WiFiBand>;
                        rssi: import("@matter/types").OptionalFieldType<number>;
                    }>[]>;
                    threadScanResults: import("@matter/types").OptionalFieldType<import("@matter/types").TypeFromFields<{
                        panId: import("@matter/types").OptionalFieldType<number>;
                        extendedPanId: import("@matter/types").OptionalFieldType<number | bigint>;
                        networkName: import("@matter/types").OptionalFieldType<string>;
                        channel: import("@matter/types").OptionalFieldType<number>;
                        version: import("@matter/types").OptionalFieldType<number>;
                        extendedAddress: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
                        rssi: import("@matter/types").OptionalFieldType<number>;
                        lqi: import("@matter/types").OptionalFieldType<number>;
                    }>[]>;
                }>, any>;
                readonly removeNetwork: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
                    networkId: import("@matter/types").FieldType<AllowSharedBufferSource>;
                    breadcrumb: import("@matter/types").OptionalFieldType<number | bigint>;
                }>, import("@matter/types").TypeFromFields<{
                    networkingStatus: import("@matter/types").FieldType<NetworkCommissioning.NetworkCommissioningStatus>;
                    debugText: import("@matter/types").OptionalFieldType<string>;
                    networkIndex: import("@matter/types").OptionalFieldType<number>;
                }>, any>;
                readonly connectNetwork: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
                    networkId: import("@matter/types").FieldType<AllowSharedBufferSource>;
                    breadcrumb: import("@matter/types").OptionalFieldType<number | bigint>;
                }>, import("@matter/types").TypeFromFields<{
                    networkingStatus: import("@matter/types").FieldType<NetworkCommissioning.NetworkCommissioningStatus>;
                    debugText: import("@matter/types").OptionalFieldType<string>;
                    errorValue: import("@matter/types").FieldType<number | null>;
                }>, any>;
                readonly reorderNetwork: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
                    networkId: import("@matter/types").FieldType<AllowSharedBufferSource>;
                    networkIndex: import("@matter/types").FieldType<number>;
                    breadcrumb: import("@matter/types").OptionalFieldType<number | bigint>;
                }>, import("@matter/types").TypeFromFields<{
                    networkingStatus: import("@matter/types").FieldType<NetworkCommissioning.NetworkCommissioningStatus>;
                    debugText: import("@matter/types").OptionalFieldType<string>;
                    networkIndex: import("@matter/types").OptionalFieldType<number>;
                }>, any>;
            };
        };
    }, {
        readonly flags: {
            readonly wiFiNetworkInterface: true;
        };
        readonly component: {
            readonly attributes: {
                readonly supportedWiFiBands: import("@matter/types").FixedAttribute<NetworkCommissioning.WiFiBand[], any>;
            };
            readonly commands: {
                readonly addOrUpdateWiFiNetwork: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
                    ssid: import("@matter/types").FieldType<AllowSharedBufferSource>;
                    credentials: import("@matter/types").FieldType<AllowSharedBufferSource>;
                    breadcrumb: import("@matter/types").OptionalFieldType<number | bigint>;
                }>, import("@matter/types").TypeFromFields<{
                    networkingStatus: import("@matter/types").FieldType<NetworkCommissioning.NetworkCommissioningStatus>;
                    debugText: import("@matter/types").OptionalFieldType<string>;
                    networkIndex: import("@matter/types").OptionalFieldType<number>;
                }>, any>;
            };
        };
    }, {
        readonly flags: {
            readonly threadNetworkInterface: true;
        };
        readonly component: {
            readonly attributes: {
                readonly supportedThreadFeatures: import("@matter/types").FixedAttribute<import("@matter/types").TypeFromPartialBitSchema<{
                    isBorderRouterCapable: import("@matter/types").BitFlag;
                    isRouterCapable: import("@matter/types").BitFlag;
                    isSleepyEndDeviceCapable: import("@matter/types").BitFlag;
                    isFullThreadDevice: import("@matter/types").BitFlag;
                    isSynchronizedSleepyEndDeviceCapable: import("@matter/types").BitFlag;
                }>, any>;
                readonly threadVersion: import("@matter/types").FixedAttribute<number, any>;
            };
            readonly commands: {
                readonly addOrUpdateThreadNetwork: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
                    operationalDataset: import("@matter/types").FieldType<AllowSharedBufferSource>;
                    breadcrumb: import("@matter/types").OptionalFieldType<number | bigint>;
                }>, import("@matter/types").TypeFromFields<{
                    networkingStatus: import("@matter/types").FieldType<NetworkCommissioning.NetworkCommissioningStatus>;
                    debugText: import("@matter/types").OptionalFieldType<string>;
                    networkIndex: import("@matter/types").OptionalFieldType<number>;
                }>, any>;
            };
        };
    }, {
        readonly flags: {
            readonly wiFiNetworkInterface: true;
            readonly threadNetworkInterface: true;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly wiFiNetworkInterface: true;
            readonly ethernetNetworkInterface: true;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly threadNetworkInterface: true;
            readonly ethernetNetworkInterface: true;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly wiFiNetworkInterface: false;
            readonly threadNetworkInterface: false;
            readonly ethernetNetworkInterface: false;
        };
        readonly component: false;
    }];
}>, ClusterBehavior.Type<ClusterType.Of<{
    readonly id: 0;
    readonly revision: 0;
    readonly name: "Unknown";
    readonly attributes: {};
    readonly commands: {};
    readonly events: {};
}>, typeof ClusterBehavior, NetworkCommissioningInterface>, NetworkCommissioningInterface>;
export interface NetworkCommissioningBehaviorConstructor extends Identity<typeof NetworkCommissioningBehaviorConstructor> {
}
export declare const NetworkCommissioningBehavior: NetworkCommissioningBehaviorConstructor;
export interface NetworkCommissioningBehavior extends InstanceType<NetworkCommissioningBehaviorConstructor> {
}
export declare namespace NetworkCommissioningBehavior {
    interface State extends InstanceType<typeof NetworkCommissioningBehavior.State> {
    }
}
//# sourceMappingURL=NetworkCommissioningBehavior.d.ts.map