import { PropertyValues } from 'lit'; import { MediaRemoteControl } from '../../media'; import { SliderDragEndEvent, SliderDragStartEvent, SliderElement, SliderValueChangeEvent } from '../slider'; export declare const TIME_SLIDER_ELEMENT_TAG_NAME = "vds-time-slider"; /** * A slider that lets the user control the current media playback time. * * 💡 The following attributes are updated for your styling needs: * * - `media-can-play`: Applied when media can begin playback. * * @tagname vds-time-slider * @example * ```html * * ``` * @example * ```css * vds-time-slider { * --vds-slider-track-height: 2.5px; * --vds-slider-thumb-width: 16px; * --vds-slider-thumb-height: 16px; * --vds-slider-active-color: #ff2a5d; * } * ``` */ export declare class TimeSliderElement extends SliderElement { label: string; shiftKeyMultiplier: number; /** * Represents the current % of media playback. * * @internal */ value: number; /** @internal */ min: number; /** @internal */ max: number; /** @internal */ valueMin: string; /** @internal */ valueNow: string; /** @internal */ valueMax: string; protected _step: number; /** * A number that specifies the granularity that the slider value must adhere to in seconds. * For example, a step with the value `1` indicates a granularity of 1 second increments. * * @default 0.25 */ get step(): number; set step(newStep: number); protected _keyboardStep: number; /** * ♿ **ARIA:** A number that specifies the number of seconds to step when interacting * with the slider via keyboard. * * @default 5 */ get keyboardStep(): number; set keyboardStep(newStep: number); /** * ♿ **ARIA:** Human-readable text alternative for the current slider value. If you pass * in a string containing `{currentTime}` or `{duration}` templates they'll be replaced with * the spoken form such as `1 hour 30 minutes`. */ valueText: string; /** * Whether the scrubber should request playback to pause while the user is dragging the * thumb. If the media was playing before the dragging starts, the state will be restored by * dispatching a user play request once the dragging ends. */ pauseWhileDragging: boolean; /** * The amount of milliseconds to throttle media seeking request events being dispatched. */ seekingRequestThrottle: number; protected _mediaCurrentTime: number; protected _mediaDuration: number; protected _mediaPaused: boolean; /** * The current media time. */ get currentTime(): number; protected update(changedProperties: PropertyValues): void; disconnectedCallback(): void; protected _getValueNow(): string; protected _getValueMax(): string; protected _getValueText(): string; protected _handleSliderDragStart(event: SliderDragStartEvent): void; protected readonly _mediaRemote: MediaRemoteControl; protected _handleSliderValueChange(event: SliderValueChangeEvent): void; protected _handleSliderDragEnd(event: SliderDragEndEvent): void; protected readonly _dispatchSeekingRequest: ((event: Event) => void) & { cancel: () => void; flush: () => void; }; protected _updateValueToCurrentTime(): void; protected _handleCanPlayContextUpdate(canPlay: boolean): void; protected _wasPlayingBeforeDragStart: boolean; protected _togglePlaybackWhileDragging(event: Event): void; }