import { LitElement } from 'lit'; /** Tamaño de celda en la rejilla de 12 columnas (desktop): sm=3, md=6, lg=8. */ export type WidgetSize = 'sm' | 'md' | 'lg'; /** Definición de un widget del catálogo. */ export interface WidgetDef { /** Id estable (clave de activación/orden/persistencia). */ id: string; /** Título legible (se muestra en el selector). */ title: string; /** Icono ionicons para el selector. */ icon?: string; /** Categoría/grupo (se muestra como subtítulo en el selector). */ category?: string; /** Tamaño de celda (def 'md'). */ size?: WidgetSize; /** Monta el cuerpo del widget DENTRO de `cell` (el host añade sus ok/ion con sus datos). */ render: (cell: HTMLElement) => void; } /** Preset = conjunto recomendado de widgets para un sector/rol. */ export interface WidgetPreset { id: string; label: string; widgets: string[]; } /** Textos del selector (default inglés; override por `.labels`). */ export interface OkWidgetBoardLabels { customize: string; close: string; presets: string; active: string; available: string; empty: string; } export declare class OkWidgetBoard extends LitElement { static styles: import("lit").CSSResult; /** Catálogo de widgets disponibles. */ widgets: WidgetDef[]; /** Presets por sector/rol (opcional). */ presets: WidgetPreset[]; /** Ids activos y ordenados. Si no se pasa, deriva del 1er preset o de todos. */ value: string[]; /** Muestra el botón ⋮ de configuración. */ editable: boolean; /** Si se da, persiste el `value` en localStorage bajo `okwb:{storageKey}`. */ storageKey: string; /** Textos del selector (parcial; lo no pasado cae al default inglés). */ labels: Partial; private initialized; private modal?; private reorderEl?; private availEl?; private get t(); private get byId(); private get active(); willUpdate(): void; private persist; /** Cambia el estado activo, persiste, re-renderiza el selector y emite `ok-change`. */ private setValue; render(): import("lit-html").TemplateResult<1>; updated(): void; private openConfig; private buildModal; /** Repinta las listas de activos/disponibles del modal según `value`. */ private refreshModal; disconnectedCallback(): void; } declare global { interface HTMLElementTagNameMap { 'ok-widget-board': OkWidgetBoard; } }