import { ActionCardMetadata } from '../../molecules/action-card/types'; /** * Modelo de una sección del HUB de settings. Cada sección se proyecta a un * `val-action-card` (vía `buildSettingsCards`). El catálogo default * (`SETTINGS_SECTIONS_CATALOG`) cubre las secciones estándar del factory; * el consumer puede filtrar (`exclude`), reordenar (`order`), reescribir las * rutas base (`basePath`) o sumar las suyas (`include`). */ export interface SettingsSection { /** Identificador estable de la sección (dispatch de click + filtrado). */ token: string; /** i18n key del título de la card (resuelto contra el namespace de labels). */ titleKey: string; /** i18n key de la descripción (opcional — logout no la tiene). */ descKey?: string; /** Ionicon de la card. */ ionicon: string; /** * Ruta de navegación. Las secciones bajo `/app/settings` se reescriben si el * consumer pasa `basePath`. `action-logout` no tiene ruta (callback). */ routerLink?: string; /** Muestra el chevron a la derecha. Default `true`. */ showChevron?: boolean; /** Card con sombra. Default `true`. */ shadowed?: boolean; } /** * Catálogo default de secciones del HUB de settings (8 entradas). `logout` va * incluida pero sin `routerLink` (la maneja un callback). Mismo set, mismos * tokens/iconos/rutas que el builder original de showcase * (`shared/settings-action-cards.ts`) que esta promoción reemplaza. */ export declare const SETTINGS_SECTIONS_CATALOG: SettingsSection[]; /** Opciones del builder `buildSettingsCards`. */ export interface SettingsCardsOptions { /** Oculta secciones por token (típicamente la entrada de la página actual). */ exclude?: string[]; /** Secciones extra a sumar al catálogo (las de la app aún no promovidas). */ include?: SettingsSection[]; /** Orden explícito por token. Las no listadas quedan al final, en su orden. */ order?: string[]; /** Incluye la card de logout (sin ruta). Default `false`. */ includeLogout?: boolean; /** * Reescribe el prefijo `/app/settings` de las rutas del catálogo. Ej. * `basePath: '/app/config'` → `/app/config/general`. Si se omite, las rutas * quedan tal cual el catálogo. */ basePath?: string; } /** * Construye el grid de cards de navegación del HUB de settings (versión * promovida del `buildSettingsActionCards` de showcase). Usa el catálogo * default + las `include` del consumer, filtra `exclude`, gatea logout por * `includeLogout`, reordena por `order` y reescribe las rutas por `basePath`. * * El `t` resuelve los `titleKey`/`descKey` contra el namespace de labels * (default del componente: `Dashboard`). `logout` NO tiene `routerLink` — el * consumer maneja el flujo de cierre de sesión por token / callback. */ export declare function buildSettingsCards(t: (key: string) => string, options?: SettingsCardsOptions): ActionCardMetadata[];