import { LitElement } from 'lit'; export type OkLightboxItemType = 'img' | 'video'; export interface OkLightboxItem { /** URL del medio (imagen o vídeo). */ src: string; /** Texto alternativo / nombre de fichero mostrado en la cabecera. */ alt?: string; /** Tipo de medio; por defecto `img`. */ type?: OkLightboxItemType; /** URL opcional para la miniatura del filmstrip (si difiere de `src`). */ thumb?: string; } export interface OkLightboxLabels { /** aria-label del botón anterior. */ prev: string; /** aria-label del botón siguiente. */ next: string; /** aria-label del botón cerrar. */ close: string; /** aria-label del botón descargar. */ download: string; /** aria-label del botón pantalla completa. */ fullscreen: string; } export declare class OkLightbox extends LitElement { static styles: import("lit").CSSResult; /** Medios a mostrar. */ items: OkLightboxItem[]; /** Índice activo (0-based). */ index: number; /** Muestra/oculta el visor. */ open: boolean; /** Textos traducibles (merge sobre los defaults en inglés). */ labels: Partial; private shown; private get t(); private portalRoot; disconnectedCallback(): void; private readonly onKeydown; private bind; private unbind; private ensurePortal; protected updated(changed: Map): void; private get safeIndex(); private prefersReducedMotion; private go; private setIndex; private requestClose; private fileName; render(): unknown; private overlayTemplate; private renderThumb; private toggleFullscreen; } declare global { interface HTMLElementTagNameMap { 'ok-lightbox': OkLightbox; } }