import { LitElement } from 'lit'; export interface VideoSource { src: string; type: string; quality?: string; } export interface VideoTrack { src: string; kind: 'subtitles' | 'captions' | 'descriptions'; srclang: string; label: string; default?: boolean; } /** * Video Player Component * * Custom video player with full controls and features. * * @element ui-video-player * * @fires play - Dispatched when video starts playing * @fires pause - Dispatched when video is paused * @fires ended - Dispatched when video ends * @fires timeupdate - Dispatched during playback * @fires volumechange - Dispatched when volume changes * @fires qualitychange - Dispatched when quality changes * * @csspart video - The video element * @csspart controls - The controls container */ export declare class UIVideoPlayer extends LitElement { static styles: import("lit").CSSResult; /** * Video sources */ sources: VideoSource[]; /** * Video poster image */ poster?: string; /** * Subtitle/caption tracks */ tracks: VideoTrack[]; /** * Auto-play video */ autoPlay: boolean; /** * Loop video */ loop: boolean; /** * Muted by default */ muted: boolean; /** * Show controls */ controls: boolean; /** * Playback speeds available */ playbackSpeeds: number[]; /** * ARIA label for the video player */ ariaLabel: string; /** * ID of element describing the video */ ariaDescribedby?: string; private video; private isPlaying; private currentTime; private duration; private volume; private isMuted; private buffered; private isLoading; private hasError; private currentQuality?; private currentSpeed; private showSpeedMenu; private showQualityMenu; private showCaptions; private playerId; private descriptionId; private progressId; connectedCallback(): void; disconnectedCallback(): void; firstUpdated(): void; private togglePlay; private handlePlay; private handlePause; private handleTimeUpdate; private handleProgress; private handleLoadStart; private handleLoadedData; private handleError; private handleEnded; private seek; private toggleMute; private changeVolume; private changeSpeed; private changeQuality; private toggleFullscreen; private handleKeyDown; private togglePictureInPicture; private formatTime; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'ui-video-player': UIVideoPlayer; } } //# sourceMappingURL=video-player.d.ts.map