import { IntlayerConfig } from "@intlayer/types";

//#region src/libs/auth.d.ts
declare const getAuthClient: (backendURL: string) => any;
type AuthClient = ReturnType<typeof getAuthClient>;
interface AuthAPI {
  getAuthClient: () => AuthClient;
  signInEmail: AuthClient['signIn']['email'];
  signUpEmail: AuthClient['signUp']['email'];
  signOut: AuthClient['signOut'];
  signInSocial: AuthClient['signIn']['social'];
  linkSocial: AuthClient['linkSocial'];
  changePasswordSession: AuthClient['changePassword'];
  requestPasswordResetSession: AuthClient['requestPasswordReset'];
  resetPassword: AuthClient['resetPassword'];
  verifyEmailSession: AuthClient['verifyEmail'];
  getSession: AuthClient['getSession'];
  forgetPassword: AuthClient['forgetPassword'];
  sendVerificationEmail: AuthClient['sendVerificationEmail'];
  changeEmail: AuthClient['changeEmail'];
  deleteUser: AuthClient['deleteUser'];
  revokeSession: AuthClient['revokeSession'];
  revokeSessions: AuthClient['revokeSessions'];
  revokeOtherSessions: AuthClient['revokeOtherSessions'];
  listAccounts: AuthClient['listAccounts'];
  unlinkAccount: AuthClient['unlinkAccount'];
  refreshToken: AuthClient['refreshToken'];
  getAccessToken: AuthClient['getAccessToken'];
  accountInfo: AuthClient['accountInfo'];
  updateUser: AuthClient['updateUser'];
  listSessions: AuthClient['listSessions'];
  enableTwoFactor: AuthClient['twoFactor']['enable'];
  disableTwoFactor: AuthClient['twoFactor']['disable'];
  verifyTotp: AuthClient['twoFactor']['verifyTotp'];
  verifyBackupCode: AuthClient['twoFactor']['verifyBackupCode'];
  addPasskey: AuthClient['passkey']['addPasskey'];
  signInPasskey: AuthClient['signIn']['passkey'];
  deletePasskey: AuthClient['passkey']['deletePasskey'];
  listPasskeys: () => Promise<any>;
  signInMagicLink: (input: {
    email: string;
    callbackURL: string;
  }) => any;
  signInSSO: AuthClient['sso']['signIn'];
}
declare const getAuthAPI: (intlayerConfig?: IntlayerConfig) => AuthAPI;
//#endregion
export { AuthAPI, getAuthAPI };
//# sourceMappingURL=auth.d.ts.map