import { Routes } from '@angular/router'; import { ProfileViewConfig } from '../profile-view/types'; import { PreferencesViewConfig } from '../preferences-view/types'; import { SettingsHubConfig } from './types'; /** * Opciones de `provideValtechSettingsRoutes`. Agrupa el HUB (`val-settings-hub`) * con las vistas ya promovidas (Perfil + Preferencias) bajo un único `path` * base, y deja `extraRoutes` para las secciones de la app aún no promovidas * (security, account, notifications, organization, …). */ export interface ValtechSettingsRoutesOptions { /** Path base del bloque de settings. Default `'settings'`. */ basePath?: string; /** Config del HUB (pasada por route data `settingsHubConfig`). */ hubConfig?: SettingsHubConfig; /** Config de la vista Perfil (pass-through a `provideValtechProfileRoutes`). */ profileConfig?: ProfileViewConfig; /** Config de la vista Preferencias (pass-through a `provideValtechPreferencesRoutes`). */ preferencesConfig?: PreferencesViewConfig; /** Monta la ruta `profile`. Default `true`. */ includeProfile?: boolean; /** Monta la ruta de preferencias. Default `true`. */ includePreferences?: boolean; /** Path de la vista Preferencias. Default `'preferences'`. */ preferencesPath?: string; /** Rutas extra a sumar como hijas (secciones de la app no promovidas). */ extraRoutes?: Routes; } /** * Helper para montar el bloque completo de Settings en una app del factory: el * HUB de navegación (`val-settings-hub`) en el index + las vistas promovidas * (Perfil, Preferencias) + las rutas propias de la app (`extraRoutes`). * * Pensado para apps nuevas (greenfield) que adoptan el set entero. showcase NO * lo usa hoy (preserva su `settings.routes.ts` por la semántica de sus muchas * secciones no promovidas — ver guía de promoción), pero el provider debe * existir y compilar para el resto de apps. * * @example * ```ts * // app.routes.ts * import { provideValtechSettingsRoutes } from 'valtech-components'; * * export const routes: Routes = [ * { * path: 'app', * children: [ * ...provideValtechSettingsRoutes({ * hubConfig: { onLogout: () => auth.logoutWithConfirmation() }, * extraRoutes: [ * { path: 'security', loadComponent: () => ... }, * ], * }), * ], * }, * ]; * ``` */ export declare function provideValtechSettingsRoutes(opts?: ValtechSettingsRoutesOptions): Routes;