UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

38 lines 1.85 kB
import type { AxiosInstance } from 'axios'; import { type ModulesConfig } from '../types/modulesConfig'; /** * Interface defining the modules state */ export interface ModulesState { modules: ModulesConfig; loading: boolean; ownerInstitutionId: string | null; ownerProfileType: string | null; /** * Fetch modules configuration from the API * @param institutionId - The institution UUID * @param api - Axios instance for API calls * @param profileType - Optional profile type (STUDENT, TEACHER, UNIT_MANAGER, etc.) */ fetchModules: (institutionId: string, api: AxiosInstance, profileType?: string) => Promise<void>; clearModules: () => void; } /** * Zustand store for managing modules visibility with persistence * Works with all frontends (student, professor, gestor) * Supports profile-specific feature flags */ export declare const useModulesStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<ModulesState>, "setState" | "persist"> & { setState(partial: ModulesState | Partial<ModulesState> | ((state: ModulesState) => ModulesState | Partial<ModulesState>), replace?: false | undefined): unknown; setState(state: ModulesState | ((state: ModulesState) => ModulesState), replace: true): unknown; persist: { setOptions: (options: Partial<import("zustand/middleware").PersistOptions<ModulesState, unknown, unknown>>) => void; clearStorage: () => void; rehydrate: () => Promise<void> | void; hasHydrated: () => boolean; onHydrate: (fn: (state: ModulesState) => void) => () => void; onFinishHydration: (fn: (state: ModulesState) => void) => () => void; getOptions: () => Partial<import("zustand/middleware").PersistOptions<ModulesState, unknown, unknown>>; }; }>; //# sourceMappingURL=modulesStore.d.ts.map