import type { WidgetDefinition, UserWidgetPreference, DashboardPeriod, DashboardFetcher } from '../types'; interface UseWidgetEngineProps { userId: string; userRoles: string[]; fetcher: DashboardFetcher; /** * Si el usuario administra el catalogo. **Solo se usa como respaldo** cuando el backend no manda * `permissions` en el DTO del widget. Ver `resolveWidgetPermissions`. */ isAdmin?: boolean; } /** * Motor central de orquestación. * Obtiene el Catálogo de Widgets disponibles para el usuario y el Layout guardado. * Gestiona el estado global de la vista (periodo de fecha actual y modo de edición). */ export declare const useWidgetEngine: ({ userId, userRoles, fetcher, isAdmin }: UseWidgetEngineProps) => { catalog: WidgetDefinition[]; initialLayout: UserWidgetPreference[]; isLoading: boolean; initError: string | null; isEditMode: boolean; toggleEditMode: () => void; period: DashboardPeriod; setPeriod: (newPeriod: DashboardPeriod) => void; getWidgetDefinition: (widgetId: string) => WidgetDefinition | undefined; addToCatalog: (widget: WidgetDefinition) => void; updateInCatalog: (updated: WidgetDefinition) => void; removeFromCatalog: (widgetId: string) => void; }; export {}; //# sourceMappingURL=useWidgetEngine.d.ts.map