import { LitElement } from 'lit'; import { type AudioPlayerState, type PlaylistTrack } from '../../utils/audio-context.js'; import { AudioPlayerController } from '../../controllers/audio-player-controller.js'; /** * A headless WebComponent wrapper around AudioPlayerController that provides * audioPlayerContext down its DOM subtree via @lit/context and handles slots. */ export declare class UiAudioProvider extends LitElement { src: string; items: PlaylistTrack[]; autoAdvance: boolean; autoplay: boolean; loop: boolean; controller: AudioPlayerController; constructor(); get state(): AudioPlayerState; get _audioEl(): HTMLAudioElement; get audioEl(): HTMLAudioElement; static styles: import("lit").CSSResult; clearTextCache(): void; willUpdate(changed: Map): void; render(): import("lit-html").TemplateResult<1>; play(): void; pause(): void; seek(time: number): void; reset(): void; next(): void; previous(): void; select(index: number): void; } export interface AudioProviderElement extends HTMLElement { src: string; items: PlaylistTrack[]; autoAdvance: boolean; autoplay: boolean; state: AudioPlayerState; play(): void; pause(): void; next(): void; previous(): void; select(index: number): void; clearTextCache(): void; } declare global { interface HTMLElementTagNameMap { 'ui-audio-provider': UiAudioProvider; } }