analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
55 lines • 2.1 kB
TypeScript
/**
* Interface para as configurações do hook useAppContent
*/
interface UseAppContentConfig {
/** API instance para configuração */
api: {
get: (endpoint: string, config: unknown) => Promise<unknown>;
};
/** ID da instituição obtido externamente */
getInstitutionId: string | null | undefined;
/** Função de inicialização obtida externamente */
initialize: (institutionId: string) => void;
/** Estado de inicialização obtido externamente */
initialized: boolean;
/** Endpoint para autenticação via URL */
endpoint?: string;
/** Número máximo de tentativas em caso de erro */
maxRetries?: number;
/** Delay entre tentativas em ms */
retryDelay?: number;
/** Callback para limpeza de parâmetros da URL */
onClearParamsFromURL?: () => void;
/** Callback para tratamento de erro */
onError?: (error: unknown) => void;
/** Callback para navegação quando página não encontrada */
onNotFoundNavigation?: () => void;
}
/**
* Hook que encapsula toda a lógica do componente AppContent
* Centraliza a configuração de autenticação, tema, navegação e inicialização
*
* @param {UseAppContentConfig} config - Configurações do hook
* @returns {object} Funções e estado necessários para o AppContent
*/
export declare function useAppContent(config: UseAppContentConfig): {
handleNotFoundNavigation: () => void;
urlAuthConfig: {
setTokens: (tokens: import("../store/authStore").AuthTokens | null) => void;
setSessionInfo: (sessionInfo: import("../store/authStore").SessionInfo | null) => void;
setSelectedProfile: (profile: {
id: string;
}) => void;
api: {
get: (endpoint: string, config: unknown) => Promise<unknown>;
};
endpoint: string;
clearParamsFromURL: () => void;
maxRetries: number;
retryDelay: number;
onError: (error: unknown) => void;
};
institutionIdToUse: string | null | undefined;
};
export {};
//# sourceMappingURL=useAppContent.d.ts.map