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[];
