/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { Identity } from "#general";
/**
 * This defines conformance to the Video Remote Control device type.
 *
 * A Video Remote Control is a client that can control a Video Player, for example, a traditional universal remote
 * control.
 *
 * @see {@link MatterSpecification.v142.Device} § 10.7
 */
export interface VideoRemoteControlDevice extends Identity<typeof VideoRemoteControlDeviceDefinition> {
}
export declare namespace VideoRemoteControlRequirements {
    /**
     * 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 MediaPlayback cluster is required by 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 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 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 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 ContentLauncher cluster is optional per 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 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;
    /**
     * 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;
            MediaPlayback: import("../behaviors/media-playback/MediaPlaybackBehavior.js").MediaPlaybackBehaviorConstructor;
            KeypadInput: import("../behaviors/keypad-input/KeypadInputBehavior.js").KeypadInputBehaviorConstructor;
        };
        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;
            MediaInput: import("../behaviors/media-input/MediaInputBehavior.js").MediaInputBehaviorConstructor;
            LowPower: import("../behaviors/low-power/LowPowerBehavior.js").LowPowerBehaviorConstructor;
            ContentLauncher: import("../behaviors/content-launcher/ContentLauncherBehavior.js").ContentLauncherBehaviorConstructor;
            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;
        };
    };
}
export declare const VideoRemoteControlDeviceDefinition: MutableEndpoint.With<import("../index.js").EndpointType.For<{
    readonly name: "VideoRemoteControl";
    readonly deviceType: 42;
    readonly deviceRevision: 2;
    readonly requirements: typeof VideoRemoteControlRequirements;
    readonly behaviors: {};
}>, {}>;
export declare const VideoRemoteControlDevice: VideoRemoteControlDevice;
//# sourceMappingURL=video-remote-control.d.ts.map