react-playmakers
Version:
React wrapper providing utilities for PlayMakers integration
35 lines (34 loc) • 1.66 kB
TypeScript
import { ConfirmSignInOutput, SignInOutput } from "aws-amplify/auth";
import React from "react";
import { Api } from "./Api";
import { SelfUser, UserCreateParentResponse, UserUpdateAvatarResponse } from "./types";
import { ProvidersType } from "./utils/providers";
interface AuthContextType {
FederatedListener: React.FC;
userData: SelfUser | null;
providerData: ProvidersType;
isLoggedIn: boolean;
signOut: () => Promise<void>;
signIn: (username: string, password: string) => Promise<SignInOutput>;
signInWithRedirect: (provider: string) => Promise<void>;
redirectTwitterLogin: () => void;
linkFederated: Api["linkFederated"];
unlinkFederated: Api["unlinkFederated"];
getSteamProfile: Api["getSteamProfile"];
confirmSignIn: (newPassword: string) => Promise<ConfirmSignInOutput>;
resendConfirmationCode: (email: string, username: string) => Promise<void>;
signUp: Api["signUp"];
signUpConfirmation: Api["signUpConfirmation"];
sendForgotPassword: Api["sendPasswordResetCode"];
passwordReset: Api["passwordReset"];
updateUserAvatar: (avatar: File) => Promise<UserUpdateAvatarResponse>;
createUserParent: (preferredUsername: string, provider: string) => Promise<UserCreateParentResponse>;
refreshLoggedInUser: (existingUser?: SelfUser) => Promise<SelfUser | void>;
getUserMetadata: () => Promise<any>;
}
interface AuthProviderProps {
children: React.ReactNode;
}
export declare function AuthProvider({ children }: AuthProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useAuth(): AuthContextType;
export {};