/**
 * Copyright (c) 2022 International Business Group, Ant Group. All rights reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), the rights to use, copy, modify, merge, and/or distribute the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 * 1. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE; and
 * 2. If applicable, the use of the Software is also subject to the terms and conditions of any non-disclosure agreement signed by you and the relevant Ant Group entity.
 */

/* eslint-disable @typescript-eslint/no-explicit-any */

export { ElementType, PaymentElementLayout, ThemeType } from "../core/component/element/type";

/**
 * SDK options
 */

export var DisplayTypeEnum = /*#__PURE__*/function (DisplayTypeEnum) {
  DisplayTypeEnum["popup"] = "popup";
  DisplayTypeEnum["inline"] = "inline";
  return DisplayTypeEnum;
}({});
export var ComponentSignEnumV2 = /*#__PURE__*/function (ComponentSignEnumV2) {
  ComponentSignEnumV2["ELEMENT_PAYMENT"] = "ELEMENT_PAYMENT_ALL";
  ComponentSignEnumV2["ELEMENT_ADDRESS"] = "ELEMENT_ADDRESS_ALL";
  return ComponentSignEnumV2;
}({});
export var ComponentSignEnum = /*#__PURE__*/function (ComponentSignEnum) {
  ComponentSignEnum["EASY_PAY_WALLET"] = "EASY_PAY_WALLET";
  ComponentSignEnum["EASY_PAY_APM"] = "EASY_PAY_APM";
  ComponentSignEnum["CASHIER_PAYMENT_CARD"] = "CASHIER_PAYMENT_CARD";
  ComponentSignEnum["CASHIER_PAYMENT_BANK"] = "CASHIER_PAYMENT_BANK";
  ComponentSignEnum["CASHIER_PAYMENT_APM"] = "CASHIER_PAYMENT_APM";
  ComponentSignEnum["AUTO_DEBIT_WALLET"] = "AUTO_DEBIT_WALLET";
  ComponentSignEnum["AUTO_DEBIT_PAY_WALLET"] = "AUTO_DEBIT_PAY_WALLET";
  ComponentSignEnum["NONE"] = "NONE";
  ComponentSignEnum["VAULTING_CARD"] = "VAULTING_CARD";
  ComponentSignEnum["CHECKOUT_PAYMENT"] = "CHECKOUT_PAYMENT";
  ComponentSignEnum["ELEMENT_PAYMENT"] = "ELEMENT_PAYMENT_ALL";
  ComponentSignEnum["ELEMENT_ADDRESS"] = "ELEMENT_ADDRESS_ALL";
  ComponentSignEnum["AUTO_DEBIT_APM"] = "AUTO_DEBIT_APM";
  return ComponentSignEnum;
}({});
export var ProductSceneEnum = /*#__PURE__*/function (ProductSceneEnum) {
  ProductSceneEnum["VAULTING_ELEMENT"] = "VAULTING_ELEMENT";
  ProductSceneEnum["EASY_PAY"] = "EASY_PAY";
  ProductSceneEnum["CASHIER_PAYMENT"] = "CASHIER_PAYMENT";
  ProductSceneEnum["AUTO_DEBIT"] = "AUTO_DEBIT";
  ProductSceneEnum["AUTO_DEBIT_PAY"] = "AUTO_DEBIT_PAY";
  ProductSceneEnum["VAULTING"] = "VAULTING";
  ProductSceneEnum["FLASH_BUY"] = "FLASH_BUY";
  ProductSceneEnum["CARD_APPLE_PAY"] = "CARD_APPLE_PAY";
  ProductSceneEnum["ELEMENT_PAYMENT"] = "ELEMENT_PAYMENT";
  ProductSceneEnum["ELEMENT_ADDRESS"] = "ELEMENT_ADDRESS";
  ProductSceneEnum["CHECKOUT_PAYMENT"] = "CHECKOUT_PAYMENT";
  return ProductSceneEnum;
}({});
export var PaymentMethodCategoryTypeEnum = /*#__PURE__*/function (PaymentMethodCategoryTypeEnum) {
  PaymentMethodCategoryTypeEnum["CARD"] = "CARD";
  PaymentMethodCategoryTypeEnum["WALLET"] = "WALLET";
  PaymentMethodCategoryTypeEnum["BANK"] = "BANK";
  PaymentMethodCategoryTypeEnum["APM"] = "APM";
  PaymentMethodCategoryTypeEnum["ALL"] = "ALL";
  return PaymentMethodCategoryTypeEnum;
}({});

/** 表单地址数据 */

export var payPalConfigurationIntentEnum = /*#__PURE__*/function (payPalConfigurationIntentEnum) {
  payPalConfigurationIntentEnum["intent"] = "intent";
  payPalConfigurationIntentEnum["capture"] = "capture";
  return payPalConfigurationIntentEnum;
}({});
export var PaymentAmountEnum = /*#__PURE__*/function (PaymentAmountEnum) {
  PaymentAmountEnum["USD"] = "USD";
  return PaymentAmountEnum;
}({});
export var localeEnum = /*#__PURE__*/function (localeEnum) {
  localeEnum["en-US"] = "en-US";
  return localeEnum;
}({});
export var checkoutDisplayEnum = /*#__PURE__*/function (checkoutDisplayEnum) {
  checkoutDisplayEnum["horizon"] = "horizon";
  checkoutDisplayEnum["vertical"] = "vertical";
  return checkoutDisplayEnum;
}({});
export var modeEnum = /*#__PURE__*/function (modeEnum) {
  modeEnum["dropin"] = "dropin";
  modeEnum["component"] = "component";
  return modeEnum;
}({});
export var networkModeEnum = /*#__PURE__*/function (networkModeEnum) {
  networkModeEnum["proxy"] = "proxy";
  networkModeEnum["session"] = "session";
  return networkModeEnum;
}({});
export var EnvironmentEnum = /*#__PURE__*/function (EnvironmentEnum) {
  EnvironmentEnum["sandbox"] = "sandbox";
  EnvironmentEnum["prod"] = "prod";
  EnvironmentEnum["light_sandbox"] = "light_sandbox";
  return EnvironmentEnum;
}({});
export var osTypeEnum = /*#__PURE__*/function (osTypeEnum) {
  osTypeEnum["IOS"] = "IOS";
  osTypeEnum["ANDROID"] = "ANDROID";
  osTypeEnum["ELSE"] = "ELSE";
  return osTypeEnum;
}({});
export var terminalTypeEnum = /*#__PURE__*/function (terminalTypeEnum) {
  terminalTypeEnum["WEB"] = "WEB";
  terminalTypeEnum["WAP"] = "WAP";
  terminalTypeEnum["APP"] = "APP";
  terminalTypeEnum["MINI_APP"] = "MINI_APP";
  return terminalTypeEnum;
}({});
export var PlatformEnum = /*#__PURE__*/function (PlatformEnum) {
  PlatformEnum["desktop"] = "desktop";
  PlatformEnum["mobile"] = "mobile";
  return PlatformEnum;
}({});

/**
 * @description Create an event handler, called when an error occurs in AMSCheckout.
 */

/**
 * @description Create an event handler, called when the general log triggers during the SDK runtime.
 */

/**
 * @description Create an event handler, during the running of the sdk, some events are called after execution, and the specific event code is returned.
 */

/**
 * @description Create an event handler, In pop-up layer mode, the user clicks the semi floating layer close button and is called.
 */

export var MessageName = /*#__PURE__*/function (MessageName) {
  MessageName["SDK_TO_APP"] = "SDK_TO_APP";
  MessageName["APP_TO_SDK"] = "APP_TO_SDK";
  MessageName["APP_TO_APP"] = "APP_TO_APP";
  return MessageName;
}({});
export var TargetEnum = /*#__PURE__*/function (TargetEnum) {
  TargetEnum["BLANK"] = "_blank";
  TargetEnum["SELF"] = "_self";
  TargetEnum["REPLACE"] = "_replace";
  return TargetEnum;
}({});
export var errorEnum = /*#__PURE__*/function (errorEnum) {
  errorEnum["PARAMS"] = "PARAMS";
  errorEnum["TIMEOUT"] = "TIMEOUT";
  errorEnum["NETWORK"] = "NETWORK";
  errorEnum["SYSTEM"] = "SYSTEM";
  errorEnum["LOGIN"] = "LOGIN";
  errorEnum["GATEWAY"] = "GATEWAY";
  errorEnum["VALIDATION"] = "VALIDATION";
  errorEnum["TAOBAOBINDALIPAY"] = "TAOBAOBINDALIPAY";
  errorEnum["REGISTERWALLET"] = "REGISTERWALLET";
  errorEnum["NOALIPAYID"] = "NOALIPAYID";
  errorEnum["TRUSTLOGINERROR"] = "TRUSTLOGINERROR";
  errorEnum["SIGNIN"] = "SIGNIN";
  errorEnum["GETSIGNPARAMSERROR"] = "GETSIGNPARAMSERROR";
  return errorEnum;
}({});

/**
 * Get App Pay Payment Session Request.
 */

/**
 * Get App Pay Payment Session Result.
 */

export var redirectTypeEnum = /*#__PURE__*/function (redirectTypeEnum) {
  redirectTypeEnum["UNSAFE_BROWSER"] = "UNSAFE_BROWSER";
  redirectTypeEnum["SAFETY_BROWSER"] = "SAFETY_BROWSER";
  redirectTypeEnum["INVOKE_SDK"] = "INVOKE_SDK";
  return redirectTypeEnum;
}({}); // 拉SDK
export var eventCodeEnum = /*#__PURE__*/function (eventCodeEnum) {
  eventCodeEnum["SDK_START_OF_LOADING"] = "SDK_START_OF_LOADING";
  eventCodeEnum["SDK_END_OF_LOADING"] = "SDK_END_OF_LOADING";
  eventCodeEnum["SDK_INTERNAL_ERROR"] = "SDK_INTERNAL_ERROR";
  eventCodeEnum["SDK_CREATEPAYMENT_PARAMETER_ERROR"] = "SDK_CREATEPAYMENT_PARAMETER_ERROR";
  eventCodeEnum["SDK_INIT_PARAMETER_ERROR"] = "SDK_INIT_PARAMETER_ERROR";
  eventCodeEnum["SDK_CREATECOMPONENT_ERROR"] = "SDK_CREATECOMPONENT_ERROR";
  eventCodeEnum["SDK_LAUNCH_PAYMENT_APP_ERROR"] = "SDK_LAUNCH_PAYMENT_APP_ERROR";
  eventCodeEnum["SDK_CALL_URL_SUCCESS"] = "SDK_CALL_URL_SUCCESS";
  eventCodeEnum["SDK_CALL_URL_ERROR"] = "SDK_CALL_URL_ERROR";
  eventCodeEnum["SDK_PAYMENT_SUCCESSFUL"] = "SDK_PAYMENT_SUCCESSFUL";
  eventCodeEnum["SDK_PAYMENT_FAIL"] = "SDK_PAYMENT_FAIL";
  eventCodeEnum["SDK_PAYMENT_ERROR"] = "SDK_PAYMENT_ERROR";
  eventCodeEnum["SDK_PAYMENT_CANCEL"] = "SDK_PAYMENT_CANCEL";
  eventCodeEnum["SDK_PAYMENT_PROCESSING"] = "SDK_PAYMENT_PROCESSING";
  eventCodeEnum["SDK_PAYMENT_WARN"] = "SDK_PAYMENT_WARN";
  eventCodeEnum["SDK_PAYMENT_SHIPPINGCHANGE"] = "SDK_PAYMENT_SHIPPINGCHANGE";
  eventCodeEnum["SDK_PAYMENT_APPROVE"] = "SDK_PAYMENT_APPROVE";
  eventCodeEnum["SDK_REDIRECT"] = "SDK_REDIRECT";
  return eventCodeEnum;
}({});
export var RedirectType = /*#__PURE__*/function (RedirectType) {
  RedirectType["ApplinkUrl"] = "ApplinkUrl";
  RedirectType["SchemeUrl"] = "SchemeUrl";
  RedirectType["NormalUrl"] = "NormalUrl";
  RedirectType["Unknown"] = "Unknown";
  return RedirectType;
}({});
export var PaypalMethodEnum = /*#__PURE__*/function (PaypalMethodEnum) {
  PaypalMethodEnum["PAYPAL_CHECKOUT"] = "PAYPAL_CHECKOUT";
  PaypalMethodEnum["PAYPAL_VAULT"] = "PAYPAL_VAULT";
  PaypalMethodEnum["PAYPAL_PAYLATER"] = "PAYPAL_PAYLATER";
  return PaypalMethodEnum;
}({});
export var ProductSceneVersion = /*#__PURE__*/function (ProductSceneVersion) {
  ProductSceneVersion["V1"] = "1.0";
  ProductSceneVersion["V2"] = "2.0";
  return ProductSceneVersion;
}({});
export var InterActionTypeEnum = /*#__PURE__*/function (InterActionTypeEnum) {
  InterActionTypeEnum["COLLECT_REDIRECT"] = "COLLECT_REDIRECT";
  InterActionTypeEnum["SHOW_CODE"] = "SHOW_CODE";
  InterActionTypeEnum["COLLECT_SHOW_CODE"] = "COLLECT_SHOW_CODE";
  InterActionTypeEnum["REDIRECT"] = "REDIRECT";
  return InterActionTypeEnum;
}({});
export var ConnectErrorCode = /*#__PURE__*/function (ConnectErrorCode) {
  ConnectErrorCode["RISK_REJECT"] = "RISK_REJECT";
  ConnectErrorCode["USER_AUTH_VERIFICATION_FAILED"] = "USER_AUTH_VERIFICATION_FAILED";
  ConnectErrorCode["USER_NOT_EXISTS"] = "USER_NOT_EXISTS";
  return ConnectErrorCode;
}({});
export var RiskSdkInfoEnum = /*#__PURE__*/function (RiskSdkInfoEnum) {
  RiskSdkInfoEnum["NEED"] = "need";
  RiskSdkInfoEnum["NO_NEED"] = "noneed";
  return RiskSdkInfoEnum;
}({});
export var EventLoggingEventId = /*#__PURE__*/function (EventLoggingEventId) {
  EventLoggingEventId["OnlyClose"] = "OnlyClose";
  EventLoggingEventId["LeaveAnyWay"] = "LeaveAnyWay";
  EventLoggingEventId["ContinuePaying"] = "ContinuePaying";
  return EventLoggingEventId;
}({});