import { LitElement } from "lit"; import { VideoPreload } from "./video.types.js"; declare const NrVideoElement_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin.js").LightDomContent) & typeof LitElement; /** * Video player component with poster, autoplay, loop, fullscreen preview, and HLS streaming support. * * When the `src` is an HLS manifest (.m3u8), the component automatically uses hls.js for * adaptive bitrate streaming. Safari uses native HLS support. Falls back to a direct * for non-HLS sources. * * @csspart container - The root wrapper div of the video player * @csspart video - The native video element * @csspart preview-button - The button that opens the fullscreen preview modal * @csspart preview-modal - The fullscreen preview overlay * @csspart preview-close - The close button inside the preview modal * @csspart error-message - The error state container shown when the video fails to load */ export declare class NrVideoElement extends NrVideoElement_base { static styles: import("lit").CSSResult; static useShadowDom: boolean; src: string; poster?: string; width: string; height: string; autoplay: boolean; loop: boolean; muted: boolean; controls: boolean; preload: VideoPreload; previewable: boolean; block: boolean; private showPreview; private hasError; private readonly defaultFallback; private hlsInstance; private previewHlsInstance; private get isHLS(); disconnectedCallback(): void; updated(changed: Map): void; private destroyHls; private destroyPreviewHls; private attachHlsIfNeeded; private handleError; private handlePlay; private handlePause; private handleEnded; private showPreviewModal; private closePreviewModal; private attachPreviewHls; firstUpdated(): void; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'nr-video': NrVideoElement; } } export {}; //# sourceMappingURL=video.component.d.ts.map