/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ /*** THIS FILE IS GENERATED, DO NOT EDIT ***/ import { PartsBehavior } from "../behavior/system/parts/PartsBehavior.js"; import { IndexBehavior } from "../behavior/system/index/IndexBehavior.js"; import { AccessControlServer as BaseAccessControlServer } from "../behaviors/access-control/AccessControlServer.js"; import { BasicInformationServer as BaseBasicInformationServer } from "../behaviors/basic-information/BasicInformationServer.js"; import { GeneralCommissioningServer as BaseGeneralCommissioningServer } from "../behaviors/general-commissioning/GeneralCommissioningServer.js"; import { GeneralDiagnosticsServer as BaseGeneralDiagnosticsServer } from "../behaviors/general-diagnostics/GeneralDiagnosticsServer.js"; import { AdministratorCommissioningServer as BaseAdministratorCommissioningServer } from "../behaviors/administrator-commissioning/AdministratorCommissioningServer.js"; import { OperationalCredentialsServer as BaseOperationalCredentialsServer } from "../behaviors/operational-credentials/OperationalCredentialsServer.js"; import { GroupKeyManagementServer as BaseGroupKeyManagementServer } from "../behaviors/group-key-management/GroupKeyManagementServer.js"; import { LocalizationConfigurationServer as BaseLocalizationConfigurationServer } from "../behaviors/localization-configuration/LocalizationConfigurationServer.js"; import { TimeFormatLocalizationServer as BaseTimeFormatLocalizationServer } from "../behaviors/time-format-localization/TimeFormatLocalizationServer.js"; import { UnitLocalizationServer as BaseUnitLocalizationServer } from "../behaviors/unit-localization/UnitLocalizationServer.js"; import { PowerSourceConfigurationServer as BasePowerSourceConfigurationServer } from "../behaviors/power-source-configuration/PowerSourceConfigurationServer.js"; import { NetworkCommissioningServer as BaseNetworkCommissioningServer } from "../behaviors/network-commissioning/NetworkCommissioningServer.js"; import { DiagnosticLogsServer as BaseDiagnosticLogsServer } from "../behaviors/diagnostic-logs/DiagnosticLogsServer.js"; import { SoftwareDiagnosticsServer as BaseSoftwareDiagnosticsServer } from "../behaviors/software-diagnostics/SoftwareDiagnosticsServer.js"; import { ThreadNetworkDiagnosticsServer as BaseThreadNetworkDiagnosticsServer } from "../behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsServer.js"; import { WiFiNetworkDiagnosticsServer as BaseWiFiNetworkDiagnosticsServer } from "../behaviors/wi-fi-network-diagnostics/WiFiNetworkDiagnosticsServer.js"; import { EthernetNetworkDiagnosticsServer as BaseEthernetNetworkDiagnosticsServer } from "../behaviors/ethernet-network-diagnostics/EthernetNetworkDiagnosticsServer.js"; import { TimeSynchronizationServer as BaseTimeSynchronizationServer } from "../behaviors/time-synchronization/TimeSynchronizationServer.js"; import { IcdManagementServer as BaseIcdManagementServer } from "../behaviors/icd-management/IcdManagementServer.js"; import { GroupcastServer as BaseGroupcastServer } from "../behaviors/groupcast/GroupcastServer.js"; import { TlsCertificateManagementServer as BaseTlsCertificateManagementServer } from "../behaviors/tls-certificate-management/TlsCertificateManagementServer.js"; import { TlsClientManagementServer as BaseTlsClientManagementServer } from "../behaviors/tls-client-management/TlsClientManagementServer.js"; import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js"; import { DeviceClassification } from "@matter/model"; import { Identity } from "@matter/general"; /** * This defines conformance for a root node endpoint (see System Model specification). This endpoint is akin to a "read * me first" endpoint that describes itself and the other endpoints that make up the node. * * - Device types with Endpoint scope shall NOT be supported on the same endpoint as this device type. * * - Clusters with an Application role shall NOT be supported on the same endpoint as this device type. * * - Other device types with Node scope may be supported on the same endpoint as this device type. * * ### Cluster Requirements * * > [!NOTE] * * > NOTE: The Network Diagnostics clusters present on the Root Node shall serve the primary network interface as * specified in the Network Commissioning cluster if it exists, or the out-of-band-configured networking interfaces. * * ### Element Requirements * * #### Access Control MNGD Conformance * * The MNGD (Managed Device) feature of the Access Control Cluster on the device's Root Node endpoint is restricted to * devices that contain an Application Endpoint type that explicitly permits its use, such as the Network Infrastructure * Manager device type (Device Type ID 0x0090). * * ### Endpoint Composition * * A Root Node endpoint's Descriptor cluster PartsList attribute shall contain a list of all other endpoints on the * node, i.e. the full-family pattern defined in the System Model specification. * * @see {@link MatterSpecification.v161.Device} ยง 2.1 */ export interface RootEndpoint extends Identity { } export declare namespace RootRequirements { /** * The AccessControl cluster is required by the Matter specification. * * We provide this alias to the default implementation {@link AccessControlServer} for convenience. */ const AccessControlServer: typeof BaseAccessControlServer; /** * The BasicInformation cluster is required by the Matter specification. * * We provide this alias to the default implementation {@link BasicInformationServer} for convenience. */ const BasicInformationServer: typeof BaseBasicInformationServer; /** * The GeneralCommissioning cluster is required by the Matter specification. * * We provide this alias to the default implementation {@link GeneralCommissioningServer} for convenience. */ const GeneralCommissioningServer: typeof BaseGeneralCommissioningServer; /** * The GeneralDiagnostics cluster is required by the Matter specification. * * We provide this alias to the default implementation {@link GeneralDiagnosticsServer} for convenience. */ const GeneralDiagnosticsServer: typeof BaseGeneralDiagnosticsServer; /** * The AdministratorCommissioning cluster is required by the Matter specification. * * We provide this alias to the default implementation {@link AdministratorCommissioningServer} for convenience. */ const AdministratorCommissioningServer: typeof BaseAdministratorCommissioningServer; /** * The OperationalCredentials cluster is required by the Matter specification. * * We provide this alias to the default implementation {@link OperationalCredentialsServer} for convenience. */ const OperationalCredentialsServer: typeof BaseOperationalCredentialsServer; /** * The GroupKeyManagement cluster is required by the Matter specification. * * We provide this alias to the default implementation {@link GroupKeyManagementServer} for convenience. */ const GroupKeyManagementServer: typeof BaseGroupKeyManagementServer; /** * The LocalizationConfiguration cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link LocalizationConfigurationServer} for convenience. */ const LocalizationConfigurationServer: typeof BaseLocalizationConfigurationServer; /** * The TimeFormatLocalization cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link TimeFormatLocalizationServer} for convenience. */ const TimeFormatLocalizationServer: typeof BaseTimeFormatLocalizationServer; /** * The UnitLocalization cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link UnitLocalizationServer} for convenience. */ const UnitLocalizationServer: typeof BaseUnitLocalizationServer; /** * The PowerSourceConfiguration cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link PowerSourceConfigurationServer} for convenience. */ const PowerSourceConfigurationServer: typeof BasePowerSourceConfigurationServer; /** * The NetworkCommissioning cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link NetworkCommissioningServer} for convenience. */ const NetworkCommissioningServer: typeof BaseNetworkCommissioningServer; /** * The DiagnosticLogs cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link DiagnosticLogsServer} for convenience. */ const DiagnosticLogsServer: typeof BaseDiagnosticLogsServer; /** * The SoftwareDiagnostics cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link SoftwareDiagnosticsServer} for convenience. */ const SoftwareDiagnosticsServer: typeof BaseSoftwareDiagnosticsServer; /** * The ThreadNetworkDiagnostics cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link ThreadNetworkDiagnosticsServer} for convenience. */ const ThreadNetworkDiagnosticsServer: typeof BaseThreadNetworkDiagnosticsServer; /** * The WiFiNetworkDiagnostics cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link WiFiNetworkDiagnosticsServer} for convenience. */ const WiFiNetworkDiagnosticsServer: typeof BaseWiFiNetworkDiagnosticsServer; /** * The EthernetNetworkDiagnostics cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link EthernetNetworkDiagnosticsServer} for convenience. */ const EthernetNetworkDiagnosticsServer: typeof BaseEthernetNetworkDiagnosticsServer; /** * The TimeSynchronization cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link TimeSynchronizationServer} for convenience. */ const TimeSynchronizationServer: typeof BaseTimeSynchronizationServer; /** * The IcdManagement cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link IcdManagementServer} for convenience. */ const IcdManagementServer: typeof BaseIcdManagementServer; /** * The Groupcast cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link GroupcastServer} for convenience. */ const GroupcastServer: typeof BaseGroupcastServer; /** * The TlsCertificateManagement cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link TlsCertificateManagementServer} for convenience. */ const TlsCertificateManagementServer: typeof BaseTlsCertificateManagementServer; /** * The TlsClientManagement cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link TlsClientManagementServer} for convenience. */ const TlsClientManagementServer: typeof BaseTlsClientManagementServer; /** * The TimeSynchronization cluster is optional per the Matter specification. * * We provide this alias to the default implementation {@link TimeSynchronizationClient} for convenience. */ const TimeSynchronizationClient: import("../behaviors/time-synchronization/TimeSynchronizationClient.js").TimeSynchronizationClientConstructor; /** * An implementation for each server cluster supported by the endpoint per the Matter specification. */ const server: { mandatory: { Parts: typeof PartsBehavior; Index: typeof IndexBehavior; AccessControl: typeof BaseAccessControlServer; BasicInformation: typeof BaseBasicInformationServer; GeneralCommissioning: typeof BaseGeneralCommissioningServer; GeneralDiagnostics: typeof BaseGeneralDiagnosticsServer; AdministratorCommissioning: typeof BaseAdministratorCommissioningServer; OperationalCredentials: typeof BaseOperationalCredentialsServer; GroupKeyManagement: typeof BaseGroupKeyManagementServer; }; optional: { LocalizationConfiguration: typeof BaseLocalizationConfigurationServer; TimeFormatLocalization: typeof BaseTimeFormatLocalizationServer; UnitLocalization: typeof BaseUnitLocalizationServer; PowerSourceConfiguration: typeof BasePowerSourceConfigurationServer; NetworkCommissioning: typeof BaseNetworkCommissioningServer; DiagnosticLogs: typeof BaseDiagnosticLogsServer; SoftwareDiagnostics: typeof BaseSoftwareDiagnosticsServer; ThreadNetworkDiagnostics: typeof BaseThreadNetworkDiagnosticsServer; WiFiNetworkDiagnostics: typeof BaseWiFiNetworkDiagnosticsServer; EthernetNetworkDiagnostics: typeof BaseEthernetNetworkDiagnosticsServer; TimeSynchronization: typeof BaseTimeSynchronizationServer; IcdManagement: typeof BaseIcdManagementServer; Groupcast: typeof BaseGroupcastServer; TlsCertificateManagement: typeof BaseTlsCertificateManagementServer; TlsClientManagement: typeof BaseTlsClientManagementServer; }; }; /** * A definition for each client cluster supported by the endpoint per the Matter specification. */ const client: { optional: { TimeSynchronization: import("../behaviors/time-synchronization/TimeSynchronizationClient.js").TimeSynchronizationClientConstructor; }; }; } export declare const RootEndpointDefinition: MutableEndpoint.With, { readonly parts: typeof PartsBehavior; } & { readonly index: typeof IndexBehavior; } & { readonly accessControl: typeof BaseAccessControlServer; } & { readonly basicInformation: typeof BaseBasicInformationServer; } & { readonly generalCommissioning: typeof BaseGeneralCommissioningServer; } & { readonly generalDiagnostics: typeof BaseGeneralDiagnosticsServer; } & { readonly administratorCommissioning: typeof BaseAdministratorCommissioningServer; } & { readonly operationalCredentials: typeof BaseOperationalCredentialsServer; } & { readonly groupKeyManagement: typeof BaseGroupKeyManagementServer; }, {}>; export declare const RootEndpoint: RootEndpoint; //# sourceMappingURL=root.d.ts.map