Network commissioning is part of the overall Node commissioning. The main goal of Network Commissioning Cluster is to associate a Node with or manage a Node’s one or more network interfaces. These network interfaces can include the following types.

• Wi-Fi (IEEE 802.11-2020)

• Ethernet (802.3)

• Thread (802.15.4)

An instance of the Network Commissioning Cluster only applies to a single network interface instance present. An interface, in this context, is a unique entity that can have an IPv6 address assigned to it and ingress and egress IP packets.

Per the Matter specification you cannot use NetworkCommissioningCluster without enabling certain feature combinations. You must use the with factory method to obtain a working cluster.

MatterSpecification.v13.Core § 11.9

interface Cluster {
    id: ClusterId;
    name: string;
    with: (<const SelectionT>(...selection: SelectionT) => Of<Of<{
        attributes: {
            interfaceEnabled: WritableAttribute<boolean, any>;
            lastConnectErrorValue: Attribute<null | number, any>;
            lastNetworkId: Attribute<null | Uint8Array, any>;
            lastNetworkingStatus: Attribute<null | NetworkCommissioning.NetworkCommissioningStatus, any>;
            maxNetworks: FixedAttribute<number, any>;
            networks: Attribute<TypeFromFields<{
                connected: FieldType<boolean>;
                networkId: FieldType<Uint8Array>;
            }>[], any>;
        };
        extensions: readonly [{
            component: {
                attributes: {
                    connectMaxTimeSeconds: FixedAttribute<number, any>;
                    scanMaxTimeSeconds: FixedAttribute<number, any>;
                };
                commands: {
                    connectNetwork: Command<TypeFromFields<{
                        breadcrumb: ...;
                        networkId: ...;
                    }>, TypeFromFields<{
                        debugText: ...;
                        errorValue: ...;
                        networkingStatus: ...;
                    }>, any>;
                    removeNetwork: Command<TypeFromFields<{
                        breadcrumb: ...;
                        networkId: ...;
                    }>, TypeFromFields<{
                        debugText: ...;
                        networkIndex: ...;
                        networkingStatus: ...;
                    }>, any>;
                    reorderNetwork: Command<TypeFromFields<{
                        breadcrumb: ...;
                        networkId: ...;
                        networkIndex: ...;
                    }>, TypeFromFields<{
                        debugText: ...;
                        networkIndex: ...;
                        networkingStatus: ...;
                    }>, any>;
                    scanNetworks: Command<TypeFromFields<{
                        breadcrumb: ...;
                        ssid: ...;
                    }>, TypeFromFields<{
                        debugText: ...;
                        networkingStatus: ...;
                        threadScanResults: ...;
                        wiFiScanResults: ...;
                    }>, any>;
                };
            };
            flags: {
                wiFiNetworkInterface: true;
            };
        }, {
            component: {
                attributes: {
                    connectMaxTimeSeconds: FixedAttribute<number, any>;
                    scanMaxTimeSeconds: FixedAttribute<number, any>;
                };
                commands: {
                    connectNetwork: Command<TypeFromFields<{
                        breadcrumb: ...;
                        networkId: ...;
                    }>, TypeFromFields<{
                        debugText: ...;
                        errorValue: ...;
                        networkingStatus: ...;
                    }>, any>;
                    removeNetwork: Command<TypeFromFields<{
                        breadcrumb: ...;
                        networkId: ...;
                    }>, TypeFromFields<{
                        debugText: ...;
                        networkIndex: ...;
                        networkingStatus: ...;
                    }>, any>;
                    reorderNetwork: Command<TypeFromFields<{
                        breadcrumb: ...;
                        networkId: ...;
                        networkIndex: ...;
                    }>, TypeFromFields<{
                        debugText: ...;
                        networkIndex: ...;
                        networkingStatus: ...;
                    }>, any>;
                    scanNetworks: Command<TypeFromFields<{
                        breadcrumb: ...;
                        ssid: ...;
                    }>, TypeFromFields<{
                        debugText: ...;
                        networkingStatus: ...;
                        threadScanResults: ...;
                        wiFiScanResults: ...;
                    }>, any>;
                };
            };
            flags: {
                threadNetworkInterface: true;
            };
        }, {
            component: {
                attributes: {
                    supportedWiFiBands: FixedAttribute<NetworkCommissioning.WiFiBand[], any>;
                };
                commands: {
                    addOrUpdateWiFiNetwork: Command<TypeFromFields<{
                        breadcrumb: ...;
                        credentials: ...;
                        ssid: ...;
                    }>, TypeFromFields<{
                        debugText: ...;
                        networkIndex: ...;
                        networkingStatus: ...;
                    }>, any>;
                };
            };
            flags: {
                wiFiNetworkInterface: true;
            };
        }, {
            component: {
                attributes: {
                    supportedThreadFeatures: FixedAttribute<TypeFromPartialBitSchema<{
                        isBorderRouterCapable: ...;
                        isFullThreadDevice: ...;
                        isRouterCapable: ...;
                        isSleepyEndDeviceCapable: ...;
                        isSynchronizedSleepyEndDeviceCapable: ...;
                    }>, any>;
                    threadVersion: FixedAttribute<number, any>;
                };
                commands: {
                    addOrUpdateThreadNetwork: Command<TypeFromFields<{
                        breadcrumb: ...;
                        operationalDataset: ...;
                    }>, TypeFromFields<{
                        debugText: ...;
                        networkIndex: ...;
                        networkingStatus: ...;
                    }>, any>;
                };
            };
            flags: {
                threadNetworkInterface: true;
            };
        }, {
            component: false;
            flags: {
                threadNetworkInterface: true;
                wiFiNetworkInterface: true;
            };
        }, {
            component: false;
            flags: {
                ethernetNetworkInterface: true;
                wiFiNetworkInterface: true;
            };
        }, {
            component: false;
            flags: {
                ethernetNetworkInterface: true;
                threadNetworkInterface: true;
            };
        }, {
            component: false;
            flags: {
                ethernetNetworkInterface: false;
                threadNetworkInterface: false;
                wiFiNetworkInterface: false;
            };
        }];
        features: {
            ethernetNetworkInterface: BitFlag;
            threadNetworkInterface: BitFlag;
            wiFiNetworkInterface: BitFlag;
        };
        id: 49;
        name: "NetworkCommissioning";
        revision: 2;
    }>, SelectionT>);
}

Hierarchy (view full)

Properties

Properties

name: string
with: (<const SelectionT>(...selection: SelectionT) => Of<Of<{
    attributes: {
        interfaceEnabled: WritableAttribute<boolean, any>;
        lastConnectErrorValue: Attribute<null | number, any>;
        lastNetworkId: Attribute<null | Uint8Array, any>;
        lastNetworkingStatus: Attribute<null | NetworkCommissioning.NetworkCommissioningStatus, any>;
        maxNetworks: FixedAttribute<number, any>;
        networks: Attribute<TypeFromFields<{
            connected: FieldType<boolean>;
            networkId: FieldType<Uint8Array>;
        }>[], any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                connectMaxTimeSeconds: FixedAttribute<number, any>;
                scanMaxTimeSeconds: FixedAttribute<number, any>;
            };
            commands: {
                connectNetwork: Command<TypeFromFields<{
                    breadcrumb: ...;
                    networkId: ...;
                }>, TypeFromFields<{
                    debugText: ...;
                    errorValue: ...;
                    networkingStatus: ...;
                }>, any>;
                removeNetwork: Command<TypeFromFields<{
                    breadcrumb: ...;
                    networkId: ...;
                }>, TypeFromFields<{
                    debugText: ...;
                    networkIndex: ...;
                    networkingStatus: ...;
                }>, any>;
                reorderNetwork: Command<TypeFromFields<{
                    breadcrumb: ...;
                    networkId: ...;
                    networkIndex: ...;
                }>, TypeFromFields<{
                    debugText: ...;
                    networkIndex: ...;
                    networkingStatus: ...;
                }>, any>;
                scanNetworks: Command<TypeFromFields<{
                    breadcrumb: ...;
                    ssid: ...;
                }>, TypeFromFields<{
                    debugText: ...;
                    networkingStatus: ...;
                    threadScanResults: ...;
                    wiFiScanResults: ...;
                }>, any>;
            };
        };
        flags: {
            wiFiNetworkInterface: true;
        };
    }, {
        component: {
            attributes: {
                connectMaxTimeSeconds: FixedAttribute<number, any>;
                scanMaxTimeSeconds: FixedAttribute<number, any>;
            };
            commands: {
                connectNetwork: Command<TypeFromFields<{
                    breadcrumb: ...;
                    networkId: ...;
                }>, TypeFromFields<{
                    debugText: ...;
                    errorValue: ...;
                    networkingStatus: ...;
                }>, any>;
                removeNetwork: Command<TypeFromFields<{
                    breadcrumb: ...;
                    networkId: ...;
                }>, TypeFromFields<{
                    debugText: ...;
                    networkIndex: ...;
                    networkingStatus: ...;
                }>, any>;
                reorderNetwork: Command<TypeFromFields<{
                    breadcrumb: ...;
                    networkId: ...;
                    networkIndex: ...;
                }>, TypeFromFields<{
                    debugText: ...;
                    networkIndex: ...;
                    networkingStatus: ...;
                }>, any>;
                scanNetworks: Command<TypeFromFields<{
                    breadcrumb: ...;
                    ssid: ...;
                }>, TypeFromFields<{
                    debugText: ...;
                    networkingStatus: ...;
                    threadScanResults: ...;
                    wiFiScanResults: ...;
                }>, any>;
            };
        };
        flags: {
            threadNetworkInterface: true;
        };
    }, {
        component: {
            attributes: {
                supportedWiFiBands: FixedAttribute<NetworkCommissioning.WiFiBand[], any>;
            };
            commands: {
                addOrUpdateWiFiNetwork: Command<TypeFromFields<{
                    breadcrumb: ...;
                    credentials: ...;
                    ssid: ...;
                }>, TypeFromFields<{
                    debugText: ...;
                    networkIndex: ...;
                    networkingStatus: ...;
                }>, any>;
            };
        };
        flags: {
            wiFiNetworkInterface: true;
        };
    }, {
        component: {
            attributes: {
                supportedThreadFeatures: FixedAttribute<TypeFromPartialBitSchema<{
                    isBorderRouterCapable: ...;
                    isFullThreadDevice: ...;
                    isRouterCapable: ...;
                    isSleepyEndDeviceCapable: ...;
                    isSynchronizedSleepyEndDeviceCapable: ...;
                }>, any>;
                threadVersion: FixedAttribute<number, any>;
            };
            commands: {
                addOrUpdateThreadNetwork: Command<TypeFromFields<{
                    breadcrumb: ...;
                    operationalDataset: ...;
                }>, TypeFromFields<{
                    debugText: ...;
                    networkIndex: ...;
                    networkingStatus: ...;
                }>, any>;
            };
        };
        flags: {
            threadNetworkInterface: true;
        };
    }, {
        component: false;
        flags: {
            threadNetworkInterface: true;
            wiFiNetworkInterface: true;
        };
    }, {
        component: false;
        flags: {
            ethernetNetworkInterface: true;
            wiFiNetworkInterface: true;
        };
    }, {
        component: false;
        flags: {
            ethernetNetworkInterface: true;
            threadNetworkInterface: true;
        };
    }, {
        component: false;
        flags: {
            ethernetNetworkInterface: false;
            threadNetworkInterface: false;
            wiFiNetworkInterface: false;
        };
    }];
    features: {
        ethernetNetworkInterface: BitFlag;
        threadNetworkInterface: BitFlag;
        wiFiNetworkInterface: BitFlag;
    };
    id: 49;
    name: "NetworkCommissioning";
    revision: 2;
}>, SelectionT>)

Type declaration

    • <const SelectionT>(...selection): Of<Of<{
          attributes: {
              interfaceEnabled: WritableAttribute<boolean, any>;
              lastConnectErrorValue: Attribute<null | number, any>;
              lastNetworkId: Attribute<null | Uint8Array, any>;
              lastNetworkingStatus: Attribute<null | NetworkCommissioning.NetworkCommissioningStatus, any>;
              maxNetworks: FixedAttribute<number, any>;
              networks: Attribute<TypeFromFields<{
                  connected: FieldType<boolean>;
                  networkId: FieldType<Uint8Array>;
              }>[], any>;
          };
          extensions: readonly [{
              component: {
                  attributes: {
                      connectMaxTimeSeconds: FixedAttribute<number, any>;
                      scanMaxTimeSeconds: FixedAttribute<number, any>;
                  };
                  commands: {
                      connectNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          errorValue: ...;
                          networkingStatus: ...;
                      }>, any>;
                      removeNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                      reorderNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                          networkIndex: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                      scanNetworks: Command<TypeFromFields<{
                          breadcrumb: ...;
                          ssid: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkingStatus: ...;
                          threadScanResults: ...;
                          wiFiScanResults: ...;
                      }>, any>;
                  };
              };
              flags: {
                  wiFiNetworkInterface: true;
              };
          }, {
              component: {
                  attributes: {
                      connectMaxTimeSeconds: FixedAttribute<number, any>;
                      scanMaxTimeSeconds: FixedAttribute<number, any>;
                  };
                  commands: {
                      connectNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          errorValue: ...;
                          networkingStatus: ...;
                      }>, any>;
                      removeNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                      reorderNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                          networkIndex: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                      scanNetworks: Command<TypeFromFields<{
                          breadcrumb: ...;
                          ssid: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkingStatus: ...;
                          threadScanResults: ...;
                          wiFiScanResults: ...;
                      }>, any>;
                  };
              };
              flags: {
                  threadNetworkInterface: true;
              };
          }, {
              component: {
                  attributes: {
                      supportedWiFiBands: FixedAttribute<NetworkCommissioning.WiFiBand[], any>;
                  };
                  commands: {
                      addOrUpdateWiFiNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          credentials: ...;
                          ssid: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                  };
              };
              flags: {
                  wiFiNetworkInterface: true;
              };
          }, {
              component: {
                  attributes: {
                      supportedThreadFeatures: FixedAttribute<TypeFromPartialBitSchema<{
                          isBorderRouterCapable: ...;
                          isFullThreadDevice: ...;
                          isRouterCapable: ...;
                          isSleepyEndDeviceCapable: ...;
                          isSynchronizedSleepyEndDeviceCapable: ...;
                      }>, any>;
                      threadVersion: FixedAttribute<number, any>;
                  };
                  commands: {
                      addOrUpdateThreadNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          operationalDataset: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                  };
              };
              flags: {
                  threadNetworkInterface: true;
              };
          }, {
              component: false;
              flags: {
                  threadNetworkInterface: true;
                  wiFiNetworkInterface: true;
              };
          }, {
              component: false;
              flags: {
                  ethernetNetworkInterface: true;
                  wiFiNetworkInterface: true;
              };
          }, {
              component: false;
              flags: {
                  ethernetNetworkInterface: true;
                  threadNetworkInterface: true;
              };
          }, {
              component: false;
              flags: {
                  ethernetNetworkInterface: false;
                  threadNetworkInterface: false;
                  wiFiNetworkInterface: false;
              };
          }];
          features: {
              ethernetNetworkInterface: BitFlag;
              threadNetworkInterface: BitFlag;
              wiFiNetworkInterface: BitFlag;
          };
          id: 49;
          name: "NetworkCommissioning";
          revision: 2;
      }>, SelectionT>
    • Select features using ClusterComposer.compose.

      Type Parameters

      • const SelectionT extends FeatureSelection<Of<{
            attributes: {
                interfaceEnabled: WritableAttribute<boolean, any>;
                lastConnectErrorValue: Attribute<null | number, any>;
                lastNetworkId: Attribute<null | Uint8Array, any>;
                lastNetworkingStatus: Attribute<null | NetworkCommissioning.NetworkCommissioningStatus, any>;
                maxNetworks: FixedAttribute<number, any>;
                networks: Attribute<TypeFromFields<{
                    connected: FieldType<boolean>;
                    networkId: FieldType<Uint8Array>;
                }>[], any>;
            };
            extensions: readonly [{
                component: {
                    attributes: {
                        connectMaxTimeSeconds: FixedAttribute<number, any>;
                        scanMaxTimeSeconds: FixedAttribute<number, any>;
                    };
                    commands: {
                        connectNetwork: Command<TypeFromFields<{
                            breadcrumb: ...;
                            networkId: ...;
                        }>, TypeFromFields<{
                            debugText: ...;
                            errorValue: ...;
                            networkingStatus: ...;
                        }>, any>;
                        removeNetwork: Command<TypeFromFields<{
                            breadcrumb: ...;
                            networkId: ...;
                        }>, TypeFromFields<{
                            debugText: ...;
                            networkIndex: ...;
                            networkingStatus: ...;
                        }>, any>;
                        reorderNetwork: Command<TypeFromFields<{
                            breadcrumb: ...;
                            networkId: ...;
                            networkIndex: ...;
                        }>, TypeFromFields<{
                            debugText: ...;
                            networkIndex: ...;
                            networkingStatus: ...;
                        }>, any>;
                        scanNetworks: Command<TypeFromFields<{
                            breadcrumb: ...;
                            ssid: ...;
                        }>, TypeFromFields<{
                            debugText: ...;
                            networkingStatus: ...;
                            threadScanResults: ...;
                            wiFiScanResults: ...;
                        }>, any>;
                    };
                };
                flags: {
                    wiFiNetworkInterface: true;
                };
            }, {
                component: {
                    attributes: {
                        connectMaxTimeSeconds: FixedAttribute<number, any>;
                        scanMaxTimeSeconds: FixedAttribute<number, any>;
                    };
                    commands: {
                        connectNetwork: Command<TypeFromFields<{
                            breadcrumb: ...;
                            networkId: ...;
                        }>, TypeFromFields<{
                            debugText: ...;
                            errorValue: ...;
                            networkingStatus: ...;
                        }>, any>;
                        removeNetwork: Command<TypeFromFields<{
                            breadcrumb: ...;
                            networkId: ...;
                        }>, TypeFromFields<{
                            debugText: ...;
                            networkIndex: ...;
                            networkingStatus: ...;
                        }>, any>;
                        reorderNetwork: Command<TypeFromFields<{
                            breadcrumb: ...;
                            networkId: ...;
                            networkIndex: ...;
                        }>, TypeFromFields<{
                            debugText: ...;
                            networkIndex: ...;
                            networkingStatus: ...;
                        }>, any>;
                        scanNetworks: Command<TypeFromFields<{
                            breadcrumb: ...;
                            ssid: ...;
                        }>, TypeFromFields<{
                            debugText: ...;
                            networkingStatus: ...;
                            threadScanResults: ...;
                            wiFiScanResults: ...;
                        }>, any>;
                    };
                };
                flags: {
                    threadNetworkInterface: true;
                };
            }, {
                component: {
                    attributes: {
                        supportedWiFiBands: FixedAttribute<NetworkCommissioning.WiFiBand[], any>;
                    };
                    commands: {
                        addOrUpdateWiFiNetwork: Command<TypeFromFields<{
                            breadcrumb: ...;
                            credentials: ...;
                            ssid: ...;
                        }>, TypeFromFields<{
                            debugText: ...;
                            networkIndex: ...;
                            networkingStatus: ...;
                        }>, any>;
                    };
                };
                flags: {
                    wiFiNetworkInterface: true;
                };
            }, {
                component: {
                    attributes: {
                        supportedThreadFeatures: FixedAttribute<TypeFromPartialBitSchema<{
                            isBorderRouterCapable: ...;
                            isFullThreadDevice: ...;
                            isRouterCapable: ...;
                            isSleepyEndDeviceCapable: ...;
                            isSynchronizedSleepyEndDeviceCapable: ...;
                        }>, any>;
                        threadVersion: FixedAttribute<number, any>;
                    };
                    commands: {
                        addOrUpdateThreadNetwork: Command<TypeFromFields<{
                            breadcrumb: ...;
                            operationalDataset: ...;
                        }>, TypeFromFields<{
                            debugText: ...;
                            networkIndex: ...;
                            networkingStatus: ...;
                        }>, any>;
                    };
                };
                flags: {
                    threadNetworkInterface: true;
                };
            }, {
                component: false;
                flags: {
                    threadNetworkInterface: true;
                    wiFiNetworkInterface: true;
                };
            }, {
                component: false;
                flags: {
                    ethernetNetworkInterface: true;
                    wiFiNetworkInterface: true;
                };
            }, {
                component: false;
                flags: {
                    ethernetNetworkInterface: true;
                    threadNetworkInterface: true;
                };
            }, {
                component: false;
                flags: {
                    ethernetNetworkInterface: false;
                    threadNetworkInterface: false;
                    wiFiNetworkInterface: false;
                };
            }];
            features: {
                ethernetNetworkInterface: BitFlag;
                threadNetworkInterface: BitFlag;
                wiFiNetworkInterface: BitFlag;
            };
            id: 49;
            name: "NetworkCommissioning";
            revision: 2;
        }>>

      Parameters

      Returns Of<Of<{
          attributes: {
              interfaceEnabled: WritableAttribute<boolean, any>;
              lastConnectErrorValue: Attribute<null | number, any>;
              lastNetworkId: Attribute<null | Uint8Array, any>;
              lastNetworkingStatus: Attribute<null | NetworkCommissioning.NetworkCommissioningStatus, any>;
              maxNetworks: FixedAttribute<number, any>;
              networks: Attribute<TypeFromFields<{
                  connected: FieldType<boolean>;
                  networkId: FieldType<Uint8Array>;
              }>[], any>;
          };
          extensions: readonly [{
              component: {
                  attributes: {
                      connectMaxTimeSeconds: FixedAttribute<number, any>;
                      scanMaxTimeSeconds: FixedAttribute<number, any>;
                  };
                  commands: {
                      connectNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          errorValue: ...;
                          networkingStatus: ...;
                      }>, any>;
                      removeNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                      reorderNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                          networkIndex: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                      scanNetworks: Command<TypeFromFields<{
                          breadcrumb: ...;
                          ssid: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkingStatus: ...;
                          threadScanResults: ...;
                          wiFiScanResults: ...;
                      }>, any>;
                  };
              };
              flags: {
                  wiFiNetworkInterface: true;
              };
          }, {
              component: {
                  attributes: {
                      connectMaxTimeSeconds: FixedAttribute<number, any>;
                      scanMaxTimeSeconds: FixedAttribute<number, any>;
                  };
                  commands: {
                      connectNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          errorValue: ...;
                          networkingStatus: ...;
                      }>, any>;
                      removeNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                      reorderNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          networkId: ...;
                          networkIndex: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                      scanNetworks: Command<TypeFromFields<{
                          breadcrumb: ...;
                          ssid: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkingStatus: ...;
                          threadScanResults: ...;
                          wiFiScanResults: ...;
                      }>, any>;
                  };
              };
              flags: {
                  threadNetworkInterface: true;
              };
          }, {
              component: {
                  attributes: {
                      supportedWiFiBands: FixedAttribute<NetworkCommissioning.WiFiBand[], any>;
                  };
                  commands: {
                      addOrUpdateWiFiNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          credentials: ...;
                          ssid: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                  };
              };
              flags: {
                  wiFiNetworkInterface: true;
              };
          }, {
              component: {
                  attributes: {
                      supportedThreadFeatures: FixedAttribute<TypeFromPartialBitSchema<{
                          isBorderRouterCapable: ...;
                          isFullThreadDevice: ...;
                          isRouterCapable: ...;
                          isSleepyEndDeviceCapable: ...;
                          isSynchronizedSleepyEndDeviceCapable: ...;
                      }>, any>;
                      threadVersion: FixedAttribute<number, any>;
                  };
                  commands: {
                      addOrUpdateThreadNetwork: Command<TypeFromFields<{
                          breadcrumb: ...;
                          operationalDataset: ...;
                      }>, TypeFromFields<{
                          debugText: ...;
                          networkIndex: ...;
                          networkingStatus: ...;
                      }>, any>;
                  };
              };
              flags: {
                  threadNetworkInterface: true;
              };
          }, {
              component: false;
              flags: {
                  threadNetworkInterface: true;
                  wiFiNetworkInterface: true;
              };
          }, {
              component: false;
              flags: {
                  ethernetNetworkInterface: true;
                  wiFiNetworkInterface: true;
              };
          }, {
              component: false;
              flags: {
                  ethernetNetworkInterface: true;
                  threadNetworkInterface: true;
              };
          }, {
              component: false;
              flags: {
                  ethernetNetworkInterface: false;
                  threadNetworkInterface: false;
                  wiFiNetworkInterface: false;
              };
          }];
          features: {
              ethernetNetworkInterface: BitFlag;
              threadNetworkInterface: BitFlag;
              wiFiNetworkInterface: BitFlag;
          };
          id: 49;
          name: "NetworkCommissioning";
          revision: 2;
      }>, SelectionT>