import { AuthResult } from "./types"; interface UseEmailPasswordAuth { /** * Convenience function to log in a user with an email and password - users * could also call `logIn(Realm.Credentials.emailPassword(email, password))`. * @see https://www.mongodb.com/docs/realm/sdk/react-native/manage-users/manage-email-password-users/#add-appprovider-to-work-with-email-password-users */ logIn(credentials: { email: string; password: string; }): void; /** * Register a new user. * @see https://www.mongodb.com/docs/realm/sdk/react-native/manage-users/manage-email-password-users/#register-a-new-user-account */ register(args: { email: string; password: string; }): void; /** * Confirm a user's account by providing the `token` and `tokenId` received. * @see https://www.mongodb.com/docs/realm/sdk/react-native/manage-users/manage-email-password-users/#confirm-a-new-user-s-email-address */ confirm(args: { token: string; tokenId: string; }): void; /** * Resend a user's confirmation email. * @see https://www.mongodb.com/docs/realm/sdk/react-native/manage-users/manage-email-password-users/#resend-a-confirmation-email */ resendConfirmationEmail(args: { email: string; }): void; /** * Retry the custom confirmation function for a given user. * @see https://www.mongodb.com/docs/realm/sdk/react-native/manage-users/manage-email-password-users/#retry-a-user-confirmation-function */ retryCustomConfirmation(args: { email: string; }): void; /** * Send a password reset email for a given user. * @see https://www.mongodb.com/docs/realm/sdk/react-native/manage-users/manage-email-password-users/#send-a-password-reset-email */ sendResetPasswordEmail(args: { email: string; }): void; /** * Complete resetting a user's password. * @see https://www.mongodb.com/docs/realm/sdk/react-native/manage-users/manage-email-password-users/#send-a-password-reset-email */ resetPassword(args: { token: string; tokenId: string; password: string; }): void; /** * Call the configured password reset function, passing in any additional * arguments to the function. * @see https://www.mongodb.com/docs/realm/sdk/react-native/manage-users/manage-email-password-users/#call-a-password-reset-function */ callResetPasswordFunction(args: { email: string; password: string; }, ...restArgs: Args): void; /** * Log out the current user. * @see https://www.mongodb.com/docs/realm/sdk/react-native/manage-users/authenticate-users/#log-a-user-out */ logOut(): void; /** * The {@link AuthResult} of the current (or last) operation performed for * this hook. */ result: AuthResult; } /** * Hook providing operations and corresponding state for authenticating with an * Atlas App with Email/Password. It also contains operations related to * Email/Password authentication, such as resetting password and confirming a user. * * The {@link AuthResult} values returned from this hook (e.g. `state`, `pending`, etc.) are * shared across all components under a given `AppProvider`, as only one operation can be in * progress at a given time (i.e. we will store the values on the context). This means that, * for example, multiple components can use the `useEmailPasswordAuth` hook to access * `result.pending` to render a spinner when login is in progress, without * needing to pass that state around or store it somewhere global in their app * code. * @returns An object containing operations and state related to Email/Password authentication. */ export declare function useEmailPasswordAuth(): UseEmailPasswordAuth; export {}; //# sourceMappingURL=useEmailPasswordAuth.d.ts.map