/**
 * @license
 * Copyright 2022-2026 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 "@matter/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.v16.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 OnOffClient} for convenience.
     */
    const OnOffClient: import("../behaviors/on-off/OnOffClient.js").OnOffClientConstructor;
    /**
     * The KeypadInput cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link KeypadInputClient} for convenience.
     */
    const KeypadInputClient: import("../behaviors/keypad-input/KeypadInputClient.js").KeypadInputClientConstructor;
    /**
     * The ContentLauncher cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link ContentLauncherClient} for convenience.
     */
    const ContentLauncherClient: import("../behaviors/content-launcher/ContentLauncherClient.js").ContentLauncherClientConstructor;
    /**
     * The ApplicationBasic cluster is required by the Matter specification.
     *
     * We provide this alias to the default implementation {@link ApplicationBasicClient} for convenience.
     */
    const ApplicationBasicClient: import("../behaviors/application-basic/ApplicationBasicClient.js").ApplicationBasicClientConstructor;
    /**
     * The LevelControl cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link LevelControlClient} for convenience.
     */
    const LevelControlClient: import("../behaviors/level-control/LevelControlClient.js").LevelControlClientConstructor;
    /**
     * The Messages cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link MessagesClient} for convenience.
     */
    const MessagesClient: import("../behaviors/messages/MessagesClient.js").MessagesClientConstructor;
    /**
     * The WakeOnLan cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link WakeOnLanClient} for convenience.
     */
    const WakeOnLanClient: import("../behaviors/wake-on-lan/WakeOnLanClient.js").WakeOnLanClientConstructor;
    /**
     * The Channel cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ChannelClient} for convenience.
     */
    const ChannelClient: import("../behaviors/channel/ChannelClient.js").ChannelClientConstructor;
    /**
     * The TargetNavigator cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link TargetNavigatorClient} for convenience.
     */
    const TargetNavigatorClient: import("../behaviors/target-navigator/TargetNavigatorClient.js").TargetNavigatorClientConstructor;
    /**
     * The MediaPlayback cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link MediaPlaybackClient} for convenience.
     */
    const MediaPlaybackClient: import("../behaviors/media-playback/MediaPlaybackClient.js").MediaPlaybackClientConstructor;
    /**
     * The MediaInput cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link MediaInputClient} for convenience.
     */
    const MediaInputClient: import("../behaviors/media-input/MediaInputClient.js").MediaInputClientConstructor;
    /**
     * The LowPower cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link LowPowerClient} for convenience.
     */
    const LowPowerClient: import("../behaviors/low-power/LowPowerClient.js").LowPowerClientConstructor;
    /**
     * The AudioOutput cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link AudioOutputClient} for convenience.
     */
    const AudioOutputClient: import("../behaviors/audio-output/AudioOutputClient.js").AudioOutputClientConstructor;
    /**
     * The ApplicationLauncher cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ApplicationLauncherClient} for convenience.
     */
    const ApplicationLauncherClient: import("../behaviors/application-launcher/ApplicationLauncherClient.js").ApplicationLauncherClientConstructor;
    /**
     * The AccountLogin cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link AccountLoginClient} for convenience.
     */
    const AccountLoginClient: import("../behaviors/account-login/AccountLoginClient.js").AccountLoginClientConstructor;
    /**
     * The ContentControl cluster is optional per the Matter specification.
     *
     * We provide this alias to the default implementation {@link ContentControlClient} for convenience.
     */
    const ContentControlClient: import("../behaviors/content-control/ContentControlClient.js").ContentControlClientConstructor;
    /**
     * 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/OnOffClient.js").OnOffClientConstructor;
            KeypadInput: import("../behaviors/keypad-input/KeypadInputClient.js").KeypadInputClientConstructor;
            ContentLauncher: import("../behaviors/content-launcher/ContentLauncherClient.js").ContentLauncherClientConstructor;
            ApplicationBasic: import("../behaviors/application-basic/ApplicationBasicClient.js").ApplicationBasicClientConstructor;
        };
        optional: {
            LevelControl: import("../behaviors/level-control/LevelControlClient.js").LevelControlClientConstructor;
            Messages: import("../behaviors/messages/MessagesClient.js").MessagesClientConstructor;
            WakeOnLan: import("../behaviors/wake-on-lan/WakeOnLanClient.js").WakeOnLanClientConstructor;
            Channel: import("../behaviors/channel/ChannelClient.js").ChannelClientConstructor;
            TargetNavigator: import("../behaviors/target-navigator/TargetNavigatorClient.js").TargetNavigatorClientConstructor;
            MediaPlayback: import("../behaviors/media-playback/MediaPlaybackClient.js").MediaPlaybackClientConstructor;
            MediaInput: import("../behaviors/media-input/MediaInputClient.js").MediaInputClientConstructor;
            LowPower: import("../behaviors/low-power/LowPowerClient.js").LowPowerClientConstructor;
            AudioOutput: import("../behaviors/audio-output/AudioOutputClient.js").AudioOutputClientConstructor;
            ApplicationLauncher: import("../behaviors/application-launcher/ApplicationLauncherClient.js").ApplicationLauncherClientConstructor;
            AccountLogin: import("../behaviors/account-login/AccountLoginClient.js").AccountLoginClientConstructor;
            ContentControl: import("../behaviors/content-control/ContentControlClient.js").ContentControlClientConstructor;
        };
    };
}
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