import { CSSResultGroup, LitElement, TemplateResult } from 'lit'; import { ElementLogger } from '../../base/logger'; import { ManagedControls, ViewType } from '../../media'; export declare const CONTROLS_ELEMENT_TAG_NAME = "vds-controls"; /** * Container for holding individual media controls. * * 💡 The following attributes are updated for your styling needs: * * - `hidden`: Applied when the controls should be hidden and not available to the user. * - `idle`: Applied when there is no user activity for a set period, `hidden` should have greater priority. * - `media-autoplay-error`: Applied when media autoplay fails. It can be used to show recovery UI * if controls are hidden. * - `media-can-play`: Applied when media can begin playback. * - `media-paused`: Applied when media is paused. * - `media-view-type`: Applied with the media view type such as `audio` or `video`. * * @tagname vds-controls * @slot Used to pass in controls. * @example * ```html * * * * * * ``` * @example * ```css * vds-controls { * opacity: 1; * transition: opacity 0.3s ease-out; * } * * vds-controls[idle] { * opacity: 0; * } * ``` */ export declare class ControlsElement extends LitElement { static get styles(): CSSResultGroup; protected readonly _logger: ElementLogger; protected readonly _managedControls: ManagedControls; protected render(): TemplateResult; protected _handleCustomControlsContextUpdate(showing: boolean): void; protected _handleIdleContextUpdate(idle: boolean): void; protected _handleMediaAutoplayErrorContextUpdate(error?: Error): void; protected _handleCanPlayContextUpdate(canPlay: boolean): void; protected _handlePausedContextUpdate(paused: boolean): void; protected _handleViewTypeContextUpdate(viewType: ViewType): void; }