export declare const useAuthString = "export const useAuth = () => {\n const [result, setResult] = React.useState({\n error: undefined,\n isLoading: true,\n user: undefined,\n });\n\n const fetchCurrentUserAttributes = React.useCallback(async () => {\n setResult((prevResult) => ({ ...prevResult, isLoading: true }));\n\n try {\n const attributes = await fetchUserAttributes();\n setResult({ user: {attributes}, isLoading: false });\n } catch (error) {\n setResult({ error, isLoading: false });\n }\n }, []);\n\n const handleAuth = React.useCallback(\n ({ payload }) => {\n switch (payload.event) {\n case 'signedIn':\n case 'signUp':\n case 'tokenRefresh':\n case 'autoSignIn': {\n fetchCurrentUserAttributes();\n break;\n }\n case 'signedOut': {\n setResult({ user: undefined, isLoading: false });\n break;\n }\n\n case 'tokenRefresh_failure':\n case 'signIn_failure': {\n setResult({ error: payload.data, isLoading: false });\n break;\n }\n case 'autoSignIn_failure': {\n setResult({ error: new Error(payload.message), isLoading: false });\n break;\n }\n\n default: {\n break;\n }\n }\n },\n [fetchCurrentUserAttributes]\n );\n\n React.useEffect(() => {\n const unsubscribe = Hub.listen('auth', handleAuth, 'useAuth');\n fetchCurrentUserAttributes();\n\n return unsubscribe;\n }, [handleAuth, fetchCurrentUserAttributes]);\n\n return {\n ...result,\n };\n};";