@propelauth/react
Version:
A React library for managing authentication, backed by PropelAuth
47 lines (46 loc) • 1.45 kB
TypeScript
import { AccessHelper, OrgHelper, User, UserClass } from "@propelauth/javascript";
import { Tokens } from "../AuthContext";
export declare type UseAuthInfoLoading = {
loading: true;
isLoggedIn: undefined;
accessToken: undefined;
user: undefined;
userClass: undefined;
orgHelper: undefined;
accessHelper: undefined;
isImpersonating: undefined;
impersonatorUserId: undefined;
refreshAuthInfo: () => Promise<void>;
tokens: Tokens;
accessTokenExpiresAtSeconds: undefined;
};
export declare type UseAuthInfoLoggedInProps = {
loading: false;
isLoggedIn: true;
accessToken: string;
user: User;
userClass: UserClass;
orgHelper: OrgHelper;
accessHelper: AccessHelper;
isImpersonating: boolean;
impersonatorUserId?: string;
refreshAuthInfo: () => Promise<void>;
tokens: Tokens;
accessTokenExpiresAtSeconds: number;
};
export declare type UseAuthInfoNotLoggedInProps = {
loading: false;
isLoggedIn: false;
accessToken: null;
user: null;
userClass: null;
orgHelper: null;
accessHelper: null;
isImpersonating: false;
impersonatorUserId: undefined;
refreshAuthInfo: () => Promise<void>;
tokens: Tokens;
accessTokenExpiresAtSeconds: undefined;
};
export declare type UseAuthInfoProps = UseAuthInfoLoading | UseAuthInfoLoggedInProps | UseAuthInfoNotLoggedInProps;
export declare function useAuthInfo(): UseAuthInfoProps;