import { ApplicationVerifier, ConfirmationResult, User as FirebaseUser } from "firebase/auth"; import { AuthDelegate } from "../../models"; /** * @category Firebase */ export declare type FirebaseSignInProvider = "password" | "phone" | "anonymous" | "google.com" | "facebook.com" | "github.com" | "twitter.com" | "microsoft.com" | "apple.com"; /** * @category Firebase */ export declare type FirebaseSignInOption = { provider: FirebaseSignInProvider; scopes?: string[]; customParameters?: Record; }; /** * @category Firebase */ export declare type FirebaseAuthDelegate = AuthDelegate & { authLoading: boolean; confirmationResult: void | ConfirmationResult; googleLogin: () => void; anonymousLogin: () => void; appleLogin: () => void; facebookLogin: () => void; githubLogin: () => void; microsoftLogin: () => void; twitterLogin: () => void; emailPasswordLogin: (email: string, password: string) => void; fetchSignInMethodsForEmail: (email: string) => Promise; createUserWithEmailAndPassword: (email: string, password: string) => void; phoneLogin: (phone: string, applicationVerifier: ApplicationVerifier) => void; /** * Has the user skipped the login process */ loginSkipped?: boolean; /** * Skip login */ skipLogin?: () => void; };