import { Auth, Dependencies, MultiFactorError, NextOrObserver, User } from 'firebase/auth'; import { DefaultReactFirebaseServerHooksOptions } from './ServerContext'; import { DefaultConfirmPasswordResetPayload, DefaultConnectAuthEmulatorOptions, DefaultOptionsOnlyAuth, DefaultSendPasswordResetEmailPayload, DefaultSendSignInLinkToEmailPayload } from './types'; /** * @description get firebase auth instance for your react app * @author Achmad Kurnianto * @date 01/08/2024 * @export * @template Options * @param {Options} [options] * @returns {*} {Auth} */ export declare function useFirebaseAuth(options?: Options): Auth; /** * @description type data used in {@link useInitializeAuth} method * @author Achmad Kurnianto * @date 01/08/2024 * @export * @interface DefaultUseInitializeAuthOptions * @extends {DefaultReactFirebaseServerHooksOptions} */ export interface DefaultUseInitializeAuthOptions extends DefaultReactFirebaseServerHooksOptions { /** * @description second parameter of {@link initializeAuth} method * @author Achmad Kurnianto * @date 01/08/2024 * @type {Dependencies} * @memberof DefaultUseInitializeAuthOptions */ dependencies?: Dependencies; } /** * @description create your own firebase auth instance with {@link initializeAuth} under the hood. * @author Achmad Kurnianto * @date 01/08/2024 * @export * @template Options * @param {Options} [options] * @returns {*} {Auth} */ export declare function useInitializeAuth(options?: Options): Auth; /** * @description type data options for {@link useBeforeAuthStateChanged} hooks * @author Achmad Kurnianto * @date 01/08/2024 * @export * @interface DefaultUseBeforeAuthStateChangedOptions * @extends {DefaultReactFirebaseServerHooksOptions} * @extends {DefaultOptionsOnlyAuth} */ export interface DefaultUseBeforeAuthStateChangedOptions extends DefaultReactFirebaseServerHooksOptions, DefaultOptionsOnlyAuth { /** * @description third parameter of {@link beforeAuthStateChanged} method * @default undefined * @author Achmad Kurnianto * @date 01/08/2024 * @memberof DefaultUseBeforeAuthStateChangedOptions */ onAbort?: () => void; } /** * @description apply {@link beforeAuthStateChanged} method easily in your react app * @author Achmad Kurnianto * @date 01/08/2024 * @export * @template Options * @param {((user: User | null) => void | Promise)} callback second parameter of {@link beforeAuthStateChanged} method * @param {Options} [options] */ export declare function useBeforeAuthStateChanged(callback: (user: User | null) => void | Promise, options?: Options): void; /** * @description type data options for {@link useOnAuthStateChanged} and {@link useOnIdTokenChanged} hooks * @author Achmad Kurnianto * @date 01/08/2024 * @export * @interface DefaultUseOnAuthStateChangedOptions * @extends {DefaultReactFirebaseServerHooksOptions} * @extends {DefaultOptionsOnlyAuth} */ export interface DefaultUseOnAuthStateChangedOptions extends DefaultReactFirebaseServerHooksOptions, DefaultOptionsOnlyAuth { } /** * @description easily use {@link onAuthStateChanged} method inside your react app * @author Achmad Kurnianto * @date 01/08/2024 * @export * @template Options * @param {NextOrObserver} userObserver second parameter of {@link onAuthStateChanged} method. * @param {Options} [options] */ export declare function useOnAuthStateChanged(userObserver: NextOrObserver, options?: Options): void; /** * @description data type options for {@link useOnIdTokenChanged} hooks. * @author Achmad Kurnianto * @date 01/08/2024 * @export * @interface DefaultUseOnIdTokenChangedOptions * @extends {DefaultUseOnAuthStateChangedOptions} */ export interface DefaultUseOnIdTokenChangedOptions extends DefaultUseOnAuthStateChangedOptions { } /** * @description easily use {@link onIdTokenChanged} method into your react app. * @author Achmad Kurnianto * @date 01/08/2024 * @export * @template Options * @param {NextOrObserver} userObserver second parameter of {@link onIdTokenChanged} method * @param {Options} options */ export declare function useOnIdTokenChanged(userObserver: NextOrObserver, options: Options): void; /** * @description data type options for {@link useFirebaseAuthMethods} hooks * @author Achmad Kurnianto * @date 01/08/2024 * @export * @interface DefaultUseFirebaseAuthMethodsOptions * @extends {DefaultReactFirebaseServerHooksOptions} * @extends {DefaultOptionsOnlyAuth} */ export interface DefaultUseFirebaseAuthMethodsOptions extends DefaultReactFirebaseServerHooksOptions, DefaultOptionsOnlyAuth { } /** * @description easily get methods which depends on firebase auth instance. * @author Achmad Kurnianto * @date 01/08/2024 * @export * @template Options * @param {Options} [options] * @returns {*} */ export declare function useFirebaseAuthMethods(opts?: Options): { applyActionCode: (verificationCode: string) => Promise; checkActionCode: (verificationCode: string) => Promise; confirmPasswordReset: (payload: ConfirmPasswordResetPayload) => Promise; connectAuthEmulator: (options: ConnectAuthEmulatorOptions) => Promise; getMultiFactorResolver: (error: MultiFactorError) => import('firebase/auth').MultiFactorResolver; isSignInWithEmailLink: (emailLink: string) => boolean; revokeAccessToken: (token: string) => Promise; sendPasswordResetEmail: (payload: Payload) => Promise; sendSignInLinkToEmail: (payload: Payload) => Promise; validatePassword: (password: string) => Promise; };