import { AccountCreationManager, AccountConfirmationManager, AccountCreationDetails, PendingAccountConfirmation, Redirection, RedirectionProvider, ConfirmedAccount } from '../api'; import { Credentials, Account } from '../api'; import { AskResetPasswordManager, AccountDetailsResetPassword, PendingAskResetPassword, DetailsResetPassword, ConfirmResetPasswordManager } from '../api/LostPassword'; export declare class StandardUserWorkflow { private accountCreationManager; private accountConfirmationManager; private askResetPasswordManager; private confirmResetPasswordManager; private successConfirmationAccount; private failureConfirmationAccount; constructor(accountCreationManager: AccountCreationManager, accountConfirmationManager: AccountConfirmationManager, askResetPasswordManager: AskResetPasswordManager, confirmResetPasswordManager: ConfirmResetPasswordManager, successConfirmationAccount: RedirectionProvider, failureConfirmationAccount: RedirectionProvider); signup(accountDetails: AccountCreationDetails, confirmationRedirection?: Redirection): Promise; confirm(confirmation: PendingAccountConfirmation): Promise; /** * Allows a user to log into the application. * To do this, he need to use his credentials * @param credentials Credentials of the user. Can be in several forms (Login/Password or Oauth for example) * @returns Account of the connected user */ login(credentials: Credentials): Promise; /** * Allows a user to log out the application. */ logout(): Promise; /** * The askResetPassword method let your user asks to reset his password. * The process is the following : * 1) The user asks to reset his password providing his email * 2) A link is sent to his email * 3) When the user click on this link, the user is redirected to a page specified by the developer to change his password * 4) When the user validate the new password, he is redirected to a page specified by the developer * * @param accountDetailsResetPassword Necessary input for reset a password */ askResetPassword(accountDetailsResetPassword: AccountDetailsResetPassword): Promise; /** * After clicking in the link received by email when he asks to reset his password, * the user need to choose his new password. To do this, he needs to type a couple of identicals * password and validate them. * * @param newCoupleOfPassword Couple of new passwords */ confirmResetPassword(detailsResetPassword: DetailsResetPassword): Promise; }