/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { WebRtcTransportRequestorServer as BaseWebRtcTransportRequestorServer } from "../behaviors/web-rtc-transport-requestor/WebRtcTransportRequestorServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { Identity } from "@matter/general";
/**
 * A Camera controller device is a device that provides interfaces for controlling and managing camera devices.
 *
 * @see {@link MatterSpecification.v151.Device} § 16.8
 */
export interface CameraControllerDevice extends Identity<typeof CameraControllerDeviceDefinition> {
}
export declare namespace CameraControllerRequirements {
    /**
     * The WebRtcTransportRequestor cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link WebRtcTransportRequestorServer} for convenience.
     */
    const WebRtcTransportRequestorServer: typeof BaseWebRtcTransportRequestorServer;
    /**
     * The WebRtcTransportProvider cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link WebRtcTransportProviderClient} for convenience.
     */
    const WebRtcTransportProviderClient: import("../behaviors/web-rtc-transport-provider/WebRtcTransportProviderClient.js").WebRtcTransportProviderClientConstructor;
    /**
     * The Identify cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link IdentifyClient} for convenience.
     */
    const IdentifyClient: import("../behaviors/identify/IdentifyClient.js").IdentifyClientConstructor;
    /**
     * The PowerSource cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link PowerSourceClient} for convenience.
     */
    const PowerSourceClient: import("../behaviors/power-source/PowerSourceClient.js").PowerSourceClientConstructor;
    /**
     * The OccupancySensing cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link OccupancySensingClient} for convenience.
     */
    const OccupancySensingClient: import("../behaviors/occupancy-sensing/OccupancySensingClient.js").OccupancySensingClientConstructor;
    /**
     * The ZoneManagement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ZoneManagementClient} for convenience.
     */
    const ZoneManagementClient: import("../behaviors/zone-management/ZoneManagementClient.js").ZoneManagementClientConstructor;
    /**
     * The CameraAvStreamManagement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link CameraAvStreamManagementClient} for convenience.
     */
    const CameraAvStreamManagementClient: import("../behaviors/camera-av-stream-management/CameraAvStreamManagementClient.js").CameraAvStreamManagementClientConstructor;
    /**
     * The CameraAvSettingsUserLevelManagement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link CameraAvSettingsUserLevelManagementClient} for
     * convenience.
     */
    const CameraAvSettingsUserLevelManagementClient: import("../behaviors/camera-av-settings-user-level-management/CameraAvSettingsUserLevelManagementClient.js").CameraAvSettingsUserLevelManagementClientConstructor;
    /**
     * The PushAvStreamTransport cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link PushAvStreamTransportClient} for convenience.
     */
    const PushAvStreamTransportClient: import("../behaviors/push-av-stream-transport/PushAvStreamTransportClient.js").PushAvStreamTransportClientConstructor;
    /**
     * The TlsCertificateManagement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link TlsCertificateManagementClient} for convenience.
     */
    const TlsCertificateManagementClient: import("../behaviors/tls-certificate-management/TlsCertificateManagementClient.js").TlsCertificateManagementClientConstructor;
    /**
     * The TlsClientManagement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link TlsClientManagementClient} for convenience.
     */
    const TlsClientManagementClient: import("../behaviors/tls-client-management/TlsClientManagementClient.js").TlsClientManagementClientConstructor;
    /**
     * An implementation for each server cluster supported by the endpoint per the Matter specification.
     */
    const server: {
        mandatory: {
            WebRtcTransportRequestor: typeof BaseWebRtcTransportRequestorServer;
        };
    };
    /**
     * A definition for each client cluster supported by the endpoint per the Matter specification.
     */
    const client: {
        mandatory: {
            WebRtcTransportProvider: import("../behaviors/web-rtc-transport-provider/WebRtcTransportProviderClient.js").WebRtcTransportProviderClientConstructor;
        };
        optional: {
            Identify: import("../behaviors/identify/IdentifyClient.js").IdentifyClientConstructor;
            PowerSource: import("../behaviors/power-source/PowerSourceClient.js").PowerSourceClientConstructor;
            OccupancySensing: import("../behaviors/occupancy-sensing/OccupancySensingClient.js").OccupancySensingClientConstructor;
            ZoneManagement: import("../behaviors/zone-management/ZoneManagementClient.js").ZoneManagementClientConstructor;
            CameraAvStreamManagement: import("../behaviors/camera-av-stream-management/CameraAvStreamManagementClient.js").CameraAvStreamManagementClientConstructor;
            CameraAvSettingsUserLevelManagement: import("../behaviors/camera-av-settings-user-level-management/CameraAvSettingsUserLevelManagementClient.js").CameraAvSettingsUserLevelManagementClientConstructor;
            PushAvStreamTransport: import("../behaviors/push-av-stream-transport/PushAvStreamTransportClient.js").PushAvStreamTransportClientConstructor;
            TlsCertificateManagement: import("../behaviors/tls-certificate-management/TlsCertificateManagementClient.js").TlsCertificateManagementClientConstructor;
            TlsClientManagement: import("../behaviors/tls-client-management/TlsClientManagementClient.js").TlsClientManagementClientConstructor;
        };
    };
}
export declare const CameraControllerDeviceDefinition: MutableEndpoint.With<import("../index.js").EndpointType.For<{
    readonly name: "CameraController";
    readonly deviceType: 327;
    readonly deviceRevision: 1;
    readonly requirements: typeof CameraControllerRequirements;
    readonly behaviors: {
        readonly webRtcTransportRequestor: typeof BaseWebRtcTransportRequestorServer;
    };
}>, {
    readonly webRtcTransportRequestor: typeof BaseWebRtcTransportRequestorServer;
}, {}>;
export declare const CameraControllerDevice: CameraControllerDevice;
//# sourceMappingURL=camera-controller.d.ts.map