/**
 * @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 WebRtcTransportProviderBehavior} for convenience.
     */
    const WebRtcTransportProviderBehavior: import("../behaviors/web-rtc-transport-provider/WebRtcTransportProviderBehavior.js").WebRtcTransportProviderBehaviorConstructor;
    /**
     * The Identify cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link IdentifyBehavior} for convenience.
     */
    const IdentifyBehavior: import("../behaviors/identify/IdentifyBehavior.js").IdentifyBehaviorConstructor;
    /**
     * The PowerSource cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link PowerSourceBehavior} for convenience.
     */
    const PowerSourceBehavior: import("../behaviors/power-source/PowerSourceBehavior.js").PowerSourceBehaviorConstructor;
    /**
     * The OccupancySensing cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link OccupancySensingBehavior} for convenience.
     */
    const OccupancySensingBehavior: import("../behaviors/occupancy-sensing/OccupancySensingBehavior.js").OccupancySensingBehaviorConstructor;
    /**
     * The ZoneManagement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ZoneManagementBehavior} for convenience.
     */
    const ZoneManagementBehavior: import("../behaviors/zone-management/ZoneManagementBehavior.js").ZoneManagementBehaviorConstructor;
    /**
     * The CameraAvStreamManagement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link CameraAvStreamManagementBehavior} for convenience.
     */
    const CameraAvStreamManagementBehavior: import("../behaviors/camera-av-stream-management/CameraAvStreamManagementBehavior.js").CameraAvStreamManagementBehaviorConstructor;
    /**
     * The CameraAvSettingsUserLevelManagement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link CameraAvSettingsUserLevelManagementBehavior} for
     * convenience.
     */
    const CameraAvSettingsUserLevelManagementBehavior: import("../behaviors/camera-av-settings-user-level-management/CameraAvSettingsUserLevelManagementBehavior.js").CameraAvSettingsUserLevelManagementBehaviorConstructor;
    /**
     * The PushAvStreamTransport cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link PushAvStreamTransportBehavior} for convenience.
     */
    const PushAvStreamTransportBehavior: import("../behaviors/push-av-stream-transport/PushAvStreamTransportBehavior.js").PushAvStreamTransportBehaviorConstructor;
    /**
     * The TlsCertificateManagement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link TlsCertificateManagementBehavior} for convenience.
     */
    const TlsCertificateManagementBehavior: import("../behaviors/tls-certificate-management/TlsCertificateManagementBehavior.js").TlsCertificateManagementBehaviorConstructor;
    /**
     * The TlsClientManagement cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link TlsClientManagementBehavior} for convenience.
     */
    const TlsClientManagementBehavior: import("../behaviors/tls-client-management/TlsClientManagementBehavior.js").TlsClientManagementBehaviorConstructor;
    /**
     * 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/WebRtcTransportProviderBehavior.js").WebRtcTransportProviderBehaviorConstructor;
        };
        optional: {
            Identify: import("../behaviors/identify/IdentifyBehavior.js").IdentifyBehaviorConstructor;
            PowerSource: import("../behaviors/power-source/PowerSourceBehavior.js").PowerSourceBehaviorConstructor;
            OccupancySensing: import("../behaviors/occupancy-sensing/OccupancySensingBehavior.js").OccupancySensingBehaviorConstructor;
            ZoneManagement: import("../behaviors/zone-management/ZoneManagementBehavior.js").ZoneManagementBehaviorConstructor;
            CameraAvStreamManagement: import("../behaviors/camera-av-stream-management/CameraAvStreamManagementBehavior.js").CameraAvStreamManagementBehaviorConstructor;
            CameraAvSettingsUserLevelManagement: import("../behaviors/camera-av-settings-user-level-management/CameraAvSettingsUserLevelManagementBehavior.js").CameraAvSettingsUserLevelManagementBehaviorConstructor;
            PushAvStreamTransport: import("../behaviors/push-av-stream-transport/PushAvStreamTransportBehavior.js").PushAvStreamTransportBehaviorConstructor;
            TlsCertificateManagement: import("../behaviors/tls-certificate-management/TlsCertificateManagementBehavior.js").TlsCertificateManagementBehaviorConstructor;
            TlsClientManagement: import("../behaviors/tls-client-management/TlsClientManagementBehavior.js").TlsClientManagementBehaviorConstructor;
        };
    };
}
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