/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { WiFiNetworkManagementServer as BaseWiFiNetworkManagementServer } from "../behaviors/wi-fi-network-management/WiFiNetworkManagementServer.js";
import { ThreadBorderRouterManagementServer as BaseThreadBorderRouterManagementServer } from "../behaviors/thread-border-router-management/ThreadBorderRouterManagementServer.js";
import { ThreadNetworkDirectoryServer as BaseThreadNetworkDirectoryServer } from "../behaviors/thread-network-directory/ThreadNetworkDirectoryServer.js";
import { ThreadNetworkDiagnosticsServer as BaseThreadNetworkDiagnosticsServer } from "../behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { Identity } from "#general";
/**
 * A Network Infrastructure Manager provides interfaces that allow for the management of the Wi-Fi, Thread, and Ethernet
 * networks underlying a Matter deployment, realizing the Star Network Topology described in [MatterCore].
 *
 * Examples of physical devices that implement the Matter Network Infrastructure Manager device type include Wi-Fi
 * gateway routers.
 *
 * Relevant hardware and software requirements for Network Infrastructure Manager devices are defined in Section 15.3.6,
 * “Other Requirements” and within the clusters mandated by this device type.
 *
 * A Network Infrastructure Manager device may be managed by a service associated with the device vendor, for example,
 * an Internet Service Provider. Sometimes this managing service will have policies that require the use of the Managed
 * Device feature of the Access Control Cluster (see Section 15.3.5.1, “Access Control MNGD Conformance”). Consequently,
 * Commissioners of this device type should be aware of this feature and its use.
 *
 * @see {@link MatterSpecification.v142.Device} § 15.3
 */
export interface NetworkInfrastructureManagerDevice extends Identity<typeof NetworkInfrastructureManagerDeviceDefinition> {
}
export declare namespace NetworkInfrastructureManagerRequirements {
    /**
     * The WiFiNetworkManagement cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link WiFiNetworkManagementServer} for convenience.
     */
    const WiFiNetworkManagementServer: typeof BaseWiFiNetworkManagementServer;
    /**
     * The ThreadBorderRouterManagement cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link ThreadBorderRouterManagementServer} for convenience.
     */
    const ThreadBorderRouterManagementServer: typeof BaseThreadBorderRouterManagementServer;
    /**
     * The ThreadNetworkDirectory cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link ThreadNetworkDirectoryServer} for convenience.
     */
    const ThreadNetworkDirectoryServer: typeof BaseThreadNetworkDirectoryServer;
    /**
     * The ThreadNetworkDiagnostics cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link ThreadNetworkDiagnosticsServer} for convenience.
     */
    const ThreadNetworkDiagnosticsServer: typeof BaseThreadNetworkDiagnosticsServer;
    /**
     * An implementation for each server cluster supported by the endpoint per the Matter specification.
     */
    const server: {
        mandatory: {
            WiFiNetworkManagement: typeof BaseWiFiNetworkManagementServer;
            ThreadBorderRouterManagement: typeof BaseThreadBorderRouterManagementServer;
            ThreadNetworkDirectory: typeof BaseThreadNetworkDirectoryServer;
            ThreadNetworkDiagnostics: typeof BaseThreadNetworkDiagnosticsServer;
        };
    };
}
export declare const NetworkInfrastructureManagerDeviceDefinition: MutableEndpoint.With<import("../index.js").EndpointType.For<{
    readonly name: "NetworkInfrastructureManager";
    readonly deviceType: 144;
    readonly deviceRevision: 2;
    readonly requirements: typeof NetworkInfrastructureManagerRequirements;
    readonly behaviors: {
        readonly wiFiNetworkManagement: typeof BaseWiFiNetworkManagementServer;
    } & {
        readonly threadBorderRouterManagement: typeof BaseThreadBorderRouterManagementServer;
    } & {
        readonly threadNetworkDirectory: typeof BaseThreadNetworkDirectoryServer;
    } & {
        readonly threadNetworkDiagnostics: typeof BaseThreadNetworkDiagnosticsServer;
    };
}>, {
    readonly wiFiNetworkManagement: typeof BaseWiFiNetworkManagementServer;
} & {
    readonly threadBorderRouterManagement: typeof BaseThreadBorderRouterManagementServer;
} & {
    readonly threadNetworkDirectory: typeof BaseThreadNetworkDirectoryServer;
} & {
    readonly threadNetworkDiagnostics: typeof BaseThreadNetworkDiagnosticsServer;
}>;
export declare const NetworkInfrastructureManagerDevice: NetworkInfrastructureManagerDevice;
//# sourceMappingURL=network-infrastructure-manager.d.ts.map