import { AxiosRequestConfig } from 'axios'; import { PasswordValidationInput, User } from '../api/types'; export interface UserStoreValue { user: U | null; } export declare enum LogoutReason { NONE = 0, USER = 1, AUTH = 2 } export interface AuthFunctionContextValue { apiUrl: string; csrf: string; axiosRequestConfig: AxiosRequestConfig; loading: boolean; login: (userIdentifier: string, password: string) => Promise; loggedIn: boolean; logout: (reason?: LogoutReason) => Promise; updateUserInfo: () => Promise; justLoggedOut: LogoutReason; activateEmailAddress: (userIdentifier: string, token: string) => Promise; validatePassword: (input: PasswordValidationInput) => Promise; requestPasswordReset: (email: string) => Promise; resetPassword: (ident: string, token: string, password: string) => Promise; register: (username: string, email: string, password: string) => Promise; }