import { Auth, User, UserCredential } from 'firebase/auth'; import { FC } from 'react'; export declare const useFirebase: () => FirebaseContextValue; interface FirebaseContextValue { projectName: string; auth: Auth; handleSignInWithOtherProvider: (platform: 'google' | 'github' | 'facebook') => Promise; handleSignInWithGoogle: () => Promise; handleSignInWithGithub: () => Promise; handleSignInWithFacebook: () => Promise; signUpWithEmailAndPassword: (email: string, password: string) => Promise; logInWithEmailAndPassword: (email: string, password: string) => Promise; sendResetPasswordEmail: (email: string) => Promise; sendVerificationEmail: () => Promise; handleSignOut: () => void; updateUserProfile: (userInfo: Partial) => Promise; updateCurrentUserPassword: (newPassword: string) => Promise; } interface FirebaseConfigProps { apiKey: string; authDomain: string; projectId: string; projectName: string; storageBucket: string; messagingSenderId: string; appId: string; measurementId: string; } interface FirebaseProviderProps { config: FirebaseConfigProps; children: React.ReactNode; tokenVerification?: (idToken: string) => Promise; onAuthStateChanged?: (params: any) => void; } export declare const FirebaseProvider: FC; export {};