/**
 * Configuración acotada de `val-notification-preferences-view` (object-first).
 * Tres ejes de variación permitidos — **NADA de slots arbitrarios** (ADR-021:
 * una vista full-feature no abre slots; si falta algo, se promueve un nuevo
 * punto de extensión):
 *
 *  - **secciones / flags** — gatean el render de bloques opcionales (panel de
 *    detalles técnicos expandible).
 *  - **branding** — `i18nNamespace` para resolver los textos (default
 *    `'Settings.Notifications'`).
 *  - **comportamiento / callbacks** — `onPushEnabled` / `onPushDisabled`
 *    (telemetría tras activar/desactivar push).
 */
export interface NotificationPreferencesViewConfig {
    /**
     * Muestra el panel "Ver detalles técnicos" (token FCM, permiso del navegador,
     * soporte). Se oculta de todos modos en los estados `unsupported` y
     * `needs-install`. Default `true`.
     */
    showDetails?: boolean;
    /**
     * Namespace i18n con el que la vista resuelve sus textos.
     * Default `'Settings.Notifications'`.
     */
    i18nNamespace?: string;
    /**
     * Hook de telemetría tras activar push correctamente (permiso concedido +
     * token registrado + master en `true`).
     */
    onPushEnabled?: () => void;
    /**
     * Hook de telemetría tras desactivar push (device desregistrado + master en
     * `false`).
     */
    onPushDisabled?: () => void;
}
