import { LitElement } from 'lit'; /** Carpeta del buzón (Bandeja, Enviados, Borradores…). */ export interface OkMailFolder { /** Id estable de la carpeta. */ id: string; /** Etiqueta visible. */ label: string; /** Nombre de un ion-icon opcional. */ icon?: string; /** Nº de mensajes no leídos (badge). */ count?: number; } /** Mensaje de correo. */ export interface OkMailMessage { /** Id estable del mensaje. */ id: string; /** Id de la carpeta a la que pertenece. */ folderId: string; /** Remitente. */ from: { name: string; email: string; }; /** Destinatarios (correos). */ to?: string[]; /** Asunto. */ subject: string; /** Vista previa (1 línea, atenuada). */ preview?: string; /** Cuerpo completo (texto). */ body?: string; /** Fecha ISO. */ date: string; /** ¿Leído? (si no, se resalta). */ read?: boolean; /** ¿Destacado con estrella? */ starred?: boolean; /** Adjuntos. */ attachments?: Array<{ name: string; size?: number; }>; } /** Textos humanos de ok-mail (i18n; default inglés, override vía prop `labels`). */ export interface OkMailLabels { /** Botón "Redactar". */ compose: string; /** Placeholder del buscador. */ searchPlaceholder: string; /** aria-label del punto de no leído. */ unread: string; /** aria-label para destacar un mensaje. */ star: string; /** aria-label para quitar el destacado de un mensaje. */ unstar: string; /** Estado vacío: lista sin mensajes. */ noMessages: string; /** Estado vacío: ningún mensaje seleccionado. */ selectMessage: string; /** aria-label del botón atrás (móvil). */ back: string; /** aria-label de Responder. */ reply: string; /** aria-label de Reenviar. */ forward: string; /** aria-label de Archivar. */ archive: string; /** aria-label de Eliminar. */ delete: string; /** Etiqueta "Para:" en la cabecera de lectura. */ to: string; } export declare class OkMail extends LitElement { static styles: import("lit").CSSResult; /** Carpetas del buzón. */ folders: OkMailFolder[]; /** Mensajes (de todas las carpetas; se filtran por `activeFolder`). */ messages: OkMailMessage[]; /** Id de la carpeta activa. */ activeFolder: string; /** Id del mensaje seleccionado (panel de lectura). */ activeMessage: string; /** Muestra el buscador en la lista de mensajes. */ searchable: boolean; /** Overrides de textos humanos (i18n). Se fusionan sobre los defaults en inglés. */ labels: Partial; /** Textos efectivos (defaults inglés + overrides). */ private get t(); private q; private emit; /** Vista móvil derivada del estado activo: las tabs están siempre arriba, así que el cuerpo * solo alterna entre la lista y la lectura (message si hay mensaje seleccionado, si no list). */ private get mobileView(); updated(): void; /** Iniciales de un nombre para el avatar (p.ej. "Ana Pérez" → "AP"). */ private initials; /** Fecha en formato corto con Intl (hora si es hoy, día/mes si es este año, si no fecha completa). */ private fmtDate; /** Tamaño legible de un adjunto (B/KB/MB). */ private fmtSize; /** Mensajes de la carpeta activa filtrados por el buscador (preview/asunto/remitente). */ private get folderMessages(); private onFolderSelect; private onSearch; private onMessageSelect; private onStar; private renderTopbar; private renderTabs; private renderList; private renderReader; render(): unknown; } declare global { interface HTMLElementTagNameMap { 'ok-mail': OkMail; } }