/**
 * @fileoverview Перечисления (Enums) для CloudPayments SDK
 * @description Содержит все enum'ы, используемые в CloudPayments SDK для React Native
 * @author CloudPayments SDK Team
 * @since 1.0.0
 */
/**
 * Поддерживаемые способы оплаты в CloudPayments SDK
 *
 * @description Перечисление доступных методов оплаты, которые можно использовать
 * для проведения платежей через CloudPayments. Каждый способ требует
 * предварительного подключения в личном кабинете CloudPayments.
 *
 * @example Использование способов оплаты
 * ```typescript
 * import { EPaymentMethodType } from '@lmapp/react-native-cloudpayments';
 *
 * // Проверка статуса для разных способов оплаты
 * const tpayStatus = await PaymentService.getIntentWaitStatus(
 *   paymentData,
 *   EPaymentMethodType.TPAY
 * );
 *
 * const sbpStatus = await PaymentService.getIntentWaitStatus(
 *   paymentData,
 *   EPaymentMethodType.SBP
 * );
 * ```
 *
 * @see {@link https://merchant.cloudpayments.ru/} Личный кабинет CloudPayments
 * @see {@link https://developers.cloudpayments.ru/#sposoby-oplaty} Документация по способам оплаты
 * @since 1.0.0
 */
export declare enum EPaymentMethodType {
    /**
     * Tinkoff Pay - быстрая оплата через приложение Тинькофф Банка
     * @description Позволяет клиентам оплачивать покупки через мобильное
     * приложение Тинькофф Банка без ввода данных карты. Требует установленного
     * приложения Тинькофф Банка на устройстве пользователя.
     */
    TPAY = "tpay",
    /**
     * Tinkoff Pay (альтернативное название)
     * @description Альтернативный идентификатор для Tinkoff Pay.
     * Используется для обратной совместимости.
     */
    TINKOFFPAY = "tinkoffpay",
    /**
     * Система быстрых платежей (СБП)
     * @description Мгновенные переводы между банками России по номеру телефона
     * через QR-код или ссылку. Работает 24/7 без комиссии для физических лиц.
     * Поддерживается большинством российских банков.
     */
    SBP = "sbp",
    /**
     * Sberbank Pay - оплата через приложение Сбербанка
     * @description Быстрая оплата через мобильное приложение Сбербанк Онлайн
     * без ввода данных карты. Требует установленного приложения Сбербанк Онлайн.
     */
    SBERPAY = "sberpay"
}
/**
 * Коды ошибок, которые может возвращать платежная форма CloudPayments
 *
 * @description Перечисление всех возможных ошибок, которые могут возникнуть
 * при работе с CloudPayments SDK. Используйте эти коды для обработки
 * различных сценариев ошибок в вашем приложении.
 *
 * @example Обработка ошибок платежа
 * ```typescript
 * import { PaymentService, EPaymentFormErrorCode } from '@lmapp/react-native-cloudpayments';
 *
 * try {
 *   const result = await PaymentService.presentPaymentForm(paymentData);
 * } catch (error) {
 *   switch (error.code) {
 *     case EPaymentFormErrorCode.CONFIGURATION_ERROR:
 *       console.log('Ошибка конфигурации SDK');
 *       // Проверьте правильность инициализации
 *       break;
 *     case EPaymentFormErrorCode.MERCHANT_CONFIG_ERROR:
 *       console.log('Неверный Public ID или мерчант заблокирован');
 *       break;
 *     case EPaymentFormErrorCode.PAYMENT_FAILED:
 *       console.log('Платеж отклонен банком');
 *       break;
 *     default:
 *       console.log('Неизвестная ошибка:', error.message);
 *   }
 * }
 * ```
 *
 * @since 1.0.0
 */
export declare enum EPaymentFormErrorCode {
    /**
     * Ошибка конфигурации платежной формы
     * @description Неверно указаны параметры инициализации SDK или отсутствуют
     * обязательные поля в PaymentData. Проверьте корректность всех параметров.
     */
    CONFIGURATION_ERROR = "CONFIGURATION_ERROR",
    /**
     * Ошибка создания платежного намерения (Intent)
     * @description Не удалось создать Intent на стороне CloudPayments.
     * Проверьте корректность данных платежа и доступность сервиса.
     */
    CREATE_INTENT_ERROR = "CREATE_INTENT_ERROR",
    /**
     * Ошибка генерации ссылки для Tinkoff Pay
     * @description Не удалось сформировать ссылку для перехода в приложение
     * Тинькофф Банка. Убедитесь, что TPay подключен в личном кабинете.
     */
    TPAY_LINK_ERROR = "TPAY_LINK_ERROR",
    /**
     * Ошибка генерации ссылки для СБП
     * @description Не удалось создать QR-код или ссылку для оплаты через
     * Систему быстрых платежей. Проверьте подключение СБП в настройках.
     */
    SBP_LINK_ERROR = "SBP_LINK_ERROR",
    /**
     * Ошибка генерации ссылки для Sberbank Pay
     * @description Не удалось сформировать ссылку для перехода в приложение
     * Сбербанк Онлайн. Проверьте настройки SberPay.
     */
    SBERPAY_LINK_ERROR = "SBERPAY_LINK_ERROR",
    /**
     * Ошибка конфигурации мерчанта
     * @description Неверный Public ID или мерчант заблокирован.
     * Проверьте настройки в личном кабинете CloudPayments.
     */
    MERCHANT_CONFIG_ERROR = "MERCHANT_CONFIG_ERROR",
    /**
     * Неподдерживаемый тип платежа
     * @description Указанный способ оплаты не подключен или недоступен
     * для данного мерчанта. Обратитесь к менеджеру CloudPayments.
     */
    INVALID_PAYMENT_TYPE = "INVALID_PAYMENT_TYPE",
    /**
     * Ошибка ожидания статуса Intent
     * @description Превышено время ожидания подтверждения платежа
     * или произошла ошибка при проверке статуса транзакции.
     */
    INTENT_WAIT_STATUS_ERROR = "INTENT_WAIT_STATUS_ERROR",
    /**
     * Ошибка получения публичного ключа
     * @description Не удалось получить публичный ключ для шифрования
     * данных карты. Проверьте подключение к интернету и доступность API.
     */
    GET_PUBLIC_KEY_ERROR = "GET_PUBLIC_KEY_ERROR",
    /**
     * Ошибка обновления Intent
     * @description Не удалось обновить данные платежного намерения.
     * Возможно, Intent уже обработан или истек срок его действия.
     */
    PATCH_INTENT_ERROR = "PATCH_INTENT_ERROR",
    /**
     * Ошибка API оплаты
     * @description Общая ошибка при выполнении запроса к API CloudPayments.
     * Проверьте параметры запроса и статус сервиса.
     */
    API_PAY_ERROR = "API_PAY_ERROR",
    /**
     * Intent ID не найден
     * @description Указанный идентификатор платежного намерения не существует
     * или был удален. Создайте новый Intent.
     */
    INTENT_ID_NOT_FOUND = "INTENT_ID_NOT_FOUND",
    /**
     * Ошибка получения информации о банке
     * @description Не удалось определить банк-эмитент по номеру карты.
     * Проверьте корректность номера карты.
     */
    BANK_INFO_ERROR = "BANK_INFO_ERROR",
    /**
     * Платеж отклонен
     * @description Платеж был отклонен банком или платежной системой.
     * Возможные причины: недостаток средств, заблокированная карта,
     * превышение лимитов, неверные данные карты.
     */
    PAYMENT_FAILED = "PAYMENT_FAILED",
    /**
     * Сервис не инициализирован
     * @description SDK не был инициализирован. Вызовите init() с вашим
     * Public ID перед использованием других методов.
     */
    SERVICE_UNINITIALIZED = "SERVICE_UNINITIALIZED",
    /**
     * Отсутствует View Controller (только iOS)
     * @description Не удалось найти активный контроллер для отображения
     * платежной формы. Убедитесь, что вызов происходит из активного экрана.
     * @platform ios
     */
    NO_VIEW_CONTROLLER = "NO_VIEW_CONTROLLER"
}
/**
 * События CloudPayments SDK
 *
 * @description Перечисление событий, поддерживаемых нативным модулем CloudPayments.
 * Нативный модуль эмитит только 4 основных события, внутри которых передается
 * дополнительная информация через поле 'action'.
 *
 * @example Подписка на события платежной формы
 * ```typescript
 * import { eventEmitter, EPaymentFormEventName } from '@lmapp/react-native-cloudpayments';
 *
 * // Подписка на события платежной формы
 * eventEmitter.addListener(
 *   EPaymentFormEventName.PAYMENT_FORM,
 *   (data) => {
 *     switch (data.action) {
 *       case 'willDisplay':
 *         console.log('Форма готовится к отображению');
 *         break;
 *       case 'didDisplay':
 *         console.log('Форма отображена');
 *         break;
 *       case 'transaction':
 *         if (data.statusCode) {
 *           console.log('Платеж успешен:', data.transactionId);
 *         } else {
 *           console.log('Ошибка платежа:', data.message);
 *         }
 *         break;
 *     }
 *   }
 * );
 * ```
 *
 * @since 1.0.0
 */
export declare enum EPaymentFormEventName {
    /**
     * События платежной формы
     * @description Основное событие для всех действий с платежной формой.
     * Содержит поле 'action' с конкретным типом события.
     */
    PAYMENT_FORM = "PaymentForm",
    /**
     * События платежей
     * @description Событие для операций с платежами (создание, обработка).
     */
    PAYMENT = "Payment",
    /**
     * События карт
     * @description Событие для операций с картами (валидация, получение информации).
     */
    CARD = "Card",
    /**
     * События 3DS
     * @description Событие для операций 3D Secure аутентификации.
     */
    THREE_DS = "3DS"
}
/**
 * Действия платежной формы для внутреннего использования
 *
 * @description Перечисление действий, которые может выполнять платежная форма.
 * Используется для внутренней логики SDK и обработки событий.
 *
 * @internal
 * @since 1.0.0
 */
export declare enum EPaymentFormAction {
    /** Форма готовится к отображению */
    WILL_DISPLAY = "willDisplay",
    /** Форма отображена */
    DID_DISPLAY = "didDisplay",
    /** Форма готовится к скрытию */
    WILL_HIDE = "willHide",
    /** Форма скрыта */
    DID_HIDE = "didHide",
    /** Выполняется транзакция */
    TRANSACTION = "transaction"
}
//# sourceMappingURL=enums.d.ts.map