/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { ContentAppObserverServer as BaseContentAppObserverServer } from "../behaviors/content-app-observer/ContentAppObserverServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { Identity } from "#general";
/**
 * This defines conformance to the Casting Video Client device type.
 *
 * A Casting Video Client is a client that can launch content on a Casting Video Player, for example, a Smart Speaker or
 * a Content Provider phone app.
 *
 * @see {@link MatterSpecification.v142.Device} § 10.6
 */
export interface CastingVideoClientDevice extends Identity<typeof CastingVideoClientDeviceDefinition> {
}
export declare namespace CastingVideoClientRequirements {
    /**
     * The ContentAppObserver cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ContentAppObserverServer} for convenience.
     */
    const ContentAppObserverServer: typeof BaseContentAppObserverServer;
    /**
     * The OnOff cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link OnOffBehavior} for convenience.
     */
    const OnOffBehavior: import("../behaviors/on-off/OnOffBehavior.js").OnOffBehaviorConstructor;
    /**
     * The KeypadInput cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link KeypadInputBehavior} for convenience.
     */
    const KeypadInputBehavior: import("../behaviors/keypad-input/KeypadInputBehavior.js").KeypadInputBehaviorConstructor;
    /**
     * The ContentLauncher cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link ContentLauncherBehavior} for convenience.
     */
    const ContentLauncherBehavior: import("../behaviors/content-launcher/ContentLauncherBehavior.js").ContentLauncherBehaviorConstructor;
    /**
     * The ApplicationBasic cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link ApplicationBasicBehavior} for convenience.
     */
    const ApplicationBasicBehavior: import("../behaviors/application-basic/ApplicationBasicBehavior.js").ApplicationBasicBehaviorConstructor;
    /**
     * The LevelControl cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link LevelControlBehavior} for convenience.
     */
    const LevelControlBehavior: import("../behaviors/level-control/LevelControlBehavior.js").LevelControlBehaviorConstructor;
    /**
     * The WakeOnLan cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link WakeOnLanBehavior} for convenience.
     */
    const WakeOnLanBehavior: import("../behaviors/wake-on-lan/WakeOnLanBehavior.js").WakeOnLanBehaviorConstructor;
    /**
     * The Channel cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ChannelBehavior} for convenience.
     */
    const ChannelBehavior: import("../behaviors/channel/ChannelBehavior.js").ChannelBehaviorConstructor;
    /**
     * The TargetNavigator cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link TargetNavigatorBehavior} for convenience.
     */
    const TargetNavigatorBehavior: import("../behaviors/target-navigator/TargetNavigatorBehavior.js").TargetNavigatorBehaviorConstructor;
    /**
     * The MediaPlayback cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link MediaPlaybackBehavior} for convenience.
     */
    const MediaPlaybackBehavior: import("../behaviors/media-playback/MediaPlaybackBehavior.js").MediaPlaybackBehaviorConstructor;
    /**
     * The MediaInput cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link MediaInputBehavior} for convenience.
     */
    const MediaInputBehavior: import("../behaviors/media-input/MediaInputBehavior.js").MediaInputBehaviorConstructor;
    /**
     * The LowPower cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link LowPowerBehavior} for convenience.
     */
    const LowPowerBehavior: import("../behaviors/low-power/LowPowerBehavior.js").LowPowerBehaviorConstructor;
    /**
     * The AudioOutput cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link AudioOutputBehavior} for convenience.
     */
    const AudioOutputBehavior: import("../behaviors/audio-output/AudioOutputBehavior.js").AudioOutputBehaviorConstructor;
    /**
     * The ApplicationLauncher cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ApplicationLauncherBehavior} for convenience.
     */
    const ApplicationLauncherBehavior: import("../behaviors/application-launcher/ApplicationLauncherBehavior.js").ApplicationLauncherBehaviorConstructor;
    /**
     * The AccountLogin cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link AccountLoginBehavior} for convenience.
     */
    const AccountLoginBehavior: import("../behaviors/account-login/AccountLoginBehavior.js").AccountLoginBehaviorConstructor;
    /**
     * The ContentControl cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ContentControlBehavior} for convenience.
     */
    const ContentControlBehavior: import("../behaviors/content-control/ContentControlBehavior.js").ContentControlBehaviorConstructor;
    /**
     * The Messages cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link MessagesBehavior} for convenience.
     */
    const MessagesBehavior: import("../behaviors/messages/MessagesBehavior.js").MessagesBehaviorConstructor;
    /**
     * An implementation for each server cluster supported by the endpoint per the Matter specification.
     */
    const server: {
        optional: {
            ContentAppObserver: typeof BaseContentAppObserverServer;
        };
        mandatory: {};
    };
    /**
     * A definition for each client cluster supported by the endpoint per the Matter specification.
     */
    const client: {
        mandatory: {
            OnOff: import("../behaviors/on-off/OnOffBehavior.js").OnOffBehaviorConstructor;
            KeypadInput: import("../behaviors/keypad-input/KeypadInputBehavior.js").KeypadInputBehaviorConstructor;
            ContentLauncher: import("../behaviors/content-launcher/ContentLauncherBehavior.js").ContentLauncherBehaviorConstructor;
            ApplicationBasic: import("../behaviors/application-basic/ApplicationBasicBehavior.js").ApplicationBasicBehaviorConstructor;
        };
        optional: {
            LevelControl: import("../behaviors/level-control/LevelControlBehavior.js").LevelControlBehaviorConstructor;
            WakeOnLan: import("../behaviors/wake-on-lan/WakeOnLanBehavior.js").WakeOnLanBehaviorConstructor;
            Channel: import("../behaviors/channel/ChannelBehavior.js").ChannelBehaviorConstructor;
            TargetNavigator: import("../behaviors/target-navigator/TargetNavigatorBehavior.js").TargetNavigatorBehaviorConstructor;
            MediaPlayback: import("../behaviors/media-playback/MediaPlaybackBehavior.js").MediaPlaybackBehaviorConstructor;
            MediaInput: import("../behaviors/media-input/MediaInputBehavior.js").MediaInputBehaviorConstructor;
            LowPower: import("../behaviors/low-power/LowPowerBehavior.js").LowPowerBehaviorConstructor;
            AudioOutput: import("../behaviors/audio-output/AudioOutputBehavior.js").AudioOutputBehaviorConstructor;
            ApplicationLauncher: import("../behaviors/application-launcher/ApplicationLauncherBehavior.js").ApplicationLauncherBehaviorConstructor;
            AccountLogin: import("../behaviors/account-login/AccountLoginBehavior.js").AccountLoginBehaviorConstructor;
            ContentControl: import("../behaviors/content-control/ContentControlBehavior.js").ContentControlBehaviorConstructor;
            Messages: import("../behaviors/messages/MessagesBehavior.js").MessagesBehaviorConstructor;
        };
    };
}
export declare const CastingVideoClientDeviceDefinition: MutableEndpoint.With<import("../index.js").EndpointType.For<{
    readonly name: "CastingVideoClient";
    readonly deviceType: 41;
    readonly deviceRevision: 2;
    readonly requirements: typeof CastingVideoClientRequirements;
    readonly behaviors: {};
}>, {}>;
export declare const CastingVideoClientDevice: CastingVideoClientDevice;
//# sourceMappingURL=casting-video-client.d.ts.map