import { ModuleAction, WindowToolsMF } from '@m4l/components'; import { ReactNode } from 'react'; export interface ModuleLayoutContextStateProps { moduleId: string; } export interface ModuleLayoutProviderProps extends Omit { children: ReactNode; /** * "moduleActions" acciones del módulo */ moduleActions?: ModuleAction[]; /** * "storeId" identificador del store */ storeId?: string; /** * "storeDevtoolsEnabled" determina si se debe usar devtools para el store */ storeDevtoolsEnabled?: boolean; /** * "version" versión del módulo */ version: string; /** * "buildTime" fecha de compilación del módulo */ buildTime?: string; } export interface ModuleLayoutContextProps extends ModuleLayoutContextStateProps { setDynamicActions: (dynamicActions: ModuleAction[]) => void; } export interface ModuleLayoutState extends Pick { /** * "dynamicActions" Acciones dinámicas del módulo */ dynamicActions: ModuleAction[]; /** * "finalModuleActions" Acciones con moduleActions y dynamicActions */ finalModuleActions: ModuleAction[]; /** * "moduleActions" Acciones iniciales del módulo */ moduleActions?: ModuleAction[]; /** * "configOptions" Propiedades de configuración del módulo */ configOptions: ModuleLayoutContextStateProps; /** * "version" Versión del módulo */ version: string; /** * "buildTime" fecha de compilación del módulo */ buildTime?: string; } export interface ModuleLayoutStateWithActions extends ModuleLayoutState { /** * Inicializa el store de ModuleLayout. */ init: () => void; /** * Actualiza las acciones dinámicas del módulo. */ updateDynamicActions: (dynamicActions: ModuleAction[]) => void; /** * Actualiza module actions en el store cuando moduleActions cambia. */ updateModuleActions: (moduleActions: ModuleAction[]) => void; } export type InitialModuleLayoutStoreProps = Pick & Pick & ModuleLayoutContextStateProps; //# sourceMappingURL=types.d.ts.map