/**
 * Cashfree Payment Gateway APIs
 * Cashfree\'s Payment Gateway APIs provide developers with a streamlined pathway to integrate advanced payment processing capabilities into their applications, platforms and websites.
 *
 * The version of the OpenAPI document: 2026-01-01
 * Contact: developers@cashfree.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { AxiosInstance, AxiosRequestConfig } from 'axios';
import { CFEnvironment } from './configuration';
/**
 * Address associated with the customer.
 * @export
 * @interface AddressDetails
 */
export interface AddressDetails {
    /**
     * Full Name of the customer associated with the address.
     * @type {string}
     * @memberof AddressDetails
     */
    'name'?: string;
    /**
     * First line of the address.
     * @type {string}
     * @memberof AddressDetails
     */
    'address_line_one'?: string;
    /**
     * Second line of the address.
     * @type {string}
     * @memberof AddressDetails
     */
    'address_line_two'?: string;
    /**
     * Country Name.
     * @type {string}
     * @memberof AddressDetails
     */
    'country'?: string;
    /**
     * Country Code.
     * @type {string}
     * @memberof AddressDetails
     */
    'country_code'?: string;
    /**
     * State Name.
     * @type {string}
     * @memberof AddressDetails
     */
    'state'?: string;
    /**
     * State Code.
     * @type {string}
     * @memberof AddressDetails
     */
    'state_code'?: string;
    /**
     * City Name.
     * @type {string}
     * @memberof AddressDetails
     */
    'city'?: string;
    /**
     * Pin Code/Zip Code.
     * @type {string}
     * @memberof AddressDetails
     */
    'pin_code'?: string;
    /**
     * Customer Phone Number.
     * @type {string}
     * @memberof AddressDetails
     */
    'phone'?: string;
    /**
     * Cutomer Email Address.
     * @type {string}
     * @memberof AddressDetails
     */
    'email'?: string;
}
/**
 * Adjust Vendor Balance Request.
 * @export
 * @interface AdjustVendorBalanceRequest
 */
export interface AdjustVendorBalanceRequest {
    /**
     * Mention to whom you want to transfer the on demand balance. Possible values - MERCHANT, VENDOR.
     * @type {string}
     * @memberof AdjustVendorBalanceRequest
     */
    'transfer_from': string;
    /**
     * Mention the type of transfer. Possible values: ON_DEMAND.
     * @type {string}
     * @memberof AdjustVendorBalanceRequest
     */
    'transfer_type': string;
    /**
     * Mention the on demand transfer amount.
     * @type {number}
     * @memberof AdjustVendorBalanceRequest
     */
    'transfer_amount': number;
    /**
     * Mention remarks if any for the on demand transfer.
     * @type {string}
     * @memberof AdjustVendorBalanceRequest
     */
    'remark'?: string;
    /**
     * Provide additional data fields using tags.
     * @type {object}
     * @memberof AdjustVendorBalanceRequest
     */
    'tags'?: object;
}
/**
 * Adjust Vendor Balance Response.
 * @export
 * @interface AdjustVendorBalanceResponse
 */
export interface AdjustVendorBalanceResponse {
    /**
     *
     * @type {number}
     * @memberof AdjustVendorBalanceResponse
     */
    'settlement_id'?: number;
    /**
     *
     * @type {TransferDetails}
     * @memberof AdjustVendorBalanceResponse
     */
    'transfer_details'?: TransferDetails;
    /**
     *
     * @type {BalanceDetails}
     * @memberof AdjustVendorBalanceResponse
     */
    'balances'?: BalanceDetails;
    /**
     *
     * @type {ChargesDetails}
     * @memberof AdjustVendorBalanceResponse
     */
    'charges'?: ChargesDetails;
}
/**
 * Error at Cashfree\'s server.
 * @export
 * @interface ApiError
 */
export interface ApiError {
    /**
     *
     * @type {string}
     * @memberof ApiError
     */
    'message'?: string;
    /**
     *
     * @type {string}
     * @memberof ApiError
     */
    'code'?: string;
    /**
     *
     * @type {string}
     * @memberof ApiError
     */
    'help'?: string;
    /**
     * api_error.
     * @type {string}
     * @memberof ApiError
     */
    'type'?: ApiErrorTypeEnum;
}
export declare const ApiErrorTypeEnum: {
    readonly API_ERROR: "api_error";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type ApiErrorTypeEnum = typeof ApiErrorTypeEnum[keyof typeof ApiErrorTypeEnum];
/**
 * Error when resource requested is not found.
 * @export
 * @interface ApiError404
 */
export interface ApiError404 {
    /**
     *
     * @type {string}
     * @memberof ApiError404
     */
    'message'?: string;
    /**
     *
     * @type {string}
     * @memberof ApiError404
     */
    'code'?: string;
    /**
     *
     * @type {string}
     * @memberof ApiError404
     */
    'help'?: string;
    /**
     * invalid_request_error.
     * @type {string}
     * @memberof ApiError404
     */
    'type'?: ApiError404TypeEnum;
}
export declare const ApiError404TypeEnum: {
    readonly INVALID_REQUEST_ERROR: "invalid_request_error";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type ApiError404TypeEnum = typeof ApiError404TypeEnum[keyof typeof ApiError404TypeEnum];
/**
 * duplicate request.
 * @export
 * @interface ApiError409
 */
export interface ApiError409 {
    /**
     *
     * @type {string}
     * @memberof ApiError409
     */
    'message'?: string;
    /**
     *
     * @type {string}
     * @memberof ApiError409
     */
    'help'?: string;
    /**
     *
     * @type {string}
     * @memberof ApiError409
     */
    'code'?: string;
    /**
     * invalid_request_error.
     * @type {string}
     * @memberof ApiError409
     */
    'type'?: ApiError409TypeEnum;
}
export declare const ApiError409TypeEnum: {
    readonly INVALID_REQUEST_ERROR: "invalid_request_error";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type ApiError409TypeEnum = typeof ApiError409TypeEnum[keyof typeof ApiError409TypeEnum];
/**
 * Error when there is error at partner bank.
 * @export
 * @interface ApiError502
 */
export interface ApiError502 {
    /**
     *
     * @type {string}
     * @memberof ApiError502
     */
    'message'?: string;
    /**
     *
     * @type {string}
     * @memberof ApiError502
     */
    'help'?: string;
    /**
     * `bank_processing_failure` will be returned here to denote failure at bank.
     * @type {string}
     * @memberof ApiError502
     */
    'code'?: string;
    /**
     * api_error.
     * @type {string}
     * @memberof ApiError502
     */
    'type'?: ApiError502TypeEnum;
}
export declare const ApiError502TypeEnum: {
    readonly API_ERROR: "api_error";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type ApiError502TypeEnum = typeof ApiError502TypeEnum[keyof typeof ApiError502TypeEnum];
/**
 * App payment method.
 * @export
 * @interface App
 */
export interface App {
    /**
     * Specify the channel through which the payment must be processed.
     * @type {string}
     * @memberof App
     */
    'channel': string;
    /**
     * Specify the provider through which the payment must be processed.
     * @type {string}
     * @memberof App
     */
    'provider': AppProviderEnum;
    /**
     * Customer phone number associated with a wallet for payment.
     * @type {string}
     * @memberof App
     */
    'phone': string;
}
export declare const AppProviderEnum: {
    readonly GPAY: "gpay";
    readonly PHONEPE: "phonepe";
    readonly OLA: "ola";
    readonly PAYTM: "paytm";
    readonly AMAZON: "amazon";
    readonly AIRTEL: "airtel";
    readonly FREECHARGE: "freecharge";
    readonly MOBIKWIK: "mobikwik";
    readonly JIO: "jio";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type AppProviderEnum = typeof AppProviderEnum[keyof typeof AppProviderEnum];
/**
 * App payment method.
 * @export
 * @interface AppPaymentMethod
 */
export interface AppPaymentMethod {
    /**
     *
     * @type {App}
     * @memberof AppPaymentMethod
     */
    'app': App;
}
/**
 * Payment method card.
 * @export
 * @interface AuthResponseCard
 */
export interface AuthResponseCard {
    /**
     * Can be link.
     * @type {string}
     * @memberof AuthResponseCard
     */
    'channel'?: string;
    /**
     * Card number.
     * @type {string}
     * @memberof AuthResponseCard
     */
    'card_number'?: string;
    /**
     * Card network (e.g., VISA, Mastercard).
     * @type {string}
     * @memberof AuthResponseCard
     */
    'card_network'?: string;
    /**
     * Card type (e.g., credit_card).
     * @type {string}
     * @memberof AuthResponseCard
     */
    'card_type'?: string;
    /**
     * Card subtype (e.g., R).
     * @type {string}
     * @memberof AuthResponseCard
     */
    'card_sub_type'?: string;
    /**
     * Country of the card (e.g., IN).
     * @type {string}
     * @memberof AuthResponseCard
     */
    'card_country'?: string;
    /**
     * Bank name on card.
     * @type {string}
     * @memberof AuthResponseCard
     */
    'card_bank_name'?: string;
    /**
     * Network reference ID.
     * @type {string}
     * @memberof AuthResponseCard
     */
    'card_network_reference_id'?: string;
    /**
     * Unique identifier for card instrument.
     * @type {string}
     * @memberof AuthResponseCard
     */
    'instrument_id'?: string;
}
/**
 * Payment method enach.
 * @export
 * @interface AuthResponseEnach
 */
export interface AuthResponseEnach {
    /**
     * Channel. Can be link.
     * @type {string}
     * @memberof AuthResponseEnach
     */
    'channel'?: string;
    /**
     * Auth mode. Can be debit_card, aadhaar, or net_banking.
     * @type {string}
     * @memberof AuthResponseEnach
     */
    'auth_mode'?: string;
    /**
     * Type of the bank account.
     * @type {string}
     * @memberof AuthResponseEnach
     */
    'account_type'?: string;
    /**
     * Bank account number.
     * @type {string}
     * @memberof AuthResponseEnach
     */
    'account_number'?: string;
    /**
     * IFSC code of the bank account.
     * @type {string}
     * @memberof AuthResponseEnach
     */
    'account_ifsc'?: string;
    /**
     * Name of the account holder.
     * @type {string}
     * @memberof AuthResponseEnach
     */
    'account_holder_name'?: string;
    /**
     * Bank code of the account-holding bank.
     * @type {string}
     * @memberof AuthResponseEnach
     */
    'account_bank_code'?: string;
}
/**
 * Payment method pnach.
 * @export
 * @interface AuthResponsePnach
 */
export interface AuthResponsePnach {
    /**
     * Channel. Can be post.
     * @type {string}
     * @memberof AuthResponsePnach
     */
    'channel'?: string;
    /**
     * Date on which the mandate was created. Cashfree stores timestamps in IST.
     * @type {string}
     * @memberof AuthResponsePnach
     */
    'mandate_creation_date'?: string;
    /**
     * Start date of the mandate. Cashfree stores timestamps in IST.
     * @type {string}
     * @memberof AuthResponsePnach
     */
    'mandate_start_date'?: string;
    /**
     * Type of the bank account.
     * @type {string}
     * @memberof AuthResponsePnach
     */
    'account_type'?: string;
    /**
     * Bank account number.
     * @type {string}
     * @memberof AuthResponsePnach
     */
    'account_number'?: string;
    /**
     * IFSC code of the bank account.
     * @type {string}
     * @memberof AuthResponsePnach
     */
    'account_ifsc'?: string;
    /**
     * Name of the account holder.
     * @type {string}
     * @memberof AuthResponsePnach
     */
    'account_holder_name'?: string;
    /**
     * Bank code of the account-holding bank.
     * @type {string}
     * @memberof AuthResponsePnach
     */
    'account_bank_code'?: string;
}
/**
 * Payment method upi.
 * @export
 * @interface AuthResponseUpi
 */
export interface AuthResponseUpi {
    /**
     * Can be link, qrcode, or collect.
     * @type {string}
     * @memberof AuthResponseUpi
     */
    'channel'?: string;
    /**
     * Virtual payment address (UPI ID) of the user.
     * @type {string}
     * @memberof AuthResponseUpi
     */
    'upi_id'?: string;
    /**
     * UPI instrument used for payment.
     * @type {string}
     * @memberof AuthResponseUpi
     */
    'upi_instrument'?: string;
    /**
     * Unique number representing the UPI instrument.
     * @type {string}
     * @memberof AuthResponseUpi
     */
    'upi_instrument_number'?: string;
    /**
     * Account number of the UPI payer.
     * @type {string}
     * @memberof AuthResponseUpi
     */
    'upi_payer_account_number'?: string;
    /**
     * IFSC code of the UPI payer\'s bank.
     * @type {string}
     * @memberof AuthResponseUpi
     */
    'upi_payer_ifsc'?: string;
}
/**
 * Error if api keys are wrong.
 * @export
 * @interface AuthenticationError
 */
export interface AuthenticationError {
    /**
     *
     * @type {string}
     * @memberof AuthenticationError
     */
    'message'?: string;
    /**
     *
     * @type {string}
     * @memberof AuthenticationError
     */
    'code'?: string;
    /**
     * authentication_error.
     * @type {string}
     * @memberof AuthenticationError
     */
    'type'?: string;
}
/**
 * Details of the authorization done for the subscription. Returned in Get subscription and payments.
 * @export
 * @interface AuthorizationDetails
 */
export interface AuthorizationDetails {
    /**
     * Authorization amount for the auth payment. Please note that authorization_amount will always be 0 for ENACH.
     * @type {number}
     * @memberof AuthorizationDetails
     */
    'authorization_amount'?: number;
    /**
     * Indicates whether the authorization amount should be refunded to the customer automatically. Merchants can use this field to specify if the authorized funds should be returned to the customer after authorization of the subscription.
     * @type {boolean}
     * @memberof AuthorizationDetails
     */
    'authorization_amount_refund'?: boolean;
    /**
     * Authorization reference. UMN for UPI, UMRN for EMandate/Physical Mandate and Enrollment ID for cards.
     * @type {string}
     * @memberof AuthorizationDetails
     */
    'authorization_reference'?: string;
    /**
     * Authorization time. Cashfree stores timestamps in IST.
     * @type {string}
     * @memberof AuthorizationDetails
     */
    'authorization_time'?: string;
    /**
     * Status of the authorization.
     * @type {string}
     * @memberof AuthorizationDetails
     */
    'authorization_status'?: string;
    /**
     * A unique ID passed by merchant for identifying the transaction.
     * @type {string}
     * @memberof AuthorizationDetails
     */
    'payment_id'?: string;
    /**
     * Payment group used for the authorization.
     * @type {string}
     * @memberof AuthorizationDetails
     */
    'payment_group'?: string;
    /**
     *
     * @type {AuthorizationDetailsPaymentMethod}
     * @memberof AuthorizationDetails
     */
    'payment_method'?: AuthorizationDetailsPaymentMethod;
}
/**
 *
 * @export
 * @interface AuthorizationDetailsPaymentMethod
 */
export interface AuthorizationDetailsPaymentMethod {
    /**
     *
     * @type {AuthResponseUpi}
     * @memberof AuthorizationDetailsPaymentMethod
     */
    'upi'?: AuthResponseUpi;
    /**
     *
     * @type {AuthResponseEnach}
     * @memberof AuthorizationDetailsPaymentMethod
     */
    'enach'?: AuthResponseEnach;
    /**
     *
     * @type {AuthResponsePnach}
     * @memberof AuthorizationDetailsPaymentMethod
     */
    'pnach'?: AuthResponsePnach;
    /**
     *
     * @type {AuthResponseCard}
     * @memberof AuthorizationDetailsPaymentMethod
     */
    'card'?: AuthResponseCard;
}
/**
 * If preauth enabled for account you will get this body.
 * @export
 * @interface AuthorizationInPaymentsEntity
 */
export interface AuthorizationInPaymentsEntity {
    /**
     * One of CAPTURE or VOID.
     * @type {string}
     * @memberof AuthorizationInPaymentsEntity
     */
    'action'?: AuthorizationInPaymentsEntityActionEnum;
    /**
     * One of SUCCESS or PENDING.
     * @type {string}
     * @memberof AuthorizationInPaymentsEntity
     */
    'status'?: AuthorizationInPaymentsEntityStatusEnum;
    /**
     * The captured amount for this authorization request.
     * @type {number}
     * @memberof AuthorizationInPaymentsEntity
     */
    'captured_amount'?: number;
    /**
     * Start time of this authorization hold (only for UPI).
     * @type {string}
     * @memberof AuthorizationInPaymentsEntity
     */
    'start_time'?: string;
    /**
     * End time of this authorization hold (only for UPI).
     * @type {string}
     * @memberof AuthorizationInPaymentsEntity
     */
    'end_time'?: string;
    /**
     * Approve by time as passed in the authorization request (only for UPI).
     * @type {string}
     * @memberof AuthorizationInPaymentsEntity
     */
    'approve_by'?: string;
    /**
     * CAPTURE or VOID reference number based on action.
     * @type {string}
     * @memberof AuthorizationInPaymentsEntity
     */
    'action_reference'?: string;
    /**
     * Time of action (CAPTURE or VOID).
     * @type {string}
     * @memberof AuthorizationInPaymentsEntity
     */
    'action_time'?: string;
}
export declare const AuthorizationInPaymentsEntityActionEnum: {
    readonly CAPTURE: "CAPTURE";
    readonly VOID: "VOID";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type AuthorizationInPaymentsEntityActionEnum = typeof AuthorizationInPaymentsEntityActionEnum[keyof typeof AuthorizationInPaymentsEntityActionEnum];
export declare const AuthorizationInPaymentsEntityStatusEnum: {
    readonly SUCCESS: "SUCCESS";
    readonly PENDING: "PENDING";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type AuthorizationInPaymentsEntityStatusEnum = typeof AuthorizationInPaymentsEntityStatusEnum[keyof typeof AuthorizationInPaymentsEntityStatusEnum];
/**
 * Request to capture or void transaction.
 * @export
 * @interface AuthorizeOrderRequest
 */
export interface AuthorizeOrderRequest {
    /**
     * Type of authorisation to run. Available options are `CAPTURE`, `VOID`.
     * @type {string}
     * @memberof AuthorizeOrderRequest
     */
    'action': string;
    /**
     * The amount you want to capture. This is required only when action is `CAPTURE`.
     * @type {number}
     * @memberof AuthorizeOrderRequest
     */
    'amount'?: number;
}
/**
 * Invalid request received from client.
 * @export
 * @interface BadRequestError
 */
export interface BadRequestError {
    /**
     *
     * @type {string}
     * @memberof BadRequestError
     */
    'message'?: string;
    /**
     *
     * @type {string}
     * @memberof BadRequestError
     */
    'code'?: string;
    /**
     *
     * @type {string}
     * @memberof BadRequestError
     */
    'help'?: string;
    /**
     *
     * @type {string}
     * @memberof BadRequestError
     */
    'type'?: BadRequestErrorTypeEnum;
}
export declare const BadRequestErrorTypeEnum: {
    readonly INVALID_REQUEST_ERROR: "invalid_request_error";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type BadRequestErrorTypeEnum = typeof BadRequestErrorTypeEnum[keyof typeof BadRequestErrorTypeEnum];
/**
 *
 * @export
 * @interface BalanceDetails
 */
export interface BalanceDetails {
    /**
     *
     * @type {number}
     * @memberof BalanceDetails
     */
    'merchant_id'?: number;
    /**
     *
     * @type {string}
     * @memberof BalanceDetails
     */
    'vendor_id'?: string;
    /**
     *
     * @type {number}
     * @memberof BalanceDetails
     */
    'merchant_unsettled'?: number;
    /**
     *
     * @type {number}
     * @memberof BalanceDetails
     */
    'vendor_unsettled'?: number;
}
/**
 *
 * @export
 * @interface BankDetails
 */
export interface BankDetails {
    /**
     *
     * @type {string}
     * @memberof BankDetails
     */
    'account_number'?: string;
    /**
     *
     * @type {string}
     * @memberof BankDetails
     */
    'account_holder'?: string;
    /**
     *
     * @type {string}
     * @memberof BankDetails
     */
    'ifsc'?: string;
}
/**
 * Bank transfer payment method.
 * @export
 * @interface Banktransfer
 */
export interface Banktransfer {
    /**
     * The channel for bank transfer is always `link`.
     * @type {string}
     * @memberof Banktransfer
     */
    'channel'?: string;
}
/**
 * banktransfer payment method.
 * @export
 * @interface BanktransferPaymentMethod
 */
export interface BanktransferPaymentMethod {
    /**
     *
     * @type {Banktransfer}
     * @memberof BanktransferPaymentMethod
     */
    'banktransfer': Banktransfer;
}
/**
 * The card payment object can be used to make payments using a plain card, a card saved with Cashfree, an externally saved card, or an external Alt ID for guest checkout transactions. Refer to the examples in the Sample Request section for different payloads, and refer [Token Vault](https://www.cashfree.com/docs/payments/features/token-vault#token-vault) for more details on tokenisation.
 * @export
 * @interface Card
 */
export interface Card {
    /**
     * The channel for card payments can be \"link\" or \"post\". Use \"post\" to request [Native OTP](https://www.cashfree.com/docs/payments/features/native-otp) authentication, where the merchant must render the Native OTP UI to collect the OTP. Otherwise, use link for the redirection flow.
     * @type {string}
     * @memberof Card
     */
    'channel': CardChannelEnum;
    /**
     * Customer’s card number for plain card transactions, or token number for external token transactions, or Alt ID number for external Alt ID transactions.
     * @type {string}
     * @memberof Card
     */
    'card_number'?: string;
    /**
     * Name on the customer’s card. Optional for external token or external Alt ID transactions.
     * @type {string}
     * @memberof Card
     */
    'card_holder_name'?: string;
    /**
     * Card expiry month for plain card transactions, or token expiry month for external token transactions, or Alt ID expiry month for external Alt ID transactions.
     * @type {string}
     * @memberof Card
     */
    'card_expiry_mm'?: string;
    /**
     * Card expiry year for plain card transactions, or token expiry year for external token transactions and Alt ID expiry year for external Alt ID transactions.
     * @type {string}
     * @memberof Card
     */
    'card_expiry_yy'?: string;
    /**
     * CVV mentioned on the card. Mandatory for plain card and external Alt ID transactions; optional for saved card transactions.
     * @type {string}
     * @memberof Card
     */
    'card_cvv'?: string;
    /**
     * Instrument ID of the saved card, as received in response from [Fetch All Saved Card Instrument API](https://www.cashfree.com/docs/api-reference/payments/latest/token-vault/get-all). Required only when making payments using cards saved with Cashfree.
     * @type {string}
     * @memberof Card
     */
    'instrument_id'?: string;
    /**
     * Cryptogram received from the card network. Required only for external token or external Alt ID transactions; provided by the merchant’s token requestor.
     * @type {string}
     * @memberof Card
     */
    'cryptogram'?: string;
    /**
     * Token Requestor ID (TRID) issued by the respective card network. Required only for external token transactions; provided by the merchant’s token requestor.
     * @type {string}
     * @memberof Card
     */
    'token_requestor_id'?: string;
    /**
     * Token Reference ID, required only for external Alt ID transactions for Diners; provided by the merchant’s token requestor.
     * @type {string}
     * @memberof Card
     */
    'token_reference_id'?: string;
    /**
     * Token type enum. Mandatory only for external Alt ID transactions.
     * @type {string}
     * @memberof Card
     */
    'token_type'?: CardTokenTypeEnum;
    /**
     * Last 4 digits of original card number, required only for external token or external Alt ID transactions, used for bookkeeping purposes.
     * @type {string}
     * @memberof Card
     */
    'card_display'?: string;
    /**
     * One of [\"Kotak\", \"ICICI\", \"RBL\", \"BOB\", \"Standard Chartered\"]. Card bank name, required for EMI payments. This is the bank user has selected for EMI.
     * @type {string}
     * @memberof Card
     */
    'card_bank_name'?: CardCardBankNameEnum;
    /**
     * First line of the address.
     * @type {string}
     * @memberof Card
     */
    'address_line_one'?: string;
    /**
     * Second line of the address.
     * @type {string}
     * @memberof Card
     */
    'address_line_two'?: string;
    /**
     * City Name.
     * @type {string}
     * @memberof Card
     */
    'city'?: string;
    /**
     * Pin Code/Zip Code.
     * @type {string}
     * @memberof Card
     */
    'zip_code'?: string;
    /**
     * Country Name.
     * @type {string}
     * @memberof Card
     */
    'country'?: string;
    /**
     * Country Code. Should be in ISO 2 format (ie. US for United States).
     * @type {string}
     * @memberof Card
     */
    'country_code'?: string;
    /**
     * State Name.
     * @type {string}
     * @memberof Card
     */
    'state'?: string;
    /**
     * State Code. Should be in ISO 2 format (ie. FL for Florida).
     * @type {string}
     * @memberof Card
     */
    'state_code'?: string;
    /**
     * EMI tenure selected by the user.
     * @type {number}
     * @memberof Card
     */
    'emi_tenure'?: number;
    /**
     * Par received from network.
     * @type {string}
     * @memberof Card
     */
    'par'?: string;
}
export declare const CardChannelEnum: {
    readonly LINK: "link";
    readonly POST: "post";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type CardChannelEnum = typeof CardChannelEnum[keyof typeof CardChannelEnum];
export declare const CardTokenTypeEnum: {
    readonly NETWORK_GC_TOKEN: "NETWORK_GC_TOKEN";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type CardTokenTypeEnum = typeof CardTokenTypeEnum[keyof typeof CardTokenTypeEnum];
export declare const CardCardBankNameEnum: {
    readonly KOTAK: "Kotak";
    readonly ICICI: "ICICI";
    readonly RBL: "RBL";
    readonly BOB: "BOB";
    readonly STANDARD_CHARTERED: "Standard Chartered";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type CardCardBankNameEnum = typeof CardCardBankNameEnum[keyof typeof CardCardBankNameEnum];
/**
 * The Card incident object will show details about the incident affecting card payments.
 * @export
 * @interface CardDowntime
 */
export interface CardDowntime {
    /**
     *
     * @type {CardDowntimeCard}
     * @memberof CardDowntime
     */
    'card'?: CardDowntimeCard;
}
/**
 *
 * @export
 * @interface CardDowntimeCard
 */
export interface CardDowntimeCard {
    /**
     *
     * @type {Array<string>}
     * @memberof CardDowntimeCard
     */
    'card_issuer'?: Array<string>;
    /**
     *
     * @type {Array<string>}
     * @memberof CardDowntimeCard
     */
    'card_type'?: CardDowntimeCardCardTypeEnum;
    /**
     *
     * @type {Array<string>}
     * @memberof CardDowntimeCard
     */
    'card_network'?: CardDowntimeCardCardNetworkEnum;
}
export declare const CardDowntimeCardCardTypeEnum: {};
export type CardDowntimeCardCardTypeEnum = typeof CardDowntimeCardCardTypeEnum[keyof typeof CardDowntimeCardCardTypeEnum];
export declare const CardDowntimeCardCardNetworkEnum: {};
export type CardDowntimeCardCardNetworkEnum = typeof CardDowntimeCardCardNetworkEnum[keyof typeof CardDowntimeCardCardNetworkEnum];
/**
 * Payment method for card EMI.
 * @export
 * @interface CardEMI
 */
export interface CardEMI {
    /**
     * The channel for card payments will always be \"link\".
     * @type {string}
     * @memberof CardEMI
     */
    'channel': string;
    /**
     * Customer card number.
     * @type {string}
     * @memberof CardEMI
     */
    'card_number': string;
    /**
     * Customer name mentioned on the card.
     * @type {string}
     * @memberof CardEMI
     */
    'card_holder_name'?: string;
    /**
     * Card expiry month.
     * @type {string}
     * @memberof CardEMI
     */
    'card_expiry_mm': string;
    /**
     * Card expiry year.
     * @type {string}
     * @memberof CardEMI
     */
    'card_expiry_yy': string;
    /**
     * CVV mentioned on the card.
     * @type {string}
     * @memberof CardEMI
     */
    'card_cvv': string;
    /**
     * Card alias as returned by Cashfree Vault API.
     * @type {string}
     * @memberof CardEMI
     */
    'card_alias'?: string;
    /**
     * Card bank name, required for EMI payments. This is the bank user has selected for EMI. One of [\"hdfc, \"kotak\", \"icici\", \"rbl\", \"bob\", \"standard chartered\", \"axis\", \"au\", \"yes\", \"sbi\", \"fed\", \"hsbc\", \"citi\", \"amex\"].
     * @type {string}
     * @memberof CardEMI
     */
    'card_bank_name': CardEMICardBankNameEnum;
    /**
     * EMI tenure selected by the user.
     * @type {number}
     * @memberof CardEMI
     */
    'emi_tenure': number;
}
export declare const CardEMICardBankNameEnum: {
    readonly HDFC: "hdfc";
    readonly KOTAK: "kotak";
    readonly ICICI: "icici";
    readonly RBL: "rbl";
    readonly BOB: "bob";
    readonly STANDARD_CHARTERED: "standard chartered";
    readonly AXIS: "axis";
    readonly AU: "au";
    readonly YES: "yes";
    readonly SBI: "sbi";
    readonly FED: "fed";
    readonly HSBC: "hsbc";
    readonly CITI: "citi";
    readonly AMEX: "amex";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type CardEMICardBankNameEnum = typeof CardEMICardBankNameEnum[keyof typeof CardEMICardBankNameEnum];
/**
 * Complete card emi payment method.
 * @export
 * @interface CardEMIPaymentMethod
 */
export interface CardEMIPaymentMethod {
    /**
     *
     * @type {CardEMI}
     * @memberof CardEMIPaymentMethod
     */
    'emi': CardEMI;
}
/**
 *
 * @export
 * @interface CardOffer
 */
export interface CardOffer {
    /**
     *
     * @type {Array<string>}
     * @memberof CardOffer
     */
    'type': Array<string>;
    /**
     * Bank Name of Card.
     * @type {string}
     * @memberof CardOffer
     */
    'bank_name': string;
    /**
     *
     * @type {Array<string>}
     * @memberof CardOffer
     */
    'scheme_name': Array<string>;
}
/**
 * Payload for different payment methods is given below.
 * @export
 * @interface CardPaymentMethod
 */
export interface CardPaymentMethod {
    /**
     *
     * @type {Card}
     * @memberof CardPaymentMethod
     */
    'card'?: Card;
}
/**
 * Request body for cardless EMI payment method.
 * @export
 * @interface CardlessEMI
 */
export interface CardlessEMI {
    /**
     * The channel for cardless EMI is always `link`.
     * @type {string}
     * @memberof CardlessEMI
     */
    'channel'?: string;
    /**
     * One of [`flexmoney`, `zestmoney`, `hdfc`, `icici`, `cashe`, `idfc`, `kotak`, `snapmint`, `bharatx`].
     * @type {string}
     * @memberof CardlessEMI
     */
    'provider'?: CardlessEMIProviderEnum;
    /**
     * Customers phone number for this payment instrument. If the customer is not eligible you will receive a 400 error with type as \'invalid_request_error\' and code as \'invalid_request_error\'.
     * @type {string}
     * @memberof CardlessEMI
     */
    'phone'?: string;
    /**
     * EMI tenure for the selected provider. This is mandatory when provider is one of [`hdfc`, `icici`, `cashe`, `idfc`, `kotak`].
     * @type {number}
     * @memberof CardlessEMI
     */
    'emi_tenure'?: number;
}
export declare const CardlessEMIProviderEnum: {
    readonly FLEXMONEY: "flexmoney";
    readonly ZESTMONEY: "zestmoney";
    readonly HDFC: "hdfc";
    readonly ICICI: "icici";
    readonly CASHE: "cashe";
    readonly IDFC: "idfc";
    readonly KOTAK: "kotak";
    readonly SNAPMINT: "snapmint";
    readonly BHARATX: "bharatx";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type CardlessEMIProviderEnum = typeof CardlessEMIProviderEnum[keyof typeof CardlessEMIProviderEnum];
/**
 * cardless EMI object.
 * @export
 * @interface CardlessEMIEntity
 */
export interface CardlessEMIEntity {
    /**
     *
     * @type {string}
     * @memberof CardlessEMIEntity
     */
    'payment_method'?: string;
    /**
     *
     * @type {Array<EMIPlansArray>}
     * @memberof CardlessEMIEntity
     */
    'emi_plans'?: Array<EMIPlansArray>;
}
/**
 * cardless EMI payment method object.
 * @export
 * @interface CardlessEMIPaymentMethod
 */
export interface CardlessEMIPaymentMethod {
    /**
     *
     * @type {CardlessEMI}
     * @memberof CardlessEMIPaymentMethod
     */
    'cardless_emi': CardlessEMI;
}
/**
 * cardless EMI query object.
 * @export
 * @interface CardlessEMIQueries
 */
export interface CardlessEMIQueries {
    /**
     * OrderId of the order. Either of `order_id` or `amount` is mandatory.
     * @type {string}
     * @memberof CardlessEMIQueries
     */
    'order_id'?: string;
    /**
     * Amount of the order. OrderId of the order. Either of `order_id` or `amount` is mandatory.
     * @type {number}
     * @memberof CardlessEMIQueries
     */
    'amount'?: number;
    /**
     *
     * @type {CustomerDetailsCardlessEMI}
     * @memberof CardlessEMIQueries
     */
    'customer_details'?: CustomerDetailsCardlessEMI;
}
/**
 * Address given for cart details.
 * @export
 * @interface CartAddress
 */
export interface CartAddress {
    /**
     *
     * @type {string}
     * @memberof CartAddress
     */
    'full_name'?: string;
    /**
     *
     * @type {string}
     * @memberof CartAddress
     */
    'country'?: string;
    /**
     *
     * @type {string}
     * @memberof CartAddress
     */
    'city'?: string;
    /**
     *
     * @type {string}
     * @memberof CartAddress
     */
    'state'?: string;
    /**
     *
     * @type {string}
     * @memberof CartAddress
     */
    'pincode'?: string;
    /**
     *
     * @type {string}
     * @memberof CartAddress
     */
    'address_1'?: string;
    /**
     *
     * @type {string}
     * @memberof CartAddress
     */
    'address_2'?: string;
}
/**
 * The cart details that are necessary like shipping address, billing address and more.
 * @export
 * @interface CartDetails
 */
export interface CartDetails {
    /**
     *
     * @type {string}
     * @memberof CartDetails
     */
    'customer_note'?: string;
    /**
     *
     * @type {number}
     * @memberof CartDetails
     */
    'shipping_charge'?: number;
    /**
     * Name of the cart.
     * @type {string}
     * @memberof CartDetails
     */
    'cart_name'?: string;
    /**
     *
     * @type {CartAddress}
     * @memberof CartDetails
     */
    'customer_shipping_address'?: CartAddress;
    /**
     *
     * @type {CartAddress}
     * @memberof CartDetails
     */
    'customer_billing_address'?: CartAddress;
    /**
     *
     * @type {Array<CartItem>}
     * @memberof CartDetails
     */
    'cart_items'?: Array<CartItem>;
}
/**
 * Cart Details in the Order Entity Response.
 * @export
 * @interface CartDetailsEntity
 */
export interface CartDetailsEntity {
    /**
     * ID of the cart that was created.
     * @type {string}
     * @memberof CartDetailsEntity
     */
    'cart_id'?: string;
}
/**
 * Each item in the cart.
 * @export
 * @interface CartItem
 */
export interface CartItem {
    /**
     * Unique identifier of the item.
     * @type {string}
     * @memberof CartItem
     */
    'item_id'?: string;
    /**
     * Name of the item.
     * @type {string}
     * @memberof CartItem
     */
    'item_name'?: string;
    /**
     * Description of the item.
     * @type {string}
     * @memberof CartItem
     */
    'item_description'?: string;
    /**
     * Tags attached to that item.
     * @type {Array<string>}
     * @memberof CartItem
     */
    'item_tags'?: Array<string>;
    /**
     * Item details url.
     * @type {string}
     * @memberof CartItem
     */
    'item_details_url'?: string;
    /**
     * Item image url.
     * @type {string}
     * @memberof CartItem
     */
    'item_image_url'?: string;
    /**
     * Original price.
     * @type {number}
     * @memberof CartItem
     */
    'item_original_unit_price'?: number;
    /**
     * Discounted Price.
     * @type {number}
     * @memberof CartItem
     */
    'item_discounted_unit_price'?: number;
    /**
     * Currency of the item.
     * @type {string}
     * @memberof CartItem
     */
    'item_currency'?: string;
    /**
     * Quantity if that item.
     * @type {number}
     * @memberof CartItem
     */
    'item_quantity'?: number;
    /**
     * Variant identifier of the item.
     * @type {string}
     * @memberof CartItem
     */
    'item_variant_id'?: string;
}
/**
 * Cashback detail boject.
 * @export
 * @interface CashbackDetails
 */
export interface CashbackDetails {
    /**
     * Type of discount.
     * @type {string}
     * @memberof CashbackDetails
     */
    'cashback_type': CashbackDetailsCashbackTypeEnum;
    /**
     * Value of Discount.
     * @type {number}
     * @memberof CashbackDetails
     */
    'cashback_value': number;
    /**
     * Maximum Value of Cashback allowed.
     * @type {number}
     * @memberof CashbackDetails
     */
    'max_cashback_amount': number;
}
export declare const CashbackDetailsCashbackTypeEnum: {
    readonly FLAT: "flat";
    readonly PERCENTAGE: "percentage";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type CashbackDetailsCashbackTypeEnum = typeof CashbackDetailsCashbackTypeEnum[keyof typeof CashbackDetailsCashbackTypeEnum];
/**
 *
 * @export
 * @interface ChargesDetails
 */
export interface ChargesDetails {
    /**
     *
     * @type {number}
     * @memberof ChargesDetails
     */
    'service_charges'?: number;
    /**
     *
     * @type {number}
     * @memberof ChargesDetails
     */
    'service_tax'?: number;
    /**
     *
     * @type {number}
     * @memberof ChargesDetails
     */
    'amount'?: number;
    /**
     *
     * @type {string}
     * @memberof ChargesDetails
     */
    'billed_to'?: string;
    /**
     *
     * @type {boolean}
     * @memberof ChargesDetails
     */
    'is_postpaid'?: boolean;
}
/**
 * Charges accociated with the order.
 * @export
 * @interface ChargesEntity
 */
export interface ChargesEntity {
    /**
     * Shipping charge of the order.
     * @type {number}
     * @memberof ChargesEntity
     */
    'shipping_charges'?: number;
    /**
     * COD handling fee for order.
     * @type {number}
     * @memberof ChargesEntity
     */
    'cod_handling_charges'?: number;
}
/**
 * Request body to create a customer at Cashfree.
 * @export
 * @interface CreateCustomerRequest
 */
export interface CreateCustomerRequest {
    /**
     * Customer Phone Number.
     * @type {string}
     * @memberof CreateCustomerRequest
     */
    'customer_phone': string;
    /**
     * Customer Email.
     * @type {string}
     * @memberof CreateCustomerRequest
     */
    'customer_email'?: string;
    /**
     * Customer Name.
     * @type {string}
     * @memberof CreateCustomerRequest
     */
    'customer_name'?: string;
}
/**
 * Request body to create a plan.
 * @export
 * @interface CreateLinkPlanRequest
 */
export interface CreateLinkPlanRequest {
    /**
     * Unique ID to identify the plan. Only alpha-numerics, dot, hyphen and underscore allowed.
     * @type {string}
     * @memberof CreateLinkPlanRequest
     */
    'plan_id': string;
    /**
     * Name of the plan.
     * @type {string}
     * @memberof CreateLinkPlanRequest
     */
    'plan_name': string;
    /**
     * Type of the plan. Possible values - PERIODIC, ON_DEMAND.
     * @type {string}
     * @memberof CreateLinkPlanRequest
     */
    'plan_type': string;
    /**
     * Currency of the plan.
     * @type {string}
     * @memberof CreateLinkPlanRequest
     */
    'plan_currency'?: string;
    /**
     * The amount to be charged for PERIODIC plan. This is a conditional parameter, only required for PERIODIC plans.
     * @type {number}
     * @memberof CreateLinkPlanRequest
     */
    'plan_amount'?: number;
    /**
     * Maximum amount for the plan.
     * @type {number}
     * @memberof CreateLinkPlanRequest
     */
    'plan_max_amount': number;
    /**
     * Maximum number of payment cycles for the plan.
     * @type {number}
     * @memberof CreateLinkPlanRequest
     */
    'plan_max_cycles'?: number;
    /**
     * Number of billing cycles between charges.
     * @type {number}
     * @memberof CreateLinkPlanRequest
     */
    'plan_intervals'?: number;
    /**
     * Interval type for the plan. Possible values - DAY, WEEK, MONTH, YEAR.
     * @type {string}
     * @memberof CreateLinkPlanRequest
     */
    'plan_interval_type'?: string;
    /**
     * Note for the plan.
     * @type {string}
     * @memberof CreateLinkPlanRequest
     */
    'plan_note'?: string;
}
/**
 *
 * @export
 * @interface CreateLinkRequest
 */
export interface CreateLinkRequest {
    /**
     * Unique Identifier (provided by merchant) for the Link. Alphanumeric and only - and _ allowed (50 character limit). Use this for other link-related APIs.
     * @type {string}
     * @memberof CreateLinkRequest
     */
    'link_id'?: string;
    /**
     * Amount to be collected using this link. Provide upto two decimals for paise.
     * @type {number}
     * @memberof CreateLinkRequest
     */
    'link_amount': number;
    /**
     * Currency for the payment link. Default is INR. Submit [Support Form](https://merchant.cashfree.com/auth/login) to enable new currencies.
     * @type {string}
     * @memberof CreateLinkRequest
     */
    'link_currency': string;
    /**
     * A brief description for which payment must be collected. This is shown to the customer.
     * @type {string}
     * @memberof CreateLinkRequest
     */
    'link_purpose'?: string;
    /**
     *
     * @type {LinkCustomerDetailsEntity}
     * @memberof CreateLinkRequest
     */
    'customer_details': LinkCustomerDetailsEntity;
    /**
     * If \"true\", customer can make partial payments for the link.
     * @type {boolean}
     * @memberof CreateLinkRequest
     */
    'link_partial_payments'?: boolean;
    /**
     * Minimum amount in first installment that needs to be paid by the customer if partial payments are enabled. This should be less than the link_amount.
     * @type {number}
     * @memberof CreateLinkRequest
     */
    'link_minimum_partial_amount'?: number;
    /**
     * Time after which the link expires. Customers will not be able to make the payment beyond the time specified here. You can provide them in a valid ISO 8601 time format. Default is 30 days.
     * @type {string}
     * @memberof CreateLinkRequest
     */
    'link_expiry_time'?: string;
    /**
     *
     * @type {LinkNotifyEntity}
     * @memberof CreateLinkRequest
     */
    'link_notify'?: LinkNotifyEntity;
    /**
     * If \"true\", reminders will be sent to customers for collecting payments.
     * @type {boolean}
     * @memberof CreateLinkRequest
     */
    'link_auto_reminders'?: boolean;
    /**
     * Key-value pair that can be used to store additional information about the entity. Maximum 5 key-value pairs.
     * @type {{ [key: string]: string; }}
     * @memberof CreateLinkRequest
     */
    'link_notes'?: {
        [key: string]: string;
    };
    /**
     *
     * @type {LinkMetaResponseEntity}
     * @memberof CreateLinkRequest
     */
    'link_meta'?: LinkMetaResponseEntity;
    /**
     * If you have Easy split enabled in your Cashfree account then you can use this option to split the order amount.
     * @type {Array<VendorSplit>}
     * @memberof CreateLinkRequest
     */
    'order_splits'?: Array<VendorSplit>;
    /**
     * Enable or disable invoice generation for this payment link.
     * @type {boolean}
     * @memberof CreateLinkRequest
     */
    'enable_invoice'?: boolean;
    /**
     *
     * @type {Subscription}
     * @memberof CreateLinkRequest
     */
    'subscription'?: Subscription;
}
/**
 * create offer backend request object.
 * @export
 * @interface CreateOfferRequest
 */
export interface CreateOfferRequest {
    /**
     *
     * @type {OfferMeta}
     * @memberof CreateOfferRequest
     */
    'offer_meta': OfferMeta;
    /**
     *
     * @type {OfferTnc}
     * @memberof CreateOfferRequest
     */
    'offer_tnc': OfferTnc;
    /**
     *
     * @type {OfferDetails}
     * @memberof CreateOfferRequest
     */
    'offer_details': OfferDetails;
    /**
     *
     * @type {OfferValidations}
     * @memberof CreateOfferRequest
     */
    'offer_validations': OfferValidations;
}
/**
 * Request body to create an order at Cashfree.
 * @export
 * @interface CreateOrderRequest
 */
export interface CreateOrderRequest {
    /**
     * Order identifier present in your system. Alphanumeric, \'_\' and \'-\' only.
     * @type {string}
     * @memberof CreateOrderRequest
     */
    'order_id'?: string;
    /**
     * Bill amount for the order. Provide upto two decimals. 10.15 means Rs 10 and 15 paisa. For orders in non-INR currency, please refer to [supported amounts](https://www.cashfree.com/docs/payments/international-payments/ipg/currencies-supported#decimal-support) per currency.
     * @type {number}
     * @memberof CreateOrderRequest
     */
    'order_amount': number;
    /**
     * Currency for the order. INR if left empty. For support currency list, refer [here](https://www.cashfree.com/docs/payments/international-payments/ipg/currencies-supported#full-currency-list). Submit [Support Form](https://merchant.cashfree.com/auth/login) to enable new currencies.
     * @type {string}
     * @memberof CreateOrderRequest
     */
    'order_currency': string;
    /**
     *
     * @type {CartDetails}
     * @memberof CreateOrderRequest
     */
    'cart_details'?: CartDetails;
    /**
     *
     * @type {CustomerDetails}
     * @memberof CreateOrderRequest
     */
    'customer_details'?: CustomerDetails;
    /**
     *
     * @type {TerminalDetails}
     * @memberof CreateOrderRequest
     */
    'terminal'?: TerminalDetails;
    /**
     *
     * @type {OrderMeta}
     * @memberof CreateOrderRequest
     */
    'order_meta'?: OrderMeta;
    /**
     * Time after which the order expires. Customers will not be able to make the payment beyond the time specified here. We store timestamps in IST, but you can provide them in a valid ISO 8601 time format. Example 2021-07-02T10:20:12+05:30 for IST, 2021-07-02T10:20:12Z for UTC
     * @type {string}
     * @memberof CreateOrderRequest
     */
    'order_expiry_time'?: string;
    /**
     * Order note for reference.
     * @type {string}
     * @memberof CreateOrderRequest
     */
    'order_note'?: string;
    /**
     * Custom Tags in the form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added.
     * @type {{ [key: string]: string; }}
     * @memberof CreateOrderRequest
     */
    'order_tags'?: {
        [key: string]: string;
    };
    /**
     * If you have Easy split enabled in your Cashfree account then you can use this option to split the order amount.
     * @type {Array<VendorSplit>}
     * @memberof CreateOrderRequest
     */
    'order_splits'?: Array<VendorSplit>;
    /**
     *
     * @type {Products}
     * @memberof CreateOrderRequest
     */
    'products'?: Products;
}
/**
 * Create Order Settlement Object.
 * @export
 * @interface CreateOrderSettlementRequestBody
 */
export interface CreateOrderSettlementRequestBody {
    /**
     * OrderId of the order.
     * @type {string}
     * @memberof CreateOrderSettlementRequestBody
     */
    'order_id': string;
    /**
     *
     * @type {CreateOrderSettlementRequestBodyMetaData}
     * @memberof CreateOrderSettlementRequestBody
     */
    'meta_data': CreateOrderSettlementRequestBodyMetaData;
}
/**
 *
 * @export
 * @interface CreateOrderSettlementRequestBodyMetaData
 */
export interface CreateOrderSettlementRequestBodyMetaData {
    /**
     * Meta data cbricks ID to be used for reporting purpose.
     * @type {string}
     * @memberof CreateOrderSettlementRequestBodyMetaData
     */
    'cbriks_id'?: string;
    /**
     * Requested Settlement Date.
     * @type {string}
     * @memberof CreateOrderSettlementRequestBodyMetaData
     */
    'settlement_date'?: string;
}
/**
 * Request parameters to create a new plan.
 * @export
 * @interface CreatePlanRequest
 */
export interface CreatePlanRequest {
    /**
     * Unique ID to identify the plan. Only alpha-numerics, dot, hyphen and underscore allowed.
     * @type {string}
     * @memberof CreatePlanRequest
     */
    'plan_id': string;
    /**
     * Name of the plan.
     * @type {string}
     * @memberof CreatePlanRequest
     */
    'plan_name': string;
    /**
     * Type of the plan. Possible values - PERIODIC, ON_DEMAND.
     * @type {string}
     * @memberof CreatePlanRequest
     */
    'plan_type': string;
    /**
     * Currency of the plan. For plans in non-INR currency, please refer to [supported currencies](https://www.cashfree.com/docs/payments/international-payments/ipg/currencies-supported#full-currency-list).
     * @type {string}
     * @memberof CreatePlanRequest
     */
    'plan_currency'?: string;
    /**
     * Recurring amount for the plan. Required for PERIODIC plan_type.
     * @type {number}
     * @memberof CreatePlanRequest
     */
    'plan_recurring_amount'?: number;
    /**
     * Maximum amount for the plan.
     * @type {number}
     * @memberof CreatePlanRequest
     */
    'plan_max_amount': number;
    /**
     * Maximum number of payment cycles for the plan.
     * @type {number}
     * @memberof CreatePlanRequest
     */
    'plan_max_cycles'?: number;
    /**
     * Number of billing cycles between charges. For instance, if set to 2 and the interval type is \'week\', the service will be billed every 2 weeks. Similarly, if set to 3 and the interval type is \'month\', the service will be billed every 3 months. Required for PERIODIC plan_type.
     * @type {number}
     * @memberof CreatePlanRequest
     */
    'plan_intervals'?: number;
    /**
     * Interval type for the plan. Possible values - DAY, WEEK, MONTH, YEAR.
     * @type {string}
     * @memberof CreatePlanRequest
     */
    'plan_interval_type'?: string;
    /**
     * Note for the plan.
     * @type {string}
     * @memberof CreatePlanRequest
     */
    'plan_note'?: string;
}
/**
 * The request to be passed for the create subscription payment API.
 * @export
 * @interface CreateSubscriptionPaymentRequest
 */
export interface CreateSubscriptionPaymentRequest {
    /**
     * A unique ID passed by merchant for identifying the subscription.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequest
     */
    'subscription_id': string;
    /**
     * Session ID for the subscription. Required only for Auth.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequest
     */
    'subscription_session_id'?: string;
    /**
     * A unique ID passed by merchant for identifying the subscription payment.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequest
     */
    'payment_id': string;
    /**
     * The charge amount of the payment. Required in case of charge.
     * @type {number}
     * @memberof CreateSubscriptionPaymentRequest
     */
    'payment_amount'?: number;
    /**
     * The date on which the payment is scheduled to be processed. This field is required for UPI and CARD payment modes. Cashfree stores timestamps in IST, but you can provide them in a valid ISO 8601 time format. For IST this `2025-06-01T10:20:12+05:30` translates to `2025-06-01 10:20:12`. For UTC this `2025-06-01T10:20:12Z` translates to `2025-06-01 15:50:12+05:30`.   Please note that only the date component is considered. Any time value provided will be ignored.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequest
     */
    'payment_schedule_date'?: string;
    /**
     * Payment remarks.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequest
     */
    'payment_remarks'?: string;
    /**
     * Payment type. Can be AUTH or CHARGE.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequest
     */
    'payment_type': string;
    /**
     *
     * @type {CreateSubscriptionPaymentRequestPaymentMethod}
     * @memberof CreateSubscriptionPaymentRequest
     */
    'payment_method'?: CreateSubscriptionPaymentRequestPaymentMethod;
}
/**
 * payment method card.
 * @export
 * @interface CreateSubscriptionPaymentRequestCard
 */
export interface CreateSubscriptionPaymentRequestCard {
    /**
     *
     * @type {CreateSubscriptionPaymentRequestCardCard}
     * @memberof CreateSubscriptionPaymentRequestCard
     */
    'card'?: CreateSubscriptionPaymentRequestCardCard;
}
/**
 *
 * @export
 * @interface CreateSubscriptionPaymentRequestCardCard
 */
export interface CreateSubscriptionPaymentRequestCardCard {
    /**
     * Card CVV.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestCardCard
     */
    'card_cvv'?: string;
    /**
     * Card expiry month.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestCardCard
     */
    'card_expiry_mm'?: string;
    /**
     * Card expiry year.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestCardCard
     */
    'card_expiry_yy'?: string;
    /**
     * Card holder name.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestCardCard
     */
    'card_holder_name'?: string;
    /**
     * Card network.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestCardCard
     */
    'card_network'?: string;
    /**
     * Card number.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestCardCard
     */
    'card_number'?: string;
    /**
     * Card type.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestCardCard
     */
    'card_type'?: string;
    /**
     * Channel. can be link.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestCardCard
     */
    'channel'?: string;
}
/**
 * payment method enach.
 * @export
 * @interface CreateSubscriptionPaymentRequestEnach
 */
export interface CreateSubscriptionPaymentRequestEnach {
    /**
     *
     * @type {CreateSubscriptionPaymentRequestEnachEnach}
     * @memberof CreateSubscriptionPaymentRequestEnach
     */
    'enach'?: CreateSubscriptionPaymentRequestEnachEnach;
}
/**
 *
 * @export
 * @interface CreateSubscriptionPaymentRequestEnachEnach
 */
export interface CreateSubscriptionPaymentRequestEnachEnach {
    /**
     * Account bank code (mandatory). Consists of the first four alphabetic characters of the IFSC.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestEnachEnach
     */
    'account_bank_code'?: string;
    /**
     * Account holder name.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestEnachEnach
     */
    'account_holder_name'?: string;
    /**
     * Account IFSC (optional). Complete 11-character alphanumeric code.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestEnachEnach
     */
    'account_ifsc'?: string;
    /**
     * Account number.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestEnachEnach
     */
    'account_number'?: string;
    /**
     * Account type.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestEnachEnach
     */
    'account_type'?: CreateSubscriptionPaymentRequestEnachEnachAccountTypeEnum;
    /**
     * Authentication mode. can be `debit_card`, `aadhaar`, or `net_banking`.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestEnachEnach
     */
    'auth_mode'?: string;
    /**
     * Channel. can be link.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestEnachEnach
     */
    'channel'?: string;
}
export declare const CreateSubscriptionPaymentRequestEnachEnachAccountTypeEnum: {
    readonly SAVINGS: "SAVINGS";
    readonly CURRENT: "CURRENT";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type CreateSubscriptionPaymentRequestEnachEnachAccountTypeEnum = typeof CreateSubscriptionPaymentRequestEnachEnachAccountTypeEnum[keyof typeof CreateSubscriptionPaymentRequestEnachEnachAccountTypeEnum];
/**
 * @type CreateSubscriptionPaymentRequestPaymentMethod
 * Payment method. Can be one of [\"upi\", \"enach\", \"pnach\", \"card\"]. This field is not required when raising a charge. It is only mandatory when raising an authorisation. In the case of a charge, this field is ignored, and the charge will be created using the same payment method that was used for the original authorisation.
 * @export
 */
export type CreateSubscriptionPaymentRequestPaymentMethod = CreateSubscriptionPaymentRequestCard | CreateSubscriptionPaymentRequestEnach | CreateSubscriptionPaymentRequestPnach | CreateSubscriptionPaymentRequestUpi;
/**
 * payment method pnach.
 * @export
 * @interface CreateSubscriptionPaymentRequestPnach
 */
export interface CreateSubscriptionPaymentRequestPnach {
    /**
     *
     * @type {CreateSubscriptionPaymentRequestPnachPnach}
     * @memberof CreateSubscriptionPaymentRequestPnach
     */
    'pnach'?: CreateSubscriptionPaymentRequestPnachPnach;
}
/**
 *
 * @export
 * @interface CreateSubscriptionPaymentRequestPnachPnach
 */
export interface CreateSubscriptionPaymentRequestPnachPnach {
    /**
     * Account bank code. Consists of the first four alphabetic characters of the IFSC.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestPnachPnach
     */
    'account_bank_code'?: string;
    /**
     * Account holder name.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestPnachPnach
     */
    'account_holder_name'?: string;
    /**
     * Account IFSC. Complete 11-character alphanumeric code.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestPnachPnach
     */
    'account_ifsc'?: string;
    /**
     * Account number.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestPnachPnach
     */
    'account_number'?: string;
    /**
     * Account type.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestPnachPnach
     */
    'account_type'?: string;
    /**
     * Channel. can be post.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestPnachPnach
     */
    'channel'?: string;
    /**
     * Mandate creation date.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestPnachPnach
     */
    'mandate_creation_date'?: string;
    /**
     * Mandate start date.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestPnachPnach
     */
    'mandate_start_date'?: string;
}
/**
 * payment method upi.
 * @export
 * @interface CreateSubscriptionPaymentRequestUpi
 */
export interface CreateSubscriptionPaymentRequestUpi {
    /**
     *
     * @type {CreateSubscriptionPaymentRequestUpiUpi}
     * @memberof CreateSubscriptionPaymentRequestUpi
     */
    'upi'?: CreateSubscriptionPaymentRequestUpiUpi;
}
/**
 *
 * @export
 * @interface CreateSubscriptionPaymentRequestUpiUpi
 */
export interface CreateSubscriptionPaymentRequestUpiUpi {
    /**
     * Channel. can be link, qrcode, or collect.
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestUpiUpi
     */
    'channel'?: string;
    /**
     *
     * @type {string}
     * @memberof CreateSubscriptionPaymentRequestUpiUpi
     */
    'upi_id'?: string;
}
/**
 * The response returned is Create Subscription Auth or Charge APIs.
 * @export
 * @interface CreateSubscriptionPaymentResponse
 */
export interface CreateSubscriptionPaymentResponse {
    /**
     * Cashfree subscription payment reference number.
     * @type {string}
     * @memberof CreateSubscriptionPaymentResponse
     */
    'cf_payment_id'?: string;
    /**
     *
     * @type {SubscriptionPaymentEntityFailureDetails}
     * @memberof CreateSubscriptionPaymentResponse
     */
    'failure_details'?: SubscriptionPaymentEntityFailureDetails;
    /**
     * The charge amount of the payment.
     * @type {number}
     * @memberof CreateSubscriptionPaymentResponse
     */
    'payment_amount'?: number;
    /**
     * A unique ID passed by merchant for identifying the transaction.
     * @type {string}
     * @memberof CreateSubscriptionPaymentResponse
     */
    'payment_id'?: string;
    /**
     * The date on which the payment was initiated. We store timestamps in IST.
     * @type {string}
     * @memberof CreateSubscriptionPaymentResponse
     */
    'payment_initiated_date'?: string;
    /**
     * Status of the payment.
     * @type {string}
     * @memberof CreateSubscriptionPaymentResponse
     */
    'payment_status'?: string;
    /**
     * Payment type. Can be AUTH or CHARGE.
     * @type {string}
     * @memberof CreateSubscriptionPaymentResponse
     */
    'payment_type'?: string;
    /**
     * A unique ID passed by merchant for identifying the subscription.
     * @type {string}
     * @memberof CreateSubscriptionPaymentResponse
     */
    'subscription_id'?: string;
    /**
     * Contains a payload for auth app links in case of AUTH. For charge, the payload is empty.
     * @type {object}
     * @memberof CreateSubscriptionPaymentResponse
     */
    'data'?: object;
    /**
     * Payment method used for the authorisation.
     * @type {string}
     * @memberof CreateSubscriptionPaymentResponse
     */
    'payment_method'?: string;
}
/**
 * Request body to create a subscription refund.
 * @export
 * @interface CreateSubscriptionRefundRequest
 */
export interface CreateSubscriptionRefundRequest {
    /**
     * Cashfree subscription payment reference number.
     * @type {number}
     * @memberof CreateSubscriptionRefundRequest
     */
    'cf_payment_id'?: number;
    /**
     * A unique ID passed by merchant for identifying the subscription.
     * @type {string}
     * @memberof CreateSubscriptionRefundRequest
     */
    'subscription_id': string;
    /**
     * A unique ID passed by merchant for identifying the transaction.
     * @type {string}
     * @memberof CreateSubscriptionRefundRequest
     */
    'payment_id': string;
    /**
     * A unique ID passed by merchant for identifying the refund.
     * @type {string}
     * @memberof CreateSubscriptionRefundRequest
     */
    'refund_id': string;
    /**
     * The amount to be refunded. Can be partial or full amount of the payment.
     * @type {number}
     * @memberof CreateSubscriptionRefundRequest
     */
    'refund_amount': number;
    /**
     * Refund note for merchant reference. To simulate refund status in Sandbox, pass SUCCESS, FAILED, PENDING, or ACTIVE in the refund_note field. This is a case-sensitive parameter.
     * @type {string}
     * @memberof CreateSubscriptionRefundRequest
     */
    'refund_note'?: string;
    /**
     * Refund speed. Can be INSTANT or STANDARD. UPI supports only STANDARD refunds, Enach and Pnach supports only INSTANT refunds.
     * @type {string}
     * @memberof CreateSubscriptionRefundRequest
     */
    'refund_speed'?: string;
}
/**
 * Request parameters to create a new subscription.
 * @export
 * @interface CreateSubscriptionRequest
 */
export interface CreateSubscriptionRequest {
    /**
     * A unique ID for the subscription. It can include alphanumeric characters, underscore, dot, hyphen, and space. Maximum characters allowed is 250.
     * @type {string}
     * @memberof CreateSubscriptionRequest
     */
    'subscription_id': string;
    /**
     *
     * @type {SubscriptionCustomerDetails}
     * @memberof CreateSubscriptionRequest
     */
    'customer_details': SubscriptionCustomerDetails;
    /**
     *
     * @type {CreateSubscriptionRequestPlanDetails}
     * @memberof CreateSubscriptionRequest
     */
    'plan_details': CreateSubscriptionRequestPlanDetails;
    /**
     *
     * @type {CreateSubscriptionRequestAuthorizationDetails}
     * @memberof CreateSubscriptionRequest
     */
    'authorization_details'?: CreateSubscriptionRequestAuthorizationDetails;
    /**
     *
     * @type {CreateSubscriptionRequestSubscriptionMeta}
     * @memberof CreateSubscriptionRequest
     */
    'subscription_meta'?: CreateSubscriptionRequestSubscriptionMeta;
    /**
     * Expiry date for the subscription. Cashfree stores timestamps in IST, but you can provide them in a valid ISO 8601 time format.  For IST this `2025-06-01T10:20:12+05:30` translates to `2025-06-01 10:20:12`    For UTC this `2025-06-01T10:20:12Z` translates to `2025-06-01 15:50:12+05:30`.
     * @type {string}
     * @memberof CreateSubscriptionRequest
     */
    'subscription_expiry_time'?: string;
    /**
     * Time at which the first charge will be made for the subscription after authorization. Applicable only for PERIODIC plans. Cashfree stores timestamps in IST, but you can provide them in a valid ISO 8601 time format.  For IST this `2025-06-01T10:20:12+05:30` translates to `2025-06-01 10:20:12`    For UTC this `2025-06-01T10:20:12Z` translates to `2025-06-01 15:50:12+05:30`.
     * @type {string}
     * @memberof CreateSubscriptionRequest
     */
    'subscription_first_charge_time'?: string;
    /**
     * Custom tags for this subscription. You can include up to 10 entries as string key-value pairs. Use any key names that suit your integration. A commonly used key is psp_note, which sets the note displayed to the customer in their payment service provider (PSP) app or on their statement. When using psp_note, the value must be between 1 and 255 characters.
     * @type {object}
     * @memberof CreateSubscriptionRequest
     */
    'subscription_tags'?: object;
    /**
     * Payment splits for the subscription.
     * @type {Array<SubscriptionPaymentSplitItem>}
     * @memberof CreateSubscriptionRequest
     */
    'subscription_payment_splits'?: Array<SubscriptionPaymentSplitItem>;
    /**
     * Cashfree order ID for the subscription.
     * @type {string}
     * @memberof CreateSubscriptionRequest
     */
    'cf_order_id'?: string;
}
/**
 *
 * @export
 * @interface CreateSubscriptionRequestAuthorizationDetails
 */
export interface CreateSubscriptionRequestAuthorizationDetails {
    /**
     * Authorization amount for the auth payment. Please note that authorization_amount will always be 0 for ENACH.
     * @type {number}
     * @memberof CreateSubscriptionRequestAuthorizationDetails
     */
    'authorization_amount'?: number;
    /**
     * Indicates whether the authorization amount should be refunded to the customer automatically. Merchants can use this field to specify if the authorized funds should be returned to the customer after authorization of the subscription.
     * @type {boolean}
     * @memberof CreateSubscriptionRequestAuthorizationDetails
     */
    'authorization_amount_refund'?: boolean;
    /**
     * Payment methods for the subscription. enach, pnach, upi, card are possible values.
     * @type {Array<string>}
     * @memberof CreateSubscriptionRequestAuthorizationDetails
     */
    'payment_methods'?: Array<string>;
}
/**
 *
 * @export
 * @interface CreateSubscriptionRequestPlanDetails
 */
export interface CreateSubscriptionRequestPlanDetails {
    /**
     * The unique identifier used to create plan. You only need to pass this field if you had already created plan. Otherwise use the other fields here to define the plan.
     * @type {string}
     * @memberof CreateSubscriptionRequestPlanDetails
     */
    'plan_id'?: string;
    /**
     * Specify plan name for easy reference.
     * @type {string}
     * @memberof CreateSubscriptionRequestPlanDetails
     */
    'plan_name'?: string;
    /**
     * Possible values ON_DEMAND or PERIODIC. PERIODIC - Payments are triggered automatically at fixed intervals defined by the merchant. ON_DEMAND - Merchant needs to trigger/charge the customer explicitly with the required amount.
     * @type {string}
     * @memberof CreateSubscriptionRequestPlanDetails
     */
    'plan_type'?: string;
    /**
     * INR by default. For subscriptions in non-INR currency, please refer to [supported currencies](https://www.cashfree.com/docs/payments/international-payments/ipg/currencies-supported#full-currency-list).
     * @type {string}
     * @memberof CreateSubscriptionRequestPlanDetails
     */
    'plan_currency'?: string;
    /**
     * The amount to be charged for PERIODIC plan. This is a conditional parameter, only required for PERIODIC plans.
     * @type {number}
     * @memberof CreateSubscriptionRequestPlanDetails
     */
    'plan_amount'?: number;
    /**
     * This is the maximum amount that can be charged on a subscription.
     * @type {number}
     * @memberof CreateSubscriptionRequestPlanDetails
     */
    'plan_max_amount'?: number;
    /**
     * Maximum number of debits set for the plan. The subscription will automatically change to COMPLETED status once this limit is reached.
     * @type {number}
     * @memberof CreateSubscriptionRequestPlanDetails
     */
    'plan_max_cycles'?: number;
    /**
     * Number of intervals of intervalType between every subscription payment. For example, to charge a customer bi-weekly use intervalType as “week” and intervals as 2. Required for PERIODIC plan. The default value is 1.
     * @type {number}
     * @memberof CreateSubscriptionRequestPlanDetails
     */
    'plan_intervals'?: number;
    /**
     * The type of interval for a PERIODIC plan like DAY, WEEK, MONTH, or YEAR. This is a conditional parameter only applicable for PERIODIC plans.
     * @type {string}
     * @memberof CreateSubscriptionRequestPlanDetails
     */
    'plan_interval_type'?: string;
    /**
     * Note for the plan.
     * @type {string}
     * @memberof CreateSubscriptionRequestPlanDetails
     */
    'plan_note'?: string;
}
/**
 *
 * @export
 * @interface CreateSubscriptionRequestSubscriptionMeta
 */
export interface CreateSubscriptionRequestSubscriptionMeta {
    /**
     * The url to redirect after checkout.
     * @type {string}
     * @memberof CreateSubscriptionRequestSubscriptionMeta
     */
    'return_url'?: string;
    /**
     * Notification channel for the subscription. SMS, EMAIL are possible values.
     * @type {Array<string>}
     * @memberof CreateSubscriptionRequestSubscriptionMeta
     */
    'notification_channel'?: Array<string>;
    /**
     * Expiry date for the subscription session.
     * @type {string}
     * @memberof CreateSubscriptionRequestSubscriptionMeta
     */
    'session_id_expiry'?: string;
}
/**
 * Request body to create a terminal.
 * @export
 * @interface CreateTerminalRequest
 */
export interface CreateTerminalRequest {
    /**
     * merchant’s internal terminal id.
     * @type {string}
     * @memberof CreateTerminalRequest
     */
    'terminal_id': string;
    /**
     * phone number assigned to the terminal.
     * @type {string}
     * @memberof CreateTerminalRequest
     */
    'terminal_phone_no': string;
    /**
     * terminal name to be assigned by merchants.
     * @type {string}
     * @memberof CreateTerminalRequest
     */
    'terminal_name': string;
    /**
     * address of the terminal. required for STOREFRONT.
     * @type {string}
     * @memberof CreateTerminalRequest
     */
    'terminal_address'?: string;
    /**
     * terminal email ID of the AGENT/STOREFRONT assigned by merchants.
     * @type {string}
     * @memberof CreateTerminalRequest
     */
    'terminal_email': string;
    /**
     * additional note for terminal.
     * @type {string}
     * @memberof CreateTerminalRequest
     */
    'terminal_note'?: string;
    /**
     * mention the terminal type. possible values - AGENT, STOREFRONT.
     * @type {string}
     * @memberof CreateTerminalRequest
     */
    'terminal_type': string;
    /**
     *
     * @type {CreateTerminalRequestTerminalMeta}
     * @memberof CreateTerminalRequest
     */
    'terminal_meta'?: CreateTerminalRequestTerminalMeta;
    /**
     * Merchant\'s vpa prefix for the terminal.
     * @type {string}
     * @memberof CreateTerminalRequest
     */
    'terminal_vpa_prefix'?: string;
}
/**
 * terminal metadata. required field for storefront.
 * @export
 * @interface CreateTerminalRequestTerminalMeta
 */
export interface CreateTerminalRequestTerminalMeta {
    /**
     * name of the STOREFRONT operator.
     * @type {string}
     * @memberof CreateTerminalRequestTerminalMeta
     */
    'terminal_operator'?: string;
}
/**
 * Request body to create a terminal transaction.
 * @export
 * @interface CreateTerminalTransactionRequest
 */
export interface CreateTerminalTransactionRequest {
    /**
     * cashfree order ID that was returned while creating an order.
     * @type {string}
     * @memberof CreateTerminalTransactionRequest
     */
    'cf_order_id': string;
    /**
     * Cashfree terminal ID, this is a required parameter when you do not provide the terminal phone number.
     * @type {number}
     * @memberof CreateTerminalTransactionRequest
     */
    'cf_terminal_id'?: number;
    /**
     * mention the payment method used for the transaction. possible values - QR_CODE, LINK.
     * @type {string}
     * @memberof CreateTerminalTransactionRequest
     */
    'payment_method'?: string;
    /**
     * agent mobile number assigned to the terminal. this is a required parameter when you do not provide the cf_terminal_id.
     * @type {string}
     * @memberof CreateTerminalTransactionRequest
     */
    'terminal_phone_no'?: string;
    /**
     * make it true to have request be sent to create a Dynamic GST QR Code.
     * @type {boolean}
     * @memberof CreateTerminalTransactionRequest
     */
    'add_invoice'?: boolean;
}
/**
 * Create Vendor Request.
 * @export
 * @interface CreateVendorRequest
 */
export interface CreateVendorRequest {
    /**
     * Specify the unique Vendor ID to identify the beneficiary. Alphanumeric and underscore (_) allowed.
     * @type {string}
     * @memberof CreateVendorRequest
     */
    'vendor_id': string;
    /**
     * Specify the status of vendor that should be updated. Possible values: ACTIVE,BLOCKED, DELETED.
     * @type {string}
     * @memberof CreateVendorRequest
     */
    'status': string;
    /**
     * Specify the name of the vendor to be updated. Name should not have any special character except . / - &.
     * @type {string}
     * @memberof CreateVendorRequest
     */
    'name': string;
    /**
     * Specify the vendor email ID that should be updated. String in email ID format (Ex:johndoe_1@cashfree.com) should contain @ and dot (.).
     * @type {string}
     * @memberof CreateVendorRequest
     */
    'email': string;
    /**
     * Specify the beneficiaries phone number to be updated. Phone number registered in India (only digits, 8 - 12 characters after excluding +91).
     * @type {string}
     * @memberof CreateVendorRequest
     */
    'phone': string;
    /**
     * Specify if the vendor bank account details should be verified. Possible values: true or false.
     * @type {boolean}
     * @memberof CreateVendorRequest
     */
    'verify_account'?: boolean;
    /**
     * Update if the vendor will have dashboard access or not. Possible values are: true or false.
     * @type {boolean}
     * @memberof CreateVendorRequest
     */
    'dashboard_access'?: boolean;
    /**
     * Specify the settlement cycle to be updated. View the settlement cycle details from the \"Settlement Cycles Supported\" table. If no schedule option is configured, the settlement cycle ID \"1\" will be in effect. Select \"8\" or \"9\" if you want to schedule instant vendor settlements.
     * @type {number}
     * @memberof CreateVendorRequest
     */
    'schedule_option'?: number;
    /**
     *
     * @type {BankDetails}
     * @memberof CreateVendorRequest
     */
    'bank'?: BankDetails;
    /**
     *
     * @type {UpiDetails}
     * @memberof CreateVendorRequest
     */
    'upi'?: UpiDetails;
    /**
     *
     * @type {KycDetails}
     * @memberof CreateVendorRequest
     */
    'kyc_details': KycDetails;
}
/**
 * Create Vendor Response.
 * @export
 * @interface CreateVendorResponse
 */
export interface CreateVendorResponse {
    /**
     *
     * @type {string}
     * @memberof CreateVendorResponse
     */
    'email'?: string;
    /**
     *
     * @type {string}
     * @memberof CreateVendorResponse
     */
    'status'?: string;
    /**
     *
     * @type {Array<BankDetails>}
     * @memberof CreateVendorResponse
     */
    'bank'?: Array<BankDetails>;
    /**
     *
     * @type {string}
     * @memberof CreateVendorResponse
     */
    'upi'?: string;
    /**
     *
     * @type {number}
     * @memberof CreateVendorResponse
     */
    'phone'?: number;
    /**
     *
     * @type {string}
     * @memberof CreateVendorResponse
     */
    'name'?: string;
    /**
     *
     * @type {string}
     * @memberof CreateVendorResponse
     */
    'vendor_id'?: string;
    /**
     *
     * @type {Array<ScheduleOption>}
     * @memberof CreateVendorResponse
     */
    'schedule_option'?: Array<ScheduleOption>;
    /**
     *
     * @type {Array<KycDetails>}
     * @memberof CreateVendorResponse
     */
    'kyc_details'?: Array<KycDetails>;
    /**
     *
     * @type {boolean}
     * @memberof CreateVendorResponse
     */
    'dashboard_access'?: boolean;
    /**
     *
     * @type {string}
     * @memberof CreateVendorResponse
     */
    'bank_details'?: string;
}
/**
 * Cryptogram object for a saved card.
 * @export
 * @interface CryptogramEntity
 */
export interface CryptogramEntity {
    /**
     * Identifier for the card saved at Cashfree.
     * @type {string}
     * @memberof CryptogramEntity
     */
    'instrument_id'?: string;
    /**
     * TRID issued by respective card networks.
     * @type {string}
     * @memberof CryptogramEntity
     */
    'token_requestor_id'?: string;
    /**
     * Token number.
     * @type {string}
     * @memberof CryptogramEntity
     */
    'card_number'?: string;
    /**
     * Token expiry month.
     * @type {string}
     * @memberof CryptogramEntity
     */
    'card_expiry_mm'?: string;
    /**
     * Token expiry year.
     * @type {string}
     * @memberof CryptogramEntity
     */
    'card_expiry_yy'?: string;
    /**
     * A one-time code dynamically generated by the respective card network, required to process saved card payments.
     * @type {string}
     * @memberof CryptogramEntity
     */
    'cryptogram'?: string;
    /**
     * Displays the last four digits of the actual card number.
     * @type {string}
     * @memberof CryptogramEntity
     */
    'card_display'?: string;
}
/**
 * The customer details that are necessary. Note that you can pass dummy details if your use case does not require the customer details.
 * @export
 * @interface CustomerDetails
 */
export interface CustomerDetails {
    /**
     * A unique identifier for the customer. Use alphanumeric values only.
     * @type {string}
     * @memberof CustomerDetails
     */
    'customer_id': string;
    /**
     * Customer email address.
     * @type {string}
     * @memberof CustomerDetails
     */
    'customer_email'?: string;
    /**
     * Customer phone number. To accommodate international phone numbers, ensure the number is prefixed with a \'+\' to override the 10-digit limitation.
     * @type {string}
     * @memberof CustomerDetails
     */
    'customer_phone': string;
    /**
     * Name of the customer.
     * @type {string}
     * @memberof CustomerDetails
     */
    'customer_name'?: string;
    /**
     * Customer\'s bank account number. This field is required only if you want to perform a bank account check (TPV).
     * @type {string}
     * @memberof CustomerDetails
     */
    'customer_bank_account_number'?: string;
    /**
     * Customer\'s bank IFSC. Required if you want to do a bank account check (TPV).
     * @type {string}
     * @memberof CustomerDetails
     */
    'customer_bank_ifsc'?: string;
    /**
     * Customer\'s bank code. Required for net banking payments, if you want to do a bank account check (TPV).
     * @type {number}
     * @memberof CustomerDetails
     */
    'customer_bank_code'?: number;
    /**
     * Customer\'s identifier at Cashfree. You will get this when you create/get customer.
     * @type {string}
     * @memberof CustomerDetails
     */
    'customer_uid'?: string;
}
/**
 * Details of the customer for whom eligibility is being checked.
 * @export
 * @interface CustomerDetailsCardlessEMI
 */
export interface CustomerDetailsCardlessEMI {
    /**
     * Phone Number of the customer.
     * @type {string}
     * @memberof CustomerDetailsCardlessEMI
     */
    'customer_phone': string;
}
/**
 *
 * @export
 * @interface CustomerDetailsInDisputesEntity
 */
export interface CustomerDetailsInDisputesEntity {
    /**
     *
     * @type {string}
     * @memberof CustomerDetailsInDisputesEntity
     */
    'customer_name'?: string;
    /**
     *
     * @type {string}
     * @memberof CustomerDetailsInDisputesEntity
     */
    'customer_phone'?: string;
    /**
     *
     * @type {string}
     * @memberof CustomerDetailsInDisputesEntity
     */
    'customer_email'?: string;
}
/**
 * The customer details that are necessary. Note that you can pass dummy details if your use case does not require the customer details.
 * @export
 * @interface CustomerDetailsResponse
 */
export interface CustomerDetailsResponse {
    /**
     * A unique identifier for the customer. Use alphanumeric values only.
     * @type {string}
     * @memberof CustomerDetailsResponse
     */
    'customer_id'?: string;
    /**
     * Customer email address.
     * @type {string}
     * @memberof CustomerDetailsResponse
     */
    'customer_email'?: string;
    /**
     * Customer phone number.
     * @type {string}
     * @memberof CustomerDetailsResponse
     */
    'customer_phone'?: string;
    /**
     * Name of the customer.
     * @type {string}
     * @memberof CustomerDetailsResponse
     */
    'customer_name'?: string;
    /**
     * Customer bank account. Required if you want to do a bank account check (TPV).
     * @type {string}
     * @memberof CustomerDetailsResponse
     */
    'customer_bank_account_number'?: string;
    /**
     * Customer bank IFSC. Required if you want to do a bank account check (TPV).
     * @type {string}
     * @memberof CustomerDetailsResponse
     */
    'customer_bank_ifsc'?: string;
    /**
     * Customer bank code. Required for net banking payments, if you want to do a bank account check (TPV).
     * @type {number}
     * @memberof CustomerDetailsResponse
     */
    'customer_bank_code'?: number;
    /**
     * Customer identifier at Cashfree. You will get this when you create/get customer.
     * @type {string}
     * @memberof CustomerDetailsResponse
     */
    'customer_uid'?: string;
}
/**
 * The complete customer entity.
 * @export
 * @interface CustomerEntity
 */
export interface CustomerEntity {
    /**
     * unique id generated by cashfree for your customer.
     * @type {string}
     * @memberof CustomerEntity
     */
    'customer_uid'?: string;
    /**
     * Customer Phone Number.
     * @type {string}
     * @memberof CustomerEntity
     */
    'customer_phone'?: string;
    /**
     * Customer Email.
     * @type {string}
     * @memberof CustomerEntity
     */
    'customer_email'?: string;
    /**
     * Customer Name.
     * @type {string}
     * @memberof CustomerEntity
     */
    'customer_name'?: string;
}
/**
 * Delete saved card instrument object.
 * @export
 * @interface DeletedInstrumentEntity
 */
export interface DeletedInstrumentEntity {
    /**
     * Customer ID against which the card is saved.
     * @type {string}
     * @memberof DeletedInstrumentEntity
     */
    'customer_id'?: string;
    /**
     * cf_payment_id of the successful transaction done while saving instrument.
     * @type {string}
     * @memberof DeletedInstrumentEntity
     */
    'afa_reference'?: string;
    /**
     * Identifier for the card saved at Cashfree, which was requested to be deleted.
     * @type {string}
     * @memberof DeletedInstrumentEntity
     */
    'instrument_id'?: string;
    /**
     * Type of the saved instrument.
     * @type {string}
     * @memberof DeletedInstrumentEntity
     */
    'instrument_type'?: DeletedInstrumentEntityInstrumentTypeEnum;
    /**
     * Unique identifier for the saved card, used to identify a specific card.
     * @type {string}
     * @memberof DeletedInstrumentEntity
     */
    'instrument_uid'?: string;
    /**
     * Last four digits of actual card number.
     * @type {string}
     * @memberof DeletedInstrumentEntity
     */
    'instrument_display'?: string;
    /**
     * Status of the saved instrument. This would be `INACTIVE` when the instrument is successfully deleted.
     * @type {string}
     * @memberof DeletedInstrumentEntity
     */
    'instrument_status'?: DeletedInstrumentEntityInstrumentStatusEnum;
    /**
     * Timestamp at which instrument was saved.
     * @type {string}
     * @memberof DeletedInstrumentEntity
     */
    'created_at'?: string;
    /**
     *
     * @type {SavedInstrumentMeta}
     * @memberof DeletedInstrumentEntity
     */
    'instrument_meta'?: SavedInstrumentMeta;
}
export declare const DeletedInstrumentEntityInstrumentTypeEnum: {
    readonly CARD: "card";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type DeletedInstrumentEntityInstrumentTypeEnum = typeof DeletedInstrumentEntityInstrumentTypeEnum[keyof typeof DeletedInstrumentEntityInstrumentTypeEnum];
export declare const DeletedInstrumentEntityInstrumentStatusEnum: {
    readonly INACTIVE: "INACTIVE";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type DeletedInstrumentEntityInstrumentStatusEnum = typeof DeletedInstrumentEntityInstrumentStatusEnum[keyof typeof DeletedInstrumentEntityInstrumentStatusEnum];
/**
 * Request body to demap soundbox vpa.
 * @export
 * @interface DemapSoundboxVpaRequest
 */
export interface DemapSoundboxVpaRequest {
    /**
     * Cashfree terminal ID.
     * @type {number}
     * @memberof DemapSoundboxVpaRequest
     */
    'cf_terminal_id': number;
    /**
     * Device Serial No of soundbox that need to demap.
     * @type {string}
     * @memberof DemapSoundboxVpaRequest
     */
    'device_serial_no'?: string;
}
/**
 * detils of the discount object of offer.
 * @export
 * @interface DiscountDetails
 */
export interface DiscountDetails {
    /**
     * Type of discount.
     * @type {string}
     * @memberof DiscountDetails
     */
    'discount_type': DiscountDetailsDiscountTypeEnum;
    /**
     * Value of Discount.
     * @type {number}
     * @memberof DiscountDetails
     */
    'discount_value': number;
    /**
     * Maximum Value of Discount allowed.
     * @type {number}
     * @memberof DiscountDetails
     */
    'max_discount_amount': number;
}
export declare const DiscountDetailsDiscountTypeEnum: {
    readonly FLAT: "flat";
    readonly PERCENTAGE: "percentage";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type DiscountDetailsDiscountTypeEnum = typeof DiscountDetailsDiscountTypeEnum[keyof typeof DiscountDetailsDiscountTypeEnum];
/**
 *
 * @export
 * @interface DisputesEntity
 */
export interface DisputesEntity {
    /**
     *
     * @type {number}
     * @memberof DisputesEntity
     */
    'dispute_id'?: number;
    /**
     *
     * @type {string}
     * @memberof DisputesEntity
     */
    'dispute_type'?: DisputesEntityDisputeTypeEnum;
    /**
     *
     * @type {string}
     * @memberof DisputesEntity
     */
    'reason_code'?: string;
    /**
     *
     * @type {string}
     * @memberof DisputesEntity
     */
    'reason_description'?: string;
    /**
     * Dispute amount may differ from transaction amount for partial cases.
     * @type {number}
     * @memberof DisputesEntity
     */
    'dispute_amount'?: number;
    /**
     * Dispute amount currency for a dispute.
     * @type {string}
     * @memberof DisputesEntity
     */
    'dispute_amount_currency'?: string;
    /**
     * This is the time when the dispute was created.
     * @type {string}
     * @memberof DisputesEntity
     */
    'created_at'?: string;
    /**
     * This is the time by which evidence should be submitted to contest the dispute.
     * @type {string}
     * @memberof DisputesEntity
     */
    'respond_by'?: string;
    /**
     * This is the time when the dispute case was updated.
     * @type {string}
     * @memberof DisputesEntity
     */
    'updated_at'?: string;
    /**
     * This is the time when the dispute case was closed.
     * @type {string}
     * @memberof DisputesEntity
     */
    'resolved_at'?: string;
    /**
     *
     * @type {string}
     * @memberof DisputesEntity
     */
    'dispute_status'?: DisputesEntityDisputeStatusEnum;
    /**
     *
     * @type {string}
     * @memberof DisputesEntity
     */
    'cf_dispute_remarks'?: string;
    /**
     *
     * @type {Array<EvidencesToContestDispute>}
     * @memberof DisputesEntity
     */
    'preferred_evidence'?: Array<EvidencesToContestDispute>;
    /**
     *
     * @type {Array<Evidence>}
     * @memberof DisputesEntity
     */
    'dispute_evidence'?: Array<Evidence>;
    /**
     *
     * @type {OrderDetailsInDisputesEntity}
     * @memberof DisputesEntity
     */
    'order_details'?: OrderDetailsInDisputesEntity;
    /**
     *
     * @type {CustomerDetailsInDisputesEntity}
     * @memberof DisputesEntity
     */
    'customer_details'?: CustomerDetailsInDisputesEntity;
}
export declare const DisputesEntityDisputeTypeEnum: {
    readonly DISPUTE: "DISPUTE";
    readonly CHARGEBACK: "CHARGEBACK";
    readonly RETRIEVAL: "RETRIEVAL";
    readonly PRE_ARBITRATION: "PRE_ARBITRATION";
    readonly ARBITRATION: "ARBITRATION";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type DisputesEntityDisputeTypeEnum = typeof DisputesEntityDisputeTypeEnum[keyof typeof DisputesEntityDisputeTypeEnum];
export declare const DisputesEntityDisputeStatusEnum: {
    readonly DISPUTE_CREATED: "DISPUTE_CREATED";
    readonly DISPUTE_DOCS_RECEIVED: "DISPUTE_DOCS_RECEIVED";
    readonly DISPUTE_UNDER_REVIEW: "DISPUTE_UNDER_REVIEW";
    readonly DISPUTE_MERCHANT_WON: "DISPUTE_MERCHANT_WON";
    readonly DISPUTE_MERCHANT_LOST: "DISPUTE_MERCHANT_LOST";
    readonly DISPUTE_MERCHANT_ACCEPTED: "DISPUTE_MERCHANT_ACCEPTED";
    readonly DISPUTE_INSUFFICIENT_EVIDENCE: "DISPUTE_INSUFFICIENT_EVIDENCE";
    readonly CHARGEBACK_CREATED: "CHARGEBACK_CREATED";
    readonly CHARGEBACK_DOCS_RECEIVED: "CHARGEBACK_DOCS_RECEIVED";
    readonly CHARGEBACK_UNDER_REVIEW: "CHARGEBACK_UNDER_REVIEW";
    readonly CHARGEBACK_MERCHANT_WON: "CHARGEBACK_MERCHANT_WON";
    readonly CHARGEBACK_MERCHANT_LOST: "CHARGEBACK_MERCHANT_LOST";
    readonly CHARGEBACK_MERCHANT_ACCEPTED: "CHARGEBACK_MERCHANT_ACCEPTED";
    readonly CHARGEBACK_INSUFFICIENT_EVIDENCE: "CHARGEBACK_INSUFFICIENT_EVIDENCE";
    readonly RETRIEVAL_CREATED: "RETRIEVAL_CREATED";
    readonly RETRIEVAL_DOCS_RECEIVED: "RETRIEVAL_DOCS_RECEIVED";
    readonly RETRIEVAL_UNDER_REVIEW: "RETRIEVAL_UNDER_REVIEW";
    readonly RETRIEVAL_MERCHANT_WON: "RETRIEVAL_MERCHANT_WON";
    readonly RETRIEVAL_MERCHANT_LOST: "RETRIEVAL_MERCHANT_LOST";
    readonly RETRIEVAL_MERCHANT_ACCEPTED: "RETRIEVAL_MERCHANT_ACCEPTED";
    readonly RETRIEVAL_INSUFFICIENT_EVIDENCE: "RETRIEVAL_INSUFFICIENT_EVIDENCE";
    readonly PRE_ARBITRATION_CREATED: "PRE_ARBITRATION_CREATED";
    readonly PRE_ARBITRATION_DOCS_RECEIVED: "PRE_ARBITRATION_DOCS_RECEIVED";
    readonly PRE_ARBITRATION_UNDER_REVIEW: "PRE_ARBITRATION_UNDER_REVIEW";
    readonly PRE_ARBITRATION_MERCHANT_WON: "PRE_ARBITRATION_MERCHANT_WON";
    readonly PRE_ARBITRATION_MERCHANT_LOST: "PRE_ARBITRATION_MERCHANT_LOST";
    readonly PRE_ARBITRATION_MERCHANT_ACCEPTED: "PRE_ARBITRATION_MERCHANT_ACCEPTED";
    readonly PRE_ARBITRATION_INSUFFICIENT_EVIDENCE: "PRE_ARBITRATION_INSUFFICIENT_EVIDENCE";
    readonly ARBITRATION_CREATED: "ARBITRATION_CREATED";
    readonly ARBITRATION_DOCS_RECEIVED: "ARBITRATION_DOCS_RECEIVED";
    readonly ARBITRATION_UNDER_REVIEW: "ARBITRATION_UNDER_REVIEW";
    readonly ARBITRATION_MERCHANT_WON: "ARBITRATION_MERCHANT_WON";
    readonly ARBITRATION_MERCHANT_LOST: "ARBITRATION_MERCHANT_LOST";
    readonly ARBITRATION_MERCHANT_ACCEPTED: "ARBITRATION_MERCHANT_ACCEPTED";
    readonly ARBITRATION_INSUFFICIENT_EVIDENCE: "ARBITRATION_INSUFFICIENT_EVIDENCE";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type DisputesEntityDisputeStatusEnum = typeof DisputesEntityDisputeStatusEnum[keyof typeof DisputesEntityDisputeStatusEnum];
/**
 *
 * @export
 * @interface DisputesEntityMerchantAccepted
 */
export interface DisputesEntityMerchantAccepted {
    /**
     *
     * @type {number}
     * @memberof DisputesEntityMerchantAccepted
     */
    'dispute_id'?: number;
    /**
     *
     * @type {string}
     * @memberof DisputesEntityMerchantAccepted
     */
    'dispute_type'?: DisputesEntityMerchantAcceptedDisputeTypeEnum;
    /**
     *
     * @type {string}
     * @memberof DisputesEntityMerchantAccepted
     */
    'reason_code'?: string;
    /**
     *
     * @type {string}
     * @memberof DisputesEntityMerchantAccepted
     */
    'reason_description'?: string;
    /**
     * Dispute amount may differ from transaction amount for partial cases.
     * @type {number}
     * @memberof DisputesEntityMerchantAccepted
     */
    'dispute_amount'?: number;
    /**
     * This is the time when the dispute was created.
     * @type {string}
     * @memberof DisputesEntityMerchantAccepted
     */
    'created_at'?: string;
    /**
     * This is the time by which evidence should be submitted to contest the dispute.
     * @type {string}
     * @memberof DisputesEntityMerchantAccepted
     */
    'respond_by'?: string;
    /**
     * This is the time when the dispute case was updated.
     * @type {string}
     * @memberof DisputesEntityMerchantAccepted
     */
    'updated_at'?: string;
    /**
     * This is the time when the dispute case was closed.
     * @type {string}
     * @memberof DisputesEntityMerchantAccepted
     */
    'resolved_at'?: string;
    /**
     *
     * @type {string}
     * @memberof DisputesEntityMerchantAccepted
     */
    'dispute_status'?: DisputesEntityMerchantAcceptedDisputeStatusEnum;
    /**
     *
     * @type {string}
     * @memberof DisputesEntityMerchantAccepted
     */
    'cf_dispute_remarks'?: string;
    /**
     *
     * @type {Array<EvidencesToContestDispute>}
     * @memberof DisputesEntityMerchantAccepted
     */
    'preferred_evidence'?: Array<EvidencesToContestDispute>;
    /**
     *
     * @type {Array<Evidence>}
     * @memberof DisputesEntityMerchantAccepted
     */
    'dispute_evidence'?: Array<Evidence>;
    /**
     *
     * @type {OrderDetailsInDisputesEntity}
     * @memberof DisputesEntityMerchantAccepted
     */
    'order_details'?: OrderDetailsInDisputesEntity;
    /**
     *
     * @type {CustomerDetailsInDisputesEntity}
     * @memberof DisputesEntityMerchantAccepted
     */
    'customer_details'?: CustomerDetailsInDisputesEntity;
}
export declare const DisputesEntityMerchantAcceptedDisputeTypeEnum: {
    readonly DISPUTE: "DISPUTE";
    readonly CHARGEBACK: "CHARGEBACK";
    readonly RETRIEVAL: "RETRIEVAL";
    readonly PRE_ARBITRATION: "PRE_ARBITRATION";
    readonly ARBITRATION: "ARBITRATION";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type DisputesEntityMerchantAcceptedDisputeTypeEnum = typeof DisputesEntityMerchantAcceptedDisputeTypeEnum[keyof typeof DisputesEntityMerchantAcceptedDisputeTypeEnum];
export declare const DisputesEntityMerchantAcceptedDisputeStatusEnum: {
    readonly DISPUTE_CREATED: "DISPUTE_CREATED";
    readonly DISPUTE_DOCS_RECEIVED: "DISPUTE_DOCS_RECEIVED";
    readonly DISPUTE_UNDER_REVIEW: "DISPUTE_UNDER_REVIEW";
    readonly DISPUTE_MERCHANT_WON: "DISPUTE_MERCHANT_WON";
    readonly DISPUTE_MERCHANT_LOST: "DISPUTE_MERCHANT_LOST";
    readonly DISPUTE_MERCHANT_ACCEPTED: "DISPUTE_MERCHANT_ACCEPTED";
    readonly DISPUTE_INSUFFICIENT_EVIDENCE: "DISPUTE_INSUFFICIENT_EVIDENCE";
    readonly CHARGEBACK_CREATED: "CHARGEBACK_CREATED";
    readonly CHARGEBACK_DOCS_RECEIVED: "CHARGEBACK_DOCS_RECEIVED";
    readonly CHARGEBACK_UNDER_REVIEW: "CHARGEBACK_UNDER_REVIEW";
    readonly CHARGEBACK_MERCHANT_WON: "CHARGEBACK_MERCHANT_WON";
    readonly CHARGEBACK_MERCHANT_LOST: "CHARGEBACK_MERCHANT_LOST";
    readonly CHARGEBACK_MERCHANT_ACCEPTED: "CHARGEBACK_MERCHANT_ACCEPTED";
    readonly CHARGEBACK_INSUFFICIENT_EVIDENCE: "CHARGEBACK_INSUFFICIENT_EVIDENCE";
    readonly RETRIEVAL_CREATED: "RETRIEVAL_CREATED";
    readonly RETRIEVAL_DOCS_RECEIVED: "RETRIEVAL_DOCS_RECEIVED";
    readonly RETRIEVAL_UNDER_REVIEW: "RETRIEVAL_UNDER_REVIEW";
    readonly RETRIEVAL_MERCHANT_WON: "RETRIEVAL_MERCHANT_WON";
    readonly RETRIEVAL_MERCHANT_LOST: "RETRIEVAL_MERCHANT_LOST";
    readonly RETRIEVAL_MERCHANT_ACCEPTED: "RETRIEVAL_MERCHANT_ACCEPTED";
    readonly RETRIEVAL_INSUFFICIENT_EVIDENCE: "RETRIEVAL_INSUFFICIENT_EVIDENCE";
    readonly PRE_ARBITRATION_CREATED: "PRE_ARBITRATION_CREATED";
    readonly PRE_ARBITRATION_DOCS_RECEIVED: "PRE_ARBITRATION_DOCS_RECEIVED";
    readonly PRE_ARBITRATION_UNDER_REVIEW: "PRE_ARBITRATION_UNDER_REVIEW";
    readonly PRE_ARBITRATION_MERCHANT_WON: "PRE_ARBITRATION_MERCHANT_WON";
    readonly PRE_ARBITRATION_MERCHANT_LOST: "PRE_ARBITRATION_MERCHANT_LOST";
    readonly PRE_ARBITRATION_MERCHANT_ACCEPTED: "PRE_ARBITRATION_MERCHANT_ACCEPTED";
    readonly PRE_ARBITRATION_INSUFFICIENT_EVIDENCE: "PRE_ARBITRATION_INSUFFICIENT_EVIDENCE";
    readonly ARBITRATION_CREATED: "ARBITRATION_CREATED";
    readonly ARBITRATION_DOCS_RECEIVED: "ARBITRATION_DOCS_RECEIVED";
    readonly ARBITRATION_UNDER_REVIEW: "ARBITRATION_UNDER_REVIEW";
    readonly ARBITRATION_MERCHANT_WON: "ARBITRATION_MERCHANT_WON";
    readonly ARBITRATION_MERCHANT_LOST: "ARBITRATION_MERCHANT_LOST";
    readonly ARBITRATION_MERCHANT_ACCEPTED: "ARBITRATION_MERCHANT_ACCEPTED";
    readonly ARBITRATION_INSUFFICIENT_EVIDENCE: "ARBITRATION_INSUFFICIENT_EVIDENCE";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type DisputesEntityMerchantAcceptedDisputeStatusEnum = typeof DisputesEntityMerchantAcceptedDisputeStatusEnum[keyof typeof DisputesEntityMerchantAcceptedDisputeStatusEnum];
/**
 *
 * @export
 * @interface EMIOffer
 */
export interface EMIOffer {
    /**
     * Type of emi offer. Possible values are `credit_card_emi`, `debit_card_emi`, `cardless_emi`.
     * @type {string}
     * @memberof EMIOffer
     */
    'type': string;
    /**
     * Bank Name.
     * @type {string}
     * @memberof EMIOffer
     */
    'issuer': string;
    /**
     *
     * @type {Array<number>}
     * @memberof EMIOffer
     */
    'tenures': Array<number>;
}
/**
 * Single EMI object.
 * @export
 * @interface EMIPlansArray
 */
export interface EMIPlansArray {
    /**
     *
     * @type {number}
     * @memberof EMIPlansArray
     */
    'tenure'?: number;
    /**
     *
     * @type {number}
     * @memberof EMIPlansArray
     */
    'interest_rate'?: number;
    /**
     *
     * @type {string}
     * @memberof EMIPlansArray
     */
    'currency'?: string;
    /**
     *
     * @type {number}
     * @memberof EMIPlansArray
     */
    'emi'?: number;
    /**
     *
     * @type {number}
     * @memberof EMIPlansArray
     */
    'total_interest'?: number;
    /**
     *
     * @type {number}
     * @memberof EMIPlansArray
     */
    'total_amount'?: number;
}
/**
 * ES Order Recon Request.
 * @export
 * @interface ESOrderReconRequest
 */
export interface ESOrderReconRequest {
    /**
     *
     * @type {ESOrderReconRequestFilters}
     * @memberof ESOrderReconRequest
     */
    'filters': ESOrderReconRequestFilters;
    /**
     *
     * @type {ESOrderReconRequestPagination}
     * @memberof ESOrderReconRequest
     */
    'pagination': ESOrderReconRequestPagination;
}
/**
 * Provide the filter object details.
 * @export
 * @interface ESOrderReconRequestFilters
 */
export interface ESOrderReconRequestFilters {
    /**
     * Specify the start data from which you want to get the recon data.
     * @type {string}
     * @memberof ESOrderReconRequestFilters
     */
    'start_date'?: string;
    /**
     * Specify the end data till which you want to get the recon data.
     * @type {string}
     * @memberof ESOrderReconRequestFilters
     */
    'end_date'?: string;
    /**
     * Please provide list of order ids for which you want to get the recon data.
     * @type {Array<string>}
     * @memberof ESOrderReconRequestFilters
     */
    'order_ids'?: Array<string>;
}
/**
 * Set limit based on your requirement. Pagination limit will fetch a set of orders, next set of orders can be generated using the cursor shared in previous response of the same API.
 * @export
 * @interface ESOrderReconRequestPagination
 */
export interface ESOrderReconRequestPagination {
    /**
     *
     * @type {string}
     * @memberof ESOrderReconRequestPagination
     */
    'cursor'?: string;
    /**
     * Set the minimum/maximum limit for number of filtered data. Min value - 10, Max value - 100.
     * @type {number}
     * @memberof ESOrderReconRequestPagination
     */
    'limit'?: number;
}
/**
 * ES Order Recon Response.
 * @export
 * @interface ESOrderReconResponse
 */
export interface ESOrderReconResponse {
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponse
     */
    'cursor'?: string;
    /**
     *
     * @type {Array<ESOrderReconResponseDataInner>}
     * @memberof ESOrderReconResponse
     */
    'data'?: Array<ESOrderReconResponseDataInner>;
    /**
     *
     * @type {number}
     * @memberof ESOrderReconResponse
     */
    'limit'?: number;
}
/**
 *
 * @export
 * @interface ESOrderReconResponseDataInner
 */
export interface ESOrderReconResponseDataInner {
    /**
     *
     * @type {number}
     * @memberof ESOrderReconResponseDataInner
     */
    'amount'?: number;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'settlement_eligibility_time'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'status'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'merchant_order_id'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'tx_time'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'settled'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'entity_id'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'merchant_settlement_utr'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'currency'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'sale_type'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'customer_name'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'customer_email'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'customer_phone'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'merchant_vendor_commission'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'split_service_charge'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'split_service_tax'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'pg_service_tax'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'pg_service_charge'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'pg_charge_postpaid'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'merchant_settlement_id'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'added_on'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'tags'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'entity_type'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'settlement_initiated_on'?: string;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'settlement_time'?: string;
    /**
     *
     * @type {Array<ESOrderReconResponseDataInnerOrderSplitsInner>}
     * @memberof ESOrderReconResponseDataInner
     */
    'order_splits'?: Array<ESOrderReconResponseDataInnerOrderSplitsInner>;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInner
     */
    'eligible_split_balance'?: string;
}
/**
 *
 * @export
 * @interface ESOrderReconResponseDataInnerOrderSplitsInner
 */
export interface ESOrderReconResponseDataInnerOrderSplitsInner {
    /**
     *
     * @type {Array<ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner>}
     * @memberof ESOrderReconResponseDataInnerOrderSplitsInner
     */
    'split'?: Array<ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner>;
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInnerOrderSplitsInner
     */
    'created_at'?: string;
}
/**
 *
 * @export
 * @interface ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner
 */
export interface ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner {
    /**
     *
     * @type {string}
     * @memberof ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner
     */
    'merchant_vendor_id'?: string;
    /**
     *
     * @type {number}
     * @memberof ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner
     */
    'percentage'?: number;
    /**
     *
     * @type {object}
     * @memberof ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner
     */
    'tags'?: object;
}
/**
 * Carless EMI eligible entity.
 * @export
 * @interface EligibilityCardlessEMIEntity
 */
export interface EligibilityCardlessEMIEntity {
    /**
     *
     * @type {boolean}
     * @memberof EligibilityCardlessEMIEntity
     */
    'eligibility'?: boolean;
    /**
     *
     * @type {string}
     * @memberof EligibilityCardlessEMIEntity
     */
    'entity_type'?: string;
    /**
     *
     * @type {string}
     * @memberof EligibilityCardlessEMIEntity
     */
    'entity_value'?: string;
    /**
     *
     * @type {CardlessEMIEntity}
     * @memberof EligibilityCardlessEMIEntity
     */
    'entity_details'?: CardlessEMIEntity;
}
/**
 * eligibilty request for cardless.
 * @export
 * @interface EligibilityFetchCardlessEMIRequest
 */
export interface EligibilityFetchCardlessEMIRequest {
    /**
     *
     * @type {CardlessEMIQueries}
     * @memberof EligibilityFetchCardlessEMIRequest
     */
    'queries': CardlessEMIQueries;
}
/**
 * Eligiblty API request.
 * @export
 * @interface EligibilityFetchOffersRequest
 */
export interface EligibilityFetchOffersRequest {
    /**
     *
     * @type {OfferQueries}
     * @memberof EligibilityFetchOffersRequest
     */
    'queries': OfferQueries;
    /**
     *
     * @type {OfferFilters}
     * @memberof EligibilityFetchOffersRequest
     */
    'filters'?: OfferFilters;
}
/**
 * Request to get eligible paylater payment methods.
 * @export
 * @interface EligibilityFetchPaylaterRequest
 */
export interface EligibilityFetchPaylaterRequest {
    /**
     *
     * @type {CardlessEMIQueries}
     * @memberof EligibilityFetchPaylaterRequest
     */
    'queries': CardlessEMIQueries;
}
/**
 * eligibilty request to find eligible payment method.
 * @export
 * @interface EligibilityFetchPaymentMethodsRequest
 */
export interface EligibilityFetchPaymentMethodsRequest {
    /**
     *
     * @type {PaymentMethodsQueries}
     * @memberof EligibilityFetchPaymentMethodsRequest
     */
    'queries': PaymentMethodsQueries;
    /**
     *
     * @type {PaymentMethodsFilters}
     * @memberof EligibilityFetchPaymentMethodsRequest
     */
    'filters'?: PaymentMethodsFilters;
}
/**
 * Eligibile payment method object.
 * @export
 * @interface EligibilityMethodItem
 */
export interface EligibilityMethodItem {
    /**
     * Indicates whether the payment method is eligible.
     * @type {boolean}
     * @memberof EligibilityMethodItem
     */
    'eligibility'?: boolean;
    /**
     * Type of entity (e.g., \"payment_methods\").
     * @type {string}
     * @memberof EligibilityMethodItem
     */
    'entity_type'?: string;
    /**
     * Payment method (e.g., enach, pnach, upi, card).
     * @type {string}
     * @memberof EligibilityMethodItem
     */
    'entity_value'?: string;
    /**
     *
     * @type {EligibilityMethodItemEntityDetails}
     * @memberof EligibilityMethodItem
     */
    'entity_details'?: EligibilityMethodItemEntityDetails;
}
/**
 *
 * @export
 * @interface EligibilityMethodItemEntityDetails
 */
export interface EligibilityMethodItemEntityDetails {
    /**
     * List of account types associated with the payment method. (e.g. SAVINGS or CURRENT).
     * @type {Array<string>}
     * @memberof EligibilityMethodItemEntityDetails
     */
    'account_types'?: Array<string>;
    /**
     * List of the most frequently used banks.
     * @type {Array<SubscriptionBankDetails>}
     * @memberof EligibilityMethodItemEntityDetails
     */
    'frequent_bank_details'?: Array<SubscriptionBankDetails>;
    /**
     * Details about all banks associated with the payment method.
     * @type {Array<SubscriptionBankDetails>}
     * @memberof EligibilityMethodItemEntityDetails
     */
    'all_bank_details'?: Array<SubscriptionBankDetails>;
    /**
     * List of supported VPA handles.
     * @type {Array<EligibilityMethodItemEntityDetailsAvailableHandlesInner>}
     * @memberof EligibilityMethodItemEntityDetails
     */
    'available_handles'?: Array<EligibilityMethodItemEntityDetailsAvailableHandlesInner>;
    /**
     * List of allowed card types. (e.g. DEBIT_CARD, CREDIT_CARD).
     * @type {Array<string>}
     * @memberof EligibilityMethodItemEntityDetails
     */
    'allowed_card_types'?: Array<string>;
}
/**
 *
 * @export
 * @interface EligibilityMethodItemEntityDetailsAvailableHandlesInner
 */
export interface EligibilityMethodItemEntityDetailsAvailableHandlesInner {
    /**
     * VPA handle.
     * @type {string}
     * @memberof EligibilityMethodItemEntityDetailsAvailableHandlesInner
     */
    'handle'?: string;
    /**
     * Application or service related to the VPA handle.
     * @type {string}
     * @memberof EligibilityMethodItemEntityDetailsAvailableHandlesInner
     */
    'application'?: string;
}
/**
 * Eligible offer object.
 * @export
 * @interface EligibilityOfferEntity
 */
export interface EligibilityOfferEntity {
    /**
     *
     * @type {boolean}
     * @memberof EligibilityOfferEntity
     */
    'eligibility'?: boolean;
    /**
     *
     * @type {string}
     * @memberof EligibilityOfferEntity
     */
    'entity_type'?: string;
    /**
     *
     * @type {string}
     * @memberof EligibilityOfferEntity
     */
    'entity_value'?: string;
    /**
     *
     * @type {OfferEntity}
     * @memberof EligibilityOfferEntity
     */
    'entity_details'?: OfferEntity;
}
/**
 * Eligible paylater payment method.
 * @export
 * @interface EligibilityPaylaterEntity
 */
export interface EligibilityPaylaterEntity {
    /**
     *
     * @type {boolean}
     * @memberof EligibilityPaylaterEntity
     */
    'eligibility'?: boolean;
    /**
     *
     * @type {string}
     * @memberof EligibilityPaylaterEntity
     */
    'entity_type'?: string;
    /**
     *
     * @type {string}
     * @memberof EligibilityPaylaterEntity
     */
    'entity_value'?: string;
    /**
     *
     * @type {PaylaterEntity}
     * @memberof EligibilityPaylaterEntity
     */
    'entity_details'?: PaylaterEntity;
}
/**
 * Eligible payment methods details.
 * @export
 * @interface EligibilityPaymentMethodsEntity
 */
export interface EligibilityPaymentMethodsEntity {
    /**
     *
     * @type {boolean}
     * @memberof EligibilityPaymentMethodsEntity
     */
    'eligibility'?: boolean;
    /**
     *
     * @type {string}
     * @memberof EligibilityPaymentMethodsEntity
     */
    'entity_type'?: string;
    /**
     *
     * @type {string}
     * @memberof EligibilityPaymentMethodsEntity
     */
    'entity_value'?: string;
    /**
     *
     * @type {EligibilityPaymentMethodsEntityEntityDetails}
     * @memberof EligibilityPaymentMethodsEntity
     */
    'entity_details'?: EligibilityPaymentMethodsEntityEntityDetails;
}
/**
 *
 * @export
 * @interface EligibilityPaymentMethodsEntityEntityDetails
 */
export interface EligibilityPaymentMethodsEntityEntityDetails {
    /**
     *
     * @type {Array<PaymentModeDetails>}
     * @memberof EligibilityPaymentMethodsEntityEntityDetails
     */
    'payment_method_details'?: Array<PaymentModeDetails>;
}
/**
 * Entity simulation contains payment_status and payment_error_code.
 * @export
 * @interface EntitySimulationRequest
 */
export interface EntitySimulationRequest {
    /**
     * Payment status.
     * @type {string}
     * @memberof EntitySimulationRequest
     */
    'payment_status': EntitySimulationRequestPaymentStatusEnum;
    /**
     * Payment error code.
     * @type {string}
     * @memberof EntitySimulationRequest
     */
    'payment_error_code'?: string;
}
export declare const EntitySimulationRequestPaymentStatusEnum: {
    readonly SUCCESS: "SUCCESS";
    readonly FAILED: "FAILED";
    readonly PENDING: "PENDING";
    readonly USER_DROPPED: "USER_DROPPED";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type EntitySimulationRequestPaymentStatusEnum = typeof EntitySimulationRequestPaymentStatusEnum[keyof typeof EntitySimulationRequestPaymentStatusEnum];
/**
 * Entity simulation contains payment_status and payment_error_code.
 * @export
 * @interface EntitySimulationResponse
 */
export interface EntitySimulationResponse {
    /**
     * Payment status.
     * @type {string}
     * @memberof EntitySimulationResponse
     */
    'payment_status': string;
    /**
     * Payment error code.
     * @type {string}
     * @memberof EntitySimulationResponse
     */
    'payment_error_code'?: string;
}
/**
 * The error details are present only for failed payments.
 * @export
 * @interface ErrorDetailsInPaymentsEntity
 */
export interface ErrorDetailsInPaymentsEntity {
    /**
     *
     * @type {string}
     * @memberof ErrorDetailsInPaymentsEntity
     */
    'error_code'?: string;
    /**
     *
     * @type {string}
     * @memberof ErrorDetailsInPaymentsEntity
     */
    'error_description'?: string;
    /**
     *
     * @type {string}
     * @memberof ErrorDetailsInPaymentsEntity
     */
    'error_reason'?: string;
    /**
     *
     * @type {string}
     * @memberof ErrorDetailsInPaymentsEntity
     */
    'error_source'?: string;
    /**
     *
     * @type {string}
     * @memberof ErrorDetailsInPaymentsEntity
     */
    'error_code_raw'?: string;
    /**
     *
     * @type {string}
     * @memberof ErrorDetailsInPaymentsEntity
     */
    'error_description_raw'?: string;
    /**
     *
     * @type {string}
     * @memberof ErrorDetailsInPaymentsEntity
     */
    'error_subcode_raw'?: string;
}
/**
 *
 * @export
 * @interface Evidence
 */
export interface Evidence {
    /**
     *
     * @type {number}
     * @memberof Evidence
     */
    'document_id'?: number;
    /**
     *
     * @type {string}
     * @memberof Evidence
     */
    'document_name'?: string;
    /**
     *
     * @type {string}
     * @memberof Evidence
     */
    'document_type'?: string;
}
/**
 *
 * @export
 * @interface EvidencesToContestDispute
 */
export interface EvidencesToContestDispute {
    /**
     *
     * @type {string}
     * @memberof EvidencesToContestDispute
     */
    'document_type'?: string;
    /**
     *
     * @type {string}
     * @memberof EvidencesToContestDispute
     */
    'document_description'?: string;
}
/**
 * The cart details that are necessary like shipping address, billing address and more.
 * @export
 * @interface ExtendedCartDetails
 */
export interface ExtendedCartDetails {
    /**
     * Name of the cart.
     * @type {string}
     * @memberof ExtendedCartDetails
     */
    'name'?: string;
    /**
     *
     * @type {Array<CartItem>}
     * @memberof ExtendedCartDetails
     */
    'items'?: Array<CartItem>;
}
/**
 * Recent Customer details associated with the order.
 * @export
 * @interface ExtendedCustomerDetails
 */
export interface ExtendedCustomerDetails {
    /**
     * A unique identifier for the customer. Use alphanumeric values only.
     * @type {string}
     * @memberof ExtendedCustomerDetails
     */
    'customer_id'?: string;
    /**
     * Customer email address.
     * @type {string}
     * @memberof ExtendedCustomerDetails
     */
    'customer_email'?: string;
    /**
     * Customer phone number.
     * @type {string}
     * @memberof ExtendedCustomerDetails
     */
    'customer_phone'?: string;
    /**
     * Name of the customer.
     * @type {string}
     * @memberof ExtendedCustomerDetails
     */
    'customer_name'?: string;
    /**
     * Customer identifier at Cashfree. You will get this when you create/get customer.
     * @type {string}
     * @memberof ExtendedCustomerDetails
     */
    'customer_uid'?: string;
}
/**
 *
 * @export
 * @interface FetchActiveEcosystemDowntimes200Response
 */
export interface FetchActiveEcosystemDowntimes200Response {
    /**
     *
     * @type {number}
     * @memberof FetchActiveEcosystemDowntimes200Response
     */
    'count'?: number;
    /**
     *
     * @type {Array<IncidentObject>}
     * @memberof FetchActiveEcosystemDowntimes200Response
     */
    'incidents'?: Array<IncidentObject>;
}
/**
 * Recon object.
 * @export
 * @interface FetchReconRequest
 */
export interface FetchReconRequest {
    /**
     *
     * @type {FetchReconRequestPagination}
     * @memberof FetchReconRequest
     */
    'pagination': FetchReconRequestPagination;
    /**
     *
     * @type {FetchReconRequestFilters}
     * @memberof FetchReconRequest
     */
    'filters'?: FetchReconRequestFilters;
}
/**
 *
 * @export
 * @interface FetchReconRequestFilters
 */
export interface FetchReconRequestFilters {
    /**
     * Specify the start date from when you want the settlement reconciliation details.
     * @type {string}
     * @memberof FetchReconRequestFilters
     */
    'start_date': string;
    /**
     * Specify the end date till when you want the settlement reconciliation details.
     * @type {string}
     * @memberof FetchReconRequestFilters
     */
    'end_date': string;
}
/**
 * To fetch the next set of settlements, pass the cursor received in the response to the next API call.   To receive the data for the first time, pass the cursor as null.   Limit would be number of settlements that you want to receive.
 * @export
 * @interface FetchReconRequestPagination
 */
export interface FetchReconRequestPagination {
    /**
     * Number of settlements you want to fetch in the next iteration. Maximum limit is 1000, default value is 10.
     * @type {number}
     * @memberof FetchReconRequestPagination
     */
    'limit': number;
    /**
     * Specifies from where the next set of settlement details should be fetched.
     * @type {string}
     * @memberof FetchReconRequestPagination
     */
    'cursor'?: string;
}
/**
 * Request to fetch settlement.
 * @export
 * @interface FetchSettlementsRequest
 */
export interface FetchSettlementsRequest {
    /**
     *
     * @type {FetchSettlementsRequestPagination}
     * @memberof FetchSettlementsRequest
     */
    'pagination': FetchSettlementsRequestPagination;
    /**
     *
     * @type {FetchSettlementsRequestFilters}
     * @memberof FetchSettlementsRequest
     */
    'filters'?: FetchSettlementsRequestFilters;
}
/**
 * Specify either the Settlement ID, Settlement UTR, or start date and end date to fetch the settlement details.
 * @export
 * @interface FetchSettlementsRequestFilters
 */
export interface FetchSettlementsRequestFilters {
    /**
     * List of settlement IDs for which you want the settlement reconciliation details.
     * @type {Array<string>}
     * @memberof FetchSettlementsRequestFilters
     */
    'cf_settlement_ids'?: Array<string>;
    /**
     * List of settlement UTRs for which you want the settlement reconciliation details.
     * @type {Array<string>}
     * @memberof FetchSettlementsRequestFilters
     */
    'settlement_utrs'?: Array<string>;
    /**
     * Specify the start date from when you want the settlement reconciliation details.
     * @type {string}
     * @memberof FetchSettlementsRequestFilters
     */
    'start_date'?: string;
    /**
     * Specify the end date till when you want the settlement reconciliation details.
     * @type {string}
     * @memberof FetchSettlementsRequestFilters
     */
    'end_date'?: string;
}
/**
 * To fetch the next set of settlements, pass the cursor received in the response to the next API call.   To receive the data for the first time, pass the cursor as null.   Limit would be number of settlements that you want to receive.
 * @export
 * @interface FetchSettlementsRequestPagination
 */
export interface FetchSettlementsRequestPagination {
    /**
     * The number of settlements you want to fetch. Maximum limit is 1000, default value is 10.
     * @type {number}
     * @memberof FetchSettlementsRequestPagination
     */
    'limit': number;
    /**
     * Specifies from where the next set of settlement details should be fetched.
     * @type {string}
     * @memberof FetchSettlementsRequestPagination
     */
    'cursor'?: string;
}
/**
 * Fetch Static QR Codes using terminal ID or phone number.
 * @export
 * @interface FetchTerminalQRCodesEntity
 */
export interface FetchTerminalQRCodesEntity {
    /**
     * Name of the bank that is linked to the Static QR.
     * @type {string}
     * @memberof FetchTerminalQRCodesEntity
     */
    'bank'?: string;
    /**
     * Base-64 Encoded QR Code URL.
     * @type {string}
     * @memberof FetchTerminalQRCodesEntity
     */
    'qrCode'?: string;
    /**
     * URL of the qr Code.
     * @type {string}
     * @memberof FetchTerminalQRCodesEntity
     */
    'qrCodeUrl'?: string;
    /**
     * Status of the static QR.
     * @type {string}
     * @memberof FetchTerminalQRCodesEntity
     */
    'status'?: string;
}
/**
 * Response object containing detailed information about a terminal payment transaction.
 * @export
 * @interface GetAllTerminalPaymentEntity
 */
export interface GetAllTerminalPaymentEntity {
    /**
     * Unique Cashfree terminal identifier.
     * @type {number}
     * @memberof GetAllTerminalPaymentEntity
     */
    'cf_terminal_id'?: number;
    /**
     * Merchant-defined terminal identifier.
     * @type {string}
     * @memberof GetAllTerminalPaymentEntity
     */
    'terminal_id'?: string;
    /**
     * Virtual payment address (VPA) associated with the terminal.
     * @type {string}
     * @memberof GetAllTerminalPaymentEntity
     */
    'terminal_vpa'?: string;
    /**
     * Unique Cashfree payment identifier.
     * @type {number}
     * @memberof GetAllTerminalPaymentEntity
     */
    'cf_payment_id'?: number;
    /**
     * Payment transaction amount in the specified currency.
     * @type {number}
     * @memberof GetAllTerminalPaymentEntity
     */
    'payment_amount'?: number;
    /**
     * Payment method used for the transaction (for example, UPI_OFFLINE_STATIC).
     * @type {string}
     * @memberof GetAllTerminalPaymentEntity
     */
    'payment_mode'?: string;
    /**
     * Current status of the payment transaction (SUCCESS, FAILED, or PENDING).
     * @type {string}
     * @memberof GetAllTerminalPaymentEntity
     */
    'payment_status'?: string;
    /**
     * Timestamp when the payment was processed in ISO8601 format.
     * @type {string}
     * @memberof GetAllTerminalPaymentEntity
     */
    'payment_time'?: string;
    /**
     *
     * @type {ErrorDetailsInPaymentsEntity}
     * @memberof GetAllTerminalPaymentEntity
     */
    'error_details'?: ErrorDetailsInPaymentsEntity;
}
/**
 * Request body for retrieving terminal payment transactions. Include filtering and pagination options to customise the results.
 * @export
 * @interface GetAllTerminalTransactionRequest
 */
export interface GetAllTerminalTransactionRequest {
    /**
     *
     * @type {TerminalFilters}
     * @memberof GetAllTerminalTransactionRequest
     */
    'filter'?: TerminalFilters;
    /**
     *
     * @type {TerminalPagination}
     * @memberof GetAllTerminalTransactionRequest
     */
    'pagination'?: TerminalPagination;
}
/**
 *
 * @export
 * @interface GetCardBinRequest
 */
export interface GetCardBinRequest {
    /**
     * Card number, minimum first 8 digits are required.
     * @type {string}
     * @memberof GetCardBinRequest
     */
    'card_number': string;
}
/**
 *
 * @export
 * @interface GetCardBinResponseSchema
 */
export interface GetCardBinResponseSchema {
    /**
     * Issuing bank name of the card. For example `hdfc bank`, `icici bank`, `axis bank`.
     * @type {string}
     * @memberof GetCardBinResponseSchema
     */
    'bank_name'?: string;
    /**
     * Issuing country of the card. For example `in`, `us`.
     * @type {string}
     * @memberof GetCardBinResponseSchema
     */
    'country_code'?: string;
    /**
     * Card scheme/network of the card. For example `visa`, `mastercard`, `rupay`, `amex`, `diners`.
     * @type {string}
     * @memberof GetCardBinResponseSchema
     */
    'scheme'?: string;
    /**
     * Sub-type of card. Available options are `retail`, `premium` and `corporate`.
     * @type {string}
     * @memberof GetCardBinResponseSchema
     */
    'sub_type'?: string;
    /**
     * Type of card. Available options are `credit`, `debit` and `prepaid`.
     * @type {string}
     * @memberof GetCardBinResponseSchema
     */
    'type'?: string;
}
/**
 * Error when idempotency fails. Different request body with the same idempotent key.
 * @export
 * @interface IdempotencyError
 */
export interface IdempotencyError {
    /**
     *
     * @type {string}
     * @memberof IdempotencyError
     */
    'message'?: string;
    /**
     *
     * @type {string}
     * @memberof IdempotencyError
     */
    'help'?: string;
    /**
     *
     * @type {string}
     * @memberof IdempotencyError
     */
    'code'?: string;
    /**
     * idempotency_error.
     * @type {string}
     * @memberof IdempotencyError
     */
    'type'?: IdempotencyErrorTypeEnum;
}
export declare const IdempotencyErrorTypeEnum: {
    readonly IDEMPOTENCY_ERROR: "idempotency_error";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type IdempotencyErrorTypeEnum = typeof IdempotencyErrorTypeEnum[keyof typeof IdempotencyErrorTypeEnum];
/**
 * Success response for Fetch Downtime by ID.
 * @export
 * @interface IncidentByIdResponse
 */
export interface IncidentByIdResponse {
    /**
     * Unique identifier for the incident.
     * @type {string}
     * @memberof IncidentByIdResponse
     */
    'incident_id'?: string;
    /**
     * Impact level of the incident.
     * @type {string}
     * @memberof IncidentByIdResponse
     */
    'incident_impact'?: IncidentByIdResponseIncidentImpactEnum;
    /**
     * Description of the issue.
     * @type {string}
     * @memberof IncidentByIdResponse
     */
    'incident_message'?: string;
    /**
     * Start time of the incident.
     * @type {string}
     * @memberof IncidentByIdResponse
     */
    'incident_start_time'?: string;
    /**
     * End time of the incident, if applicable; null if still ongoing.
     * @type {string}
     * @memberof IncidentByIdResponse
     */
    'incident_end_time'?: string | null;
    /**
     * Current status of the incident.
     * @type {string}
     * @memberof IncidentByIdResponse
     */
    'incident_status'?: IncidentByIdResponseIncidentStatusEnum;
    /**
     * Type of the incident.
     * @type {string}
     * @memberof IncidentByIdResponse
     */
    'incident_type'?: string;
    /**
     *
     * @type {IncidentObjectPaymentMethod}
     * @memberof IncidentByIdResponse
     */
    'payment_method'?: IncidentObjectPaymentMethod;
}
export declare const IncidentByIdResponseIncidentImpactEnum: {
    readonly HIGH: "HIGH";
    readonly MEDIUM: "MEDIUM";
    readonly LOW: "LOW";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type IncidentByIdResponseIncidentImpactEnum = typeof IncidentByIdResponseIncidentImpactEnum[keyof typeof IncidentByIdResponseIncidentImpactEnum];
export declare const IncidentByIdResponseIncidentStatusEnum: {
    readonly ACTIVE: "ACTIVE";
    readonly UPCOMING: "UPCOMING";
    readonly RESOLVED: "RESOLVED";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type IncidentByIdResponseIncidentStatusEnum = typeof IncidentByIdResponseIncidentStatusEnum[keyof typeof IncidentByIdResponseIncidentStatusEnum];
/**
 * Represents an active incident entry in the ecosystem.
 * @export
 * @interface IncidentObject
 */
export interface IncidentObject {
    /**
     * Unique identifier for the incident.
     * @type {string}
     * @memberof IncidentObject
     */
    'incident_id'?: string;
    /**
     * Impact level of the incident.
     * @type {string}
     * @memberof IncidentObject
     */
    'incident_impact'?: IncidentObjectIncidentImpactEnum;
    /**
     * Description of the incident.
     * @type {string}
     * @memberof IncidentObject
     */
    'incident_message'?: string;
    /**
     * Start time of the incident.
     * @type {string}
     * @memberof IncidentObject
     */
    'incident_start_time'?: string;
    /**
     * End time of the incident, or null if ongoing.
     * @type {string}
     * @memberof IncidentObject
     */
    'incident_end_time'?: string | null;
    /**
     * Status of the incident.
     * @type {string}
     * @memberof IncidentObject
     */
    'incident_status'?: IncidentObjectIncidentStatusEnum;
    /**
     * Type of the incident.
     * @type {string}
     * @memberof IncidentObject
     */
    'incident_type'?: IncidentObjectIncidentTypeEnum;
    /**
     *
     * @type {IncidentObjectPaymentMethod}
     * @memberof IncidentObject
     */
    'payment_method'?: IncidentObjectPaymentMethod;
}
export declare const IncidentObjectIncidentImpactEnum: {
    readonly HIGH: "HIGH";
    readonly MEDIUM: "MEDIUM";
    readonly LOW: "LOW";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type IncidentObjectIncidentImpactEnum = typeof IncidentObjectIncidentImpactEnum[keyof typeof IncidentObjectIncidentImpactEnum];
export declare const IncidentObjectIncidentStatusEnum: {
    readonly ACTIVE: "ACTIVE";
    readonly UPCOMING: "UPCOMING";
    readonly RESOLVED: "RESOLVED";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type IncidentObjectIncidentStatusEnum = typeof IncidentObjectIncidentStatusEnum[keyof typeof IncidentObjectIncidentStatusEnum];
export declare const IncidentObjectIncidentTypeEnum: {
    readonly SCHEDULED: "SCHEDULED";
    readonly UNSCHEDULED: "UNSCHEDULED";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type IncidentObjectIncidentTypeEnum = typeof IncidentObjectIncidentTypeEnum[keyof typeof IncidentObjectIncidentTypeEnum];
/**
 * @type IncidentObjectPaymentMethod
 * @export
 */
export type IncidentObjectPaymentMethod = CardDowntime | NetBankingDowntime | UPIDowntime | WalletDowntime;
/**
 * Use this API to fetch specific saved card stored for the customer in Cashfree’s [Token Vault](https://www.cashfree.com/docs/payments/features/token-vault).
 * @export
 * @interface InstrumentEntity
 */
export interface InstrumentEntity {
    /**
     * Customer ID that merchant sends during [Create Order API](https://www.cashfree.com/docs/api-reference/payments/latest/orders/create), against which the cards are saved for the customer.
     * @type {string}
     * @memberof InstrumentEntity
     */
    'customer_id'?: string;
    /**
     * cf_payment_id of the successful transaction done while saving instrument.
     * @type {string}
     * @memberof InstrumentEntity
     */
    'afa_reference'?: string;
    /**
     * Identifier for the card saved at Cashfree.
     * @type {string}
     * @memberof InstrumentEntity
     */
    'instrument_id'?: string;
    /**
     * Type of the saved instrument. Available option is `card`.
     * @type {string}
     * @memberof InstrumentEntity
     */
    'instrument_type'?: string;
    /**
     * Unique identifier for the saved card, used to identify a specific card.
     * @type {string}
     * @memberof InstrumentEntity
     */
    'instrument_uid'?: string;
    /**
     * Last four digits of actual card number.
     * @type {string}
     * @memberof InstrumentEntity
     */
    'instrument_display'?: string;
    /**
     * Status of the saved instrument. Available options are `ACTIVE`, `INACTIVE`.
     * @type {string}
     * @memberof InstrumentEntity
     */
    'instrument_status'?: string;
    /**
     * Timestamp at which instrument was saved.
     * @type {string}
     * @memberof InstrumentEntity
     */
    'created_at'?: string;
    /**
     *
     * @type {SavedInstrumentMeta}
     * @memberof InstrumentEntity
     */
    'instrument_meta'?: SavedInstrumentMeta;
}
/**
 * Contains list of all saved cards for the customer. Merchants are advised to filter out saved cards basis token expiry sent in API response, to only show active saved cards/tokens on their checkout.
 * @export
 * @interface InstrumentEntityForAllSavedCard
 */
export interface InstrumentEntityForAllSavedCard {
    /**
     * Customer ID that merchant sends during [Create Order API](https://www.cashfree.com/docs/api-reference/payments/latest/orders/create), against which the cards are saved for the customer.
     * @type {string}
     * @memberof InstrumentEntityForAllSavedCard
     */
    'customer_id'?: string;
    /**
     * cf_payment_id of the successful transaction done while saving instrument.
     * @type {string}
     * @memberof InstrumentEntityForAllSavedCard
     */
    'afa_reference'?: string;
    /**
     * Identifier for the card saved at Cashfree. It is used for [cryptogram generation](https://www.cashfree.com/docs/api-reference/payments/latest/token-vault/generate-cryptogram) and in [order pay](https://www.cashfree.com/docs/api-reference/payments/latest/payments/pay) request for saved cards..
     * @type {string}
     * @memberof InstrumentEntityForAllSavedCard
     */
    'instrument_id'?: string;
    /**
     * Type of the saved instrument. Available option is `card`.
     * @type {string}
     * @memberof InstrumentEntityForAllSavedCard
     */
    'instrument_type'?: string;
    /**
     * Unique identifier for the saved card, used to identify a specific card.
     * @type {string}
     * @memberof InstrumentEntityForAllSavedCard
     */
    'instrument_uid'?: string;
    /**
     * Last 4 digits of actual card number, to be displayed to the customer for card identification.
     * @type {string}
     * @memberof InstrumentEntityForAllSavedCard
     */
    'instrument_display'?: string;
    /**
     * Status of the saved instrument. Available options are `ACTIVE`, `INACTIVE`.
     * @type {string}
     * @memberof InstrumentEntityForAllSavedCard
     */
    'instrument_status'?: string;
    /**
     * Timestamp at which instrument was saved.
     * @type {string}
     * @memberof InstrumentEntityForAllSavedCard
     */
    'created_at'?: string;
    /**
     *
     * @type {SavedInstrumentMeta}
     * @memberof InstrumentEntityForAllSavedCard
     */
    'instrument_meta'?: SavedInstrumentMeta;
}
/**
 * Instrument webhook object.
 * @export
 * @interface InstrumentWebhook
 */
export interface InstrumentWebhook {
    /**
     *
     * @type {InstrumentWebhookData}
     * @memberof InstrumentWebhook
     */
    'data'?: InstrumentWebhookData;
}
/**
 *
 * @export
 * @interface InstrumentWebhookData
 */
export interface InstrumentWebhookData {
    /**
     *
     * @type {InstrumentWebhookDataEntity}
     * @memberof InstrumentWebhookData
     */
    'data'?: InstrumentWebhookDataEntity;
    /**
     *
     * @type {string}
     * @memberof InstrumentWebhookData
     */
    'event_time'?: string;
    /**
     *
     * @type {string}
     * @memberof InstrumentWebhookData
     */
    'type'?: string;
}
/**
 * data entity in webhook.
 * @export
 * @interface InstrumentWebhookDataEntity
 */
export interface InstrumentWebhookDataEntity {
    /**
     *
     * @type {InstrumentEntity}
     * @memberof InstrumentWebhookDataEntity
     */
    'instrument'?: InstrumentEntity;
}
/**
 * International payment details.
 * @export
 * @interface InternationalPaymentEntity
 */
export interface InternationalPaymentEntity {
    /**
     *
     * @type {boolean}
     * @memberof InternationalPaymentEntity
     */
    'international'?: boolean;
}
/**
 *
 * @export
 * @interface KycDetails
 */
export interface KycDetails {
    /**
     *
     * @type {string}
     * @memberof KycDetails
     */
    'account_type'?: string;
    /**
     *
     * @type {string}
     * @memberof KycDetails
     */
    'business_type'?: string;
    /**
     *
     * @type {number}
     * @memberof KycDetails
     */
    'uidai'?: number;
    /**
     *
     * @type {string}
     * @memberof KycDetails
     */
    'gst'?: string;
    /**
     *
     * @type {string}
     * @memberof KycDetails
     */
    'cin'?: string;
    /**
     *
     * @type {string}
     * @memberof KycDetails
     */
    'pan'?: string;
    /**
     *
     * @type {string}
     * @memberof KycDetails
     */
    'passport_number'?: string;
    /**
     *
     * @type {string}
     * @memberof KycDetails
     */
    'driving_license'?: string;
    /**
     *
     * @type {string}
     * @memberof KycDetails
     */
    'voter_id'?: string;
}
/**
 * Payment link customer entity.
 * @export
 * @interface LinkCustomerDetailsEntity
 */
export interface LinkCustomerDetailsEntity {
    /**
     * Customer phone number.
     * @type {string}
     * @memberof LinkCustomerDetailsEntity
     */
    'customer_phone': string;
    /**
     * Customer email address.
     * @type {string}
     * @memberof LinkCustomerDetailsEntity
     */
    'customer_email'?: string;
    /**
     * Customer name.
     * @type {string}
     * @memberof LinkCustomerDetailsEntity
     */
    'customer_name'?: string;
    /**
     * Customer Bank Account Number.
     * @type {string}
     * @memberof LinkCustomerDetailsEntity
     */
    'customer_bank_account_number'?: string;
    /**
     * Customer Bank Ifsc.
     * @type {string}
     * @memberof LinkCustomerDetailsEntity
     */
    'customer_bank_ifsc'?: string;
    /**
     * Customer Bank Code.
     * @type {number}
     * @memberof LinkCustomerDetailsEntity
     */
    'customer_bank_code'?: LinkCustomerDetailsEntityCustomerBankCodeEnum;
    /**
     * Customer Bank Account Holder Name.
     * @type {string}
     * @memberof LinkCustomerDetailsEntity
     */
    'customer_bank_acoount_holder_name'?: string;
}
export declare const LinkCustomerDetailsEntityCustomerBankCodeEnum: {
    readonly NUMBER_3003: 3003;
    readonly NUMBER_3005: 3005;
    readonly NUMBER_3006: 3006;
    readonly NUMBER_3010: 3010;
    readonly NUMBER_3012: 3012;
    readonly NUMBER_3016: 3016;
    readonly NUMBER_3019: 3019;
    readonly NUMBER_3020: 3020;
    readonly NUMBER_3021: 3021;
    readonly NUMBER_3022: 3022;
    readonly NUMBER_3023: 3023;
    readonly NUMBER_3024: 3024;
    readonly NUMBER_3026: 3026;
    readonly NUMBER_3027: 3027;
    readonly NUMBER_3028: 3028;
    readonly NUMBER_3029: 3029;
    readonly NUMBER_3030: 3030;
    readonly NUMBER_3031: 3031;
    readonly NUMBER_3032: 3032;
    readonly NUMBER_3033: 3033;
    readonly NUMBER_3038: 3038;
    readonly NUMBER_3039: 3039;
    readonly NUMBER_3040: 3040;
    readonly NUMBER_3042: 3042;
    readonly NUMBER_3044: 3044;
    readonly NUMBER_3054: 3054;
    readonly NUMBER_3055: 3055;
    readonly NUMBER_3058: 3058;
    readonly NUMBER_3086: 3086;
    readonly NUMBER_3087: 3087;
    readonly NUMBER_3088: 3088;
    readonly NUMBER_3089: 3089;
    readonly NUMBER_3090: 3090;
    readonly NUMBER_3091: 3091;
    readonly NUMBER_3092: 3092;
    readonly NUMBER_3098: 3098;
    readonly NUMBER_3115: 3115;
    readonly NUMBER_3117: 3117;
    readonly NUMBER_7001: 7001;
    readonly NUMBER_unknown_default_open_api: 11184809;
};
export type LinkCustomerDetailsEntityCustomerBankCodeEnum = typeof LinkCustomerDetailsEntityCustomerBankCodeEnum[keyof typeof LinkCustomerDetailsEntityCustomerBankCodeEnum];
/**
 *
 * @export
 * @interface LinkEntity
 */
export interface LinkEntity {
    /**
     *
     * @type {string}
     * @memberof LinkEntity
     */
    'cf_link_id'?: string;
    /**
     *
     * @type {string}
     * @memberof LinkEntity
     */
    'link_id'?: string;
    /**
     *
     * @type {string}
     * @memberof LinkEntity
     */
    'link_status'?: string;
    /**
     *
     * @type {string}
     * @memberof LinkEntity
     */
    'link_currency'?: string;
    /**
     *
     * @type {number}
     * @memberof LinkEntity
     */
    'link_amount'?: number;
    /**
     *
     * @type {number}
     * @memberof LinkEntity
     */
    'link_amount_paid'?: number;
    /**
     *
     * @type {boolean}
     * @memberof LinkEntity
     */
    'link_partial_payments'?: boolean;
    /**
     *
     * @type {number}
     * @memberof LinkEntity
     */
    'link_minimum_partial_amount'?: number;
    /**
     *
     * @type {string}
     * @memberof LinkEntity
     */
    'link_purpose'?: string;
    /**
     *
     * @type {string}
     * @memberof LinkEntity
     */
    'link_created_at'?: string;
    /**
     *
     * @type {LinkCustomerDetailsEntity}
     * @memberof LinkEntity
     */
    'customer_details'?: LinkCustomerDetailsEntity;
    /**
     *
     * @type {LinkMetaResponseEntity}
     * @memberof LinkEntity
     */
    'link_meta'?: LinkMetaResponseEntity;
    /**
     *
     * @type {string}
     * @memberof LinkEntity
     */
    'link_url'?: string;
    /**
     *
     * @type {string}
     * @memberof LinkEntity
     */
    'link_expiry_time'?: string;
    /**
     * Key-value pair that can be used to store additional information about the entity. Maximum 5 key-value pairs.
     * @type {{ [key: string]: string; }}
     * @memberof LinkEntity
     */
    'link_notes'?: {
        [key: string]: string;
    };
    /**
     *
     * @type {boolean}
     * @memberof LinkEntity
     */
    'link_auto_reminders'?: boolean;
    /**
     *
     * @type {LinkNotifyEntity}
     * @memberof LinkEntity
     */
    'link_notify'?: LinkNotifyEntity;
    /**
     * Base64 encoded string for payment link. You can scan with camera to open a link in the browser to complete the payment.
     * @type {string}
     * @memberof LinkEntity
     */
    'link_qrcode'?: string;
    /**
     *
     * @type {Array<VendorSplit>}
     * @memberof LinkEntity
     */
    'order_splits'?: Array<VendorSplit>;
    /**
     *
     * @type {LinkSubscriptionEntity}
     * @memberof LinkEntity
     */
    'subscription'?: LinkSubscriptionEntity;
}
/**
 * Payment link meta information object.
 * @export
 * @interface LinkMetaResponseEntity
 */
export interface LinkMetaResponseEntity {
    /**
     * Notification URL for server-server communication. It should be an https URL.
     * @type {string}
     * @memberof LinkMetaResponseEntity
     */
    'notify_url'?: string;
    /**
     * If \"true\", link will directly open UPI Intent flow on mobile, and normal link flow elsewhere.
     * @type {string}
     * @memberof LinkMetaResponseEntity
     */
    'upi_intent'?: string;
    /**
     * The URL to which user will be redirected to after the payment is done on the link. Maximum length: 250.
     * @type {string}
     * @memberof LinkMetaResponseEntity
     */
    'return_url'?: string;
    /**
     * Allowed payment modes for this link. Pass comma-separated values among following options - \"cc\", \"dc\", \"ccc\", \"ppc\", \"nb\", \"upi\", \"paypal\", \"app\". Leave it blank to show all available payment methods.
     * @type {string}
     * @memberof LinkMetaResponseEntity
     */
    'payment_methods'?: string;
}
/**
 * Payment link Notify Object for SMS and Email.
 * @export
 * @interface LinkNotifyEntity
 */
export interface LinkNotifyEntity {
    /**
     * If \"true\", Cashfree will send sms on customer_phone.
     * @type {boolean}
     * @memberof LinkNotifyEntity
     */
    'send_sms'?: boolean;
    /**
     * If \"true\", Cashfree will send email on customer_email.
     * @type {boolean}
     * @memberof LinkNotifyEntity
     */
    'send_email'?: boolean;
}
/**
 * Subscription plan details for recurring payments.
 * @export
 * @interface LinkPlanEntity
 */
export interface LinkPlanEntity {
    /**
     * Unique ID to identify the plan. Only alpha-numerics, dot, hyphen and underscore allowed.
     * @type {string}
     * @memberof LinkPlanEntity
     */
    'plan_id'?: string;
    /**
     * Name of the plan.
     * @type {string}
     * @memberof LinkPlanEntity
     */
    'plan_name'?: string;
    /**
     * Type of the plan. Possible values - PERIODIC, ON_DEMAND.
     * @type {string}
     * @memberof LinkPlanEntity
     */
    'plan_type'?: string;
    /**
     * Currency of the plan.
     * @type {string}
     * @memberof LinkPlanEntity
     */
    'plan_currency'?: string;
    /**
     * The amount to be charged for PERIODIC plan. This is a conditional parameter, only required for PERIODIC plans.
     * @type {number}
     * @memberof LinkPlanEntity
     */
    'plan_amount'?: number;
    /**
     * Maximum amount for the plan.
     * @type {number}
     * @memberof LinkPlanEntity
     */
    'plan_max_amount'?: number;
    /**
     * Maximum number of payment cycles for the plan.
     * @type {number}
     * @memberof LinkPlanEntity
     */
    'plan_max_cycles'?: number;
    /**
     * Number of billing cycles between charges.
     * @type {number}
     * @memberof LinkPlanEntity
     */
    'plan_intervals'?: number;
    /**
     * Interval type for the plan. Possible values - DAY, WEEK, MONTH, YEAR.
     * @type {string}
     * @memberof LinkPlanEntity
     */
    'plan_interval_type'?: string;
    /**
     * Note for the plan.
     * @type {string}
     * @memberof LinkPlanEntity
     */
    'plan_note'?: string;
}
/**
 * Payment link subscription object for recurring payments.
 * @export
 * @interface LinkSubscriptionEntity
 */
export interface LinkSubscriptionEntity {
    /**
     *
     * @type {LinkPlanEntity}
     * @memberof LinkSubscriptionEntity
     */
    'plan_details'?: LinkPlanEntity;
    /**
     * Indicates whether the authorization amount should be refunded to the customer automatically. Merchants can use this field to specify if the authorized funds should be returned to the customer after authorization of the subscription.
     * @type {boolean}
     * @memberof LinkSubscriptionEntity
     */
    'authorization_amount_refund'?: boolean;
    /**
     * Time at which the subscription will expire.
     * @type {string}
     * @memberof LinkSubscriptionEntity
     */
    'subscription_expiry_time'?: string;
    /**
     * Time at which the first charge for the subscription will be processed.
     * @type {string}
     * @memberof LinkSubscriptionEntity
     */
    'subscription_first_charge_time'?: string;
}
/**
 * Request body to manage a subscription payment.
 * @export
 * @interface ManageSubscriptionPaymentRequest
 */
export interface ManageSubscriptionPaymentRequest {
    /**
     * The unique ID which was used to create subscription.
     * @type {string}
     * @memberof ManageSubscriptionPaymentRequest
     */
    'subscription_id': string;
    /**
     * The unique ID which was used to create payment.
     * @type {string}
     * @memberof ManageSubscriptionPaymentRequest
     */
    'payment_id': string;
    /**
     * Action to be performed on the payment. Possible values - CANCEL, RETRY.
     * @type {string}
     * @memberof ManageSubscriptionPaymentRequest
     */
    'action': string;
    /**
     *
     * @type {ManageSubscriptionPaymentRequestActionDetails}
     * @memberof ManageSubscriptionPaymentRequest
     */
    'action_details'?: ManageSubscriptionPaymentRequestActionDetails;
}
/**
 * Details of the action to be performed. Needed for retry action.
 * @export
 * @interface ManageSubscriptionPaymentRequestActionDetails
 */
export interface ManageSubscriptionPaymentRequestActionDetails {
    /**
     * Next scheduled time for the retry of the FAILED payment. Required for retry action.    Please note that only the date component is considered. Any time value provided will be ignored.
     * @type {string}
     * @memberof ManageSubscriptionPaymentRequestActionDetails
     */
    'next_scheduled_time'?: string;
}
/**
 * Request body to manage a subscription.
 * @export
 * @interface ManageSubscriptionRequest
 */
export interface ManageSubscriptionRequest {
    /**
     * The unique ID which was used to create subscription.
     * @type {string}
     * @memberof ManageSubscriptionRequest
     */
    'subscription_id': string;
    /**
     * Action to be performed on the subscription. Possible values - CANCEL, PAUSE, ACTIVATE, CHANGE_PLAN.
     * @type {string}
     * @memberof ManageSubscriptionRequest
     */
    'action': string;
    /**
     *
     * @type {ManageSubscriptionRequestActionDetails}
     * @memberof ManageSubscriptionRequest
     */
    'action_details'?: ManageSubscriptionRequestActionDetails;
}
/**
 * Details of the action to be performed.
 * @export
 * @interface ManageSubscriptionRequestActionDetails
 */
export interface ManageSubscriptionRequestActionDetails {
    /**
     * Next scheduled time for the action. Required for ACTIVATE action.   Please note that only the date component is considered. Any time value provided will be ignored.
     * @type {string}
     * @memberof ManageSubscriptionRequestActionDetails
     */
    'next_scheduled_time'?: string;
    /**
     * Plan ID to update. Required for CHANGE_PLAN action.
     * @type {string}
     * @memberof ManageSubscriptionRequestActionDetails
     */
    'plan_id'?: string;
}
/**
 * The Net Banking incident object will show details about the incident affecting net banking payments.
 * @export
 * @interface NetBankingDowntime
 */
export interface NetBankingDowntime {
    /**
     *
     * @type {NetBankingDowntimeNetBanking}
     * @memberof NetBankingDowntime
     */
    'net_banking'?: NetBankingDowntimeNetBanking;
}
/**
 *
 * @export
 * @interface NetBankingDowntimeNetBanking
 */
export interface NetBankingDowntimeNetBanking {
    /**
     *
     * @type {Array<string>}
     * @memberof NetBankingDowntimeNetBanking
     */
    'net_banking_issuer'?: Array<string>;
    /**
     *
     * @type {string}
     * @memberof NetBankingDowntimeNetBanking
     */
    'bank_code'?: string;
}
/**
 * Payment method for netbanking object.
 * @export
 * @interface NetBankingPaymentMethod
 */
export interface NetBankingPaymentMethod {
    /**
     *
     * @type {Netbanking}
     * @memberof NetBankingPaymentMethod
     */
    'netbanking': Netbanking;
}
/**
 * Netbanking payment method request body.
 * @export
 * @interface Netbanking
 */
export interface Netbanking {
    /**
     * The channel for netbanking will always be `link`.
     * @type {string}
     * @memberof Netbanking
     */
    'channel': string;
    /**
     * Bank code.
     * @type {number}
     * @memberof Netbanking
     */
    'netbanking_bank_code'?: number;
    /**
     * String code for bank.
     * @type {string}
     * @memberof Netbanking
     */
    'netbanking_bank_name'?: string;
}
/**
 * returns all offers.
 * @export
 * @interface OfferAll
 */
export interface OfferAll {
    /**
     * All offers applicable.
     * @type {object}
     * @memberof OfferAll
     */
    'all': object;
}
/**
 * Offers related to cards.
 * @export
 * @interface OfferCard
 */
export interface OfferCard {
    /**
     *
     * @type {CardOffer}
     * @memberof OfferCard
     */
    'card': CardOffer;
}
/**
 * Offer details and type.
 * @export
 * @interface OfferDetails
 */
export interface OfferDetails {
    /**
     * Offer Type for the Offer.
     * @type {string}
     * @memberof OfferDetails
     */
    'offer_type': OfferDetailsOfferTypeEnum;
    /**
     *
     * @type {DiscountDetails}
     * @memberof OfferDetails
     */
    'discount_details'?: DiscountDetails;
    /**
     *
     * @type {CashbackDetails}
     * @memberof OfferDetails
     */
    'cashback_details'?: CashbackDetails;
}
export declare const OfferDetailsOfferTypeEnum: {
    readonly DISCOUNT: "DISCOUNT";
    readonly CASHBACK: "CASHBACK";
    readonly DISCOUNT_AND_CASHBACK: "DISCOUNT_AND_CASHBACK";
    readonly NO_COST_EMI: "NO_COST_EMI";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OfferDetailsOfferTypeEnum = typeof OfferDetailsOfferTypeEnum[keyof typeof OfferDetailsOfferTypeEnum];
/**
 * Offer details response and type.
 * @export
 * @interface OfferDetailsResponse
 */
export interface OfferDetailsResponse {
    /**
     *
     * @type {CashbackDetails}
     * @memberof OfferDetailsResponse
     */
    'cashback_details'?: CashbackDetails;
    /**
     *
     * @type {DiscountDetails}
     * @memberof OfferDetailsResponse
     */
    'discount_details'?: DiscountDetails;
    /**
     * Offer Type for the Offer.
     * @type {string}
     * @memberof OfferDetailsResponse
     */
    'offer_type'?: OfferDetailsResponseOfferTypeEnum;
}
export declare const OfferDetailsResponseOfferTypeEnum: {
    readonly DISCOUNT: "DISCOUNT";
    readonly CASHBACK: "CASHBACK";
    readonly DISCOUNT_AND_CASHBACK: "DISCOUNT_AND_CASHBACK";
    readonly NO_COST_EMI: "NO_COST_EMI";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OfferDetailsResponseOfferTypeEnum = typeof OfferDetailsResponseOfferTypeEnum[keyof typeof OfferDetailsResponseOfferTypeEnum];
/**
 * EMI offer object.
 * @export
 * @interface OfferEMI
 */
export interface OfferEMI {
    /**
     *
     * @type {EMIOffer}
     * @memberof OfferEMI
     */
    'emi'?: EMIOffer;
}
/**
 * Offer entity object.
 * @export
 * @interface OfferEntity
 */
export interface OfferEntity {
    /**
     *
     * @type {string}
     * @memberof OfferEntity
     */
    'offer_id'?: string;
    /**
     *
     * @type {string}
     * @memberof OfferEntity
     */
    'offer_status'?: string;
    /**
     *
     * @type {number}
     * @memberof OfferEntity
     */
    'order_amount'?: number;
    /**
     *
     * @type {number}
     * @memberof OfferEntity
     */
    'payable_amount'?: number;
    /**
     *
     * @type {OfferMetaResponse}
     * @memberof OfferEntity
     */
    'offer_meta'?: OfferMetaResponse;
    /**
     *
     * @type {OfferTncResponse}
     * @memberof OfferEntity
     */
    'offer_tnc'?: OfferTncResponse;
    /**
     *
     * @type {OfferDetailsResponse}
     * @memberof OfferEntity
     */
    'offer_details'?: OfferDetailsResponse;
    /**
     *
     * @type {OfferValidationsResponse}
     * @memberof OfferEntity
     */
    'offer_validations'?: OfferValidationsResponse;
    /**
     *
     * @type {number}
     * @memberof OfferEntity
     */
    'redemption_amount'?: number;
    /**
     *
     * @type {string}
     * @memberof OfferEntity
     */
    'platform'?: string;
}
/**
 * Details of the offer which got applied to the paid order.
 * @export
 * @interface OfferExtendedDetails
 */
export interface OfferExtendedDetails {
    /**
     *
     * @type {string}
     * @memberof OfferExtendedDetails
     */
    'offer_id'?: string;
    /**
     *
     * @type {string}
     * @memberof OfferExtendedDetails
     */
    'offer_status'?: string;
    /**
     *
     * @type {OfferMeta}
     * @memberof OfferExtendedDetails
     */
    'offer_meta'?: OfferMeta;
    /**
     *
     * @type {OfferTnc}
     * @memberof OfferExtendedDetails
     */
    'offer_tnc'?: OfferTnc;
    /**
     *
     * @type {OfferDetails}
     * @memberof OfferExtendedDetails
     */
    'offer_details'?: OfferDetails;
    /**
     *
     * @type {OfferValidations}
     * @memberof OfferExtendedDetails
     */
    'offer_validations'?: OfferValidations;
}
/**
 * Filter for offers.
 * @export
 * @interface OfferFilters
 */
export interface OfferFilters {
    /**
     * Array of offer_type to be filtered.
     * @type {Array<OfferType>}
     * @memberof OfferFilters
     */
    'offer_type'?: Array<OfferType>;
}
/**
 * Offer meta details object.
 * @export
 * @interface OfferMeta
 */
export interface OfferMeta {
    /**
     * Title for the Offer.
     * @type {string}
     * @memberof OfferMeta
     */
    'offer_title': string;
    /**
     * Description for the Offer.
     * @type {string}
     * @memberof OfferMeta
     */
    'offer_description': string;
    /**
     * Unique identifier for the Offer.
     * @type {string}
     * @memberof OfferMeta
     */
    'offer_code': string;
    /**
     * Start Time for the Offer.
     * @type {string}
     * @memberof OfferMeta
     */
    'offer_start_time': string;
    /**
     * Expiry Time for the Offer.
     * @type {string}
     * @memberof OfferMeta
     */
    'offer_end_time': string;
}
/**
 * Offer meta response details object.
 * @export
 * @interface OfferMetaResponse
 */
export interface OfferMetaResponse {
    /**
     * Unique identifier for the Offer.
     * @type {string}
     * @memberof OfferMetaResponse
     */
    'offer_code'?: string;
    /**
     * Description for the Offer.
     * @type {string}
     * @memberof OfferMetaResponse
     */
    'offer_description'?: string;
    /**
     * Expiry Time for the Offer.
     * @type {string}
     * @memberof OfferMetaResponse
     */
    'offer_end_time'?: string;
    /**
     * Start Time for the Offer.
     * @type {string}
     * @memberof OfferMetaResponse
     */
    'offer_start_time'?: string;
    /**
     * Title for the Offer.
     * @type {string}
     * @memberof OfferMetaResponse
     */
    'offer_title'?: string;
}
/**
 * Offer object ofr NetBanking.
 * @export
 * @interface OfferNB
 */
export interface OfferNB {
    /**
     *
     * @type {OfferNBNetbanking}
     * @memberof OfferNB
     */
    'netbanking': OfferNBNetbanking;
}
/**
 *
 * @export
 * @interface OfferNBNetbanking
 */
export interface OfferNBNetbanking {
    /**
     *
     * @type {string}
     * @memberof OfferNBNetbanking
     */
    'bank_name'?: string;
}
/**
 * Offer object for paylater.
 * @export
 * @interface OfferPaylater
 */
export interface OfferPaylater {
    /**
     *
     * @type {PaylaterOffer}
     * @memberof OfferPaylater
     */
    'paylater': PaylaterOffer;
}
/**
 * Offer Query Object.
 * @export
 * @interface OfferQueries
 */
export interface OfferQueries {
    /**
     * OrderId of the order. Either of `order_id` or `order_amount` is mandatory.
     * @type {string}
     * @memberof OfferQueries
     */
    'order_id'?: string;
    /**
     * Amount of the order. OrderId of the order. Either of `order_id` or `order_amount` is mandatory.
     * @type {number}
     * @memberof OfferQueries
     */
    'amount'?: number;
}
/**
 * Offer terms and condition object.
 * @export
 * @interface OfferTnc
 */
export interface OfferTnc {
    /**
     * TnC Type for the Offer. It can be either `text` or `link`.
     * @type {string}
     * @memberof OfferTnc
     */
    'offer_tnc_type': OfferTncOfferTncTypeEnum;
    /**
     * TnC for the Offer.
     * @type {string}
     * @memberof OfferTnc
     */
    'offer_tnc_value': string;
}
export declare const OfferTncOfferTncTypeEnum: {
    readonly TEXT: "text";
    readonly LINK: "link";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OfferTncOfferTncTypeEnum = typeof OfferTncOfferTncTypeEnum[keyof typeof OfferTncOfferTncTypeEnum];
/**
 * Offer terms and condition object.
 * @export
 * @interface OfferTncResponse
 */
export interface OfferTncResponse {
    /**
     * TnC Type for the Offer. It can be either `text` or `link`.
     * @type {string}
     * @memberof OfferTncResponse
     */
    'offer_tnc_type'?: OfferTncResponseOfferTncTypeEnum;
    /**
     * TnC for the Offer.
     * @type {string}
     * @memberof OfferTncResponse
     */
    'offer_tnc_value'?: string;
}
export declare const OfferTncResponseOfferTncTypeEnum: {
    readonly TEXT: "text";
    readonly LINK: "link";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OfferTncResponseOfferTncTypeEnum = typeof OfferTncResponseOfferTncTypeEnum[keyof typeof OfferTncResponseOfferTncTypeEnum];
/**
 * Offer Type Object.
 * @export
 * @enum {string}
 */
export declare const OfferType: {
    readonly DISCOUNT: "DISCOUNT";
    readonly CASHBACK: "CASHBACK";
    readonly DISCOUNT_AND_CASHBACK: "DISCOUNT_AND_CASHBACK";
    readonly NO_COST_EMI: "NO_COST_EMI";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OfferType = typeof OfferType[keyof typeof OfferType];
/**
 * Offer object for UPI.
 * @export
 * @interface OfferUPI
 */
export interface OfferUPI {
    /**
     *
     * @type {object}
     * @memberof OfferUPI
     */
    'upi': object;
}
/**
 * Offer validation object.
 * @export
 * @interface OfferValidations
 */
export interface OfferValidations {
    /**
     * Minimum Amount for Offer to be Applicable.
     * @type {number}
     * @memberof OfferValidations
     */
    'min_amount'?: number;
    /**
     * Maximum Amount for Offer to be Applicable.
     * @type {number}
     * @memberof OfferValidations
     */
    'max_allowed': number;
    /**
     *
     * @type {OfferValidationsResponsePaymentMethod}
     * @memberof OfferValidations
     */
    'payment_method': OfferValidationsResponsePaymentMethod;
}
/**
 * Offer validation object.
 * @export
 * @interface OfferValidationsResponse
 */
export interface OfferValidationsResponse {
    /**
     * Maximum Amount for Offer to be Applicable.
     * @type {number}
     * @memberof OfferValidationsResponse
     */
    'max_allowed'?: number;
    /**
     * Minimum Amount for Offer to be Applicable.
     * @type {number}
     * @memberof OfferValidationsResponse
     */
    'min_amount'?: number;
    /**
     *
     * @type {OfferValidationsResponsePaymentMethod}
     * @memberof OfferValidationsResponse
     */
    'payment_method'?: OfferValidationsResponsePaymentMethod;
}
/**
 * @type OfferValidationsResponsePaymentMethod
 * @export
 */
export type OfferValidationsResponsePaymentMethod = OfferAll | OfferCard | OfferEMI | OfferNB | OfferPaylater | OfferUPI | OfferWallet;
/**
 * Offer object for wallet payment method.
 * @export
 * @interface OfferWallet
 */
export interface OfferWallet {
    /**
     *
     * @type {WalletOffer}
     * @memberof OfferWallet
     */
    'app': WalletOffer;
}
/**
 * Request body to onboard soundbox vpa.
 * @export
 * @interface OnboardSoundboxVpaRequest
 */
export interface OnboardSoundboxVpaRequest {
    /**
     * Terminal Vpa ,that need to onboard on soundbox.
     * @type {string}
     * @memberof OnboardSoundboxVpaRequest
     */
    'vpa': string;
    /**
     * Cashfree terminal ID.
     * @type {number}
     * @memberof OnboardSoundboxVpaRequest
     */
    'cf_terminal_id': number;
    /**
     * Device Serial No of soundbox.
     * @type {string}
     * @memberof OnboardSoundboxVpaRequest
     */
    'device_serial_no'?: string;
    /**
     * Merchant Name that need to onboard on soundbox.
     * @type {string}
     * @memberof OnboardSoundboxVpaRequest
     */
    'merchant_name'?: string;
    /**
     * language of soundbox,currently English, Hindi, Tamil.
     * @type {string}
     * @memberof OnboardSoundboxVpaRequest
     */
    'language'?: string;
}
/**
 * Success response for submitting or resending OTP.
 * @export
 * @interface OrderAuthenticateEntity
 */
export interface OrderAuthenticateEntity {
    /**
     * Cashfree payment ID for which this request was sent.
     * @type {string}
     * @memberof OrderAuthenticateEntity
     */
    'cf_payment_id'?: string;
    /**
     * The action that was requested.
     * @type {string}
     * @memberof OrderAuthenticateEntity
     */
    'action'?: OrderAuthenticateEntityActionEnum;
    /**
     * Status of this action - will be either success or failed. If the action is success, you should still call [payment status API](https://www.cashfree.com/docs/api-reference/payments/latest/payments/get) to verify the final payment status.
     * @type {string}
     * @memberof OrderAuthenticateEntity
     */
    'authenticate_status'?: OrderAuthenticateEntityAuthenticateStatusEnum;
    /**
     * Human readable message which describes the status in more detail.
     * @type {string}
     * @memberof OrderAuthenticateEntity
     */
    'payment_message'?: string;
}
export declare const OrderAuthenticateEntityActionEnum: {
    readonly SUBMIT_OTP: "SUBMIT_OTP";
    readonly RESEND_OTP: "RESEND_OTP";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OrderAuthenticateEntityActionEnum = typeof OrderAuthenticateEntityActionEnum[keyof typeof OrderAuthenticateEntityActionEnum];
export declare const OrderAuthenticateEntityAuthenticateStatusEnum: {
    readonly FAILED: "FAILED";
    readonly SUCCESS: "SUCCESS";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OrderAuthenticateEntityAuthenticateStatusEnum = typeof OrderAuthenticateEntityAuthenticateStatusEnum[keyof typeof OrderAuthenticateEntityAuthenticateStatusEnum];
/**
 * To use this API, Native OTP needs to be enabled for your account.
 * @export
 * @interface OrderAuthenticatePaymentRequest
 */
export interface OrderAuthenticatePaymentRequest {
    /**
     * OTP collected from the customer. Mandatory only when action is SUBMIT_OTP.
     * @type {string}
     * @memberof OrderAuthenticatePaymentRequest
     */
    'otp'?: string;
    /**
     * Action intended for this request - can be SUBMIT_OTP or RESEND_OTP.
     * @type {string}
     * @memberof OrderAuthenticatePaymentRequest
     */
    'action': OrderAuthenticatePaymentRequestActionEnum;
}
export declare const OrderAuthenticatePaymentRequestActionEnum: {
    readonly SUBMIT_OTP: "SUBMIT_OTP";
    readonly RESEND_OTP: "RESEND_OTP";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OrderAuthenticatePaymentRequestActionEnum = typeof OrderAuthenticatePaymentRequestActionEnum[keyof typeof OrderAuthenticatePaymentRequestActionEnum];
/**
 * create refund request object.
 * @export
 * @interface OrderCreateRefundRequest
 */
export interface OrderCreateRefundRequest {
    /**
     * Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed).
     * @type {number}
     * @memberof OrderCreateRefundRequest
     */
    'refund_amount': number;
    /**
     * An unique ID to associate the refund with. Provie alphanumeric values.
     * @type {string}
     * @memberof OrderCreateRefundRequest
     */
    'refund_id'?: string;
    /**
     * A refund note for your reference. To simulate refund status in Sandbox, pass SUCCESS, FAILED, PENDING, or ACTIVE in the refund_note field. This is a case-sensitive parameter.
     * @type {string}
     * @memberof OrderCreateRefundRequest
     */
    'refund_note'?: string;
    /**
     * Speed at which the refund is processed. It\'s an optional field with default being STANDARD.
     * @type {string}
     * @memberof OrderCreateRefundRequest
     */
    'refund_speed'?: OrderCreateRefundRequestRefundSpeedEnum;
    /**
     *
     * @type {Array<OrderCreateRefundRequestRefundSplitsInner>}
     * @memberof OrderCreateRefundRequest
     */
    'refund_splits'?: Array<OrderCreateRefundRequestRefundSplitsInner>;
}
export declare const OrderCreateRefundRequestRefundSpeedEnum: {
    readonly STANDARD: "STANDARD";
    readonly INSTANT: "INSTANT";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OrderCreateRefundRequestRefundSpeedEnum = typeof OrderCreateRefundRequestRefundSpeedEnum[keyof typeof OrderCreateRefundRequestRefundSpeedEnum];
/**
 *
 * @export
 * @interface OrderCreateRefundRequestRefundSplitsInner
 */
export interface OrderCreateRefundRequestRefundSplitsInner {
    /**
     * Vendor id created in Cashfree system.
     * @type {string}
     * @memberof OrderCreateRefundRequestRefundSplitsInner
     */
    'vendor_id': string;
    /**
     * Amount which will be associated with this vendor.
     * @type {number}
     * @memberof OrderCreateRefundRequestRefundSplitsInner
     */
    'amount'?: number;
    /**
     * Custom Tags in the form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added.
     * @type {{ [key: string]: object; }}
     * @memberof OrderCreateRefundRequestRefundSplitsInner
     */
    'tags'?: {
        [key: string]: object;
    };
}
/**
 * Order delivery Status associated with order.
 * @export
 * @interface OrderDeliveryStatus
 */
export interface OrderDeliveryStatus {
    /**
     * Delivery status of order.
     * @type {string}
     * @memberof OrderDeliveryStatus
     */
    'status'?: OrderDeliveryStatusStatusEnum;
    /**
     * Reason of provided order delivery status. This is optional field.
     * @type {string}
     * @memberof OrderDeliveryStatus
     */
    'reason'?: string;
}
export declare const OrderDeliveryStatusStatusEnum: {
    readonly AWAITING_PICKUP: "AWAITING_PICKUP";
    readonly CANCELLED: "CANCELLED";
    readonly SELF_FULFILLED: "SELF_FULFILLED";
    readonly PICKED_UP: "PICKED_UP";
    readonly SHIPPED: "SHIPPED";
    readonly IN_TRANSIT: "IN_TRANSIT";
    readonly DELAY_COURIER_COMPANY_ISSUES: "DELAY_COURIER_COMPANY_ISSUES";
    readonly DELAY_INCORRECT_ADDRESS: "DELAY_INCORRECT_ADDRESS";
    readonly DELAY_SELLER_ISSUES: "DELAY_SELLER_ISSUES";
    readonly REACHED_DESTINATION_HUB: "REACHED_DESTINATION_HUB";
    readonly OUT_FOR_DELIVERY: "OUT_FOR_DELIVERY";
    readonly DELIVERED: "DELIVERED";
    readonly POTENTIAL_RTO_DELIVERY_ATTEMPTED: "POTENTIAL_RTO_DELIVERY_ATTEMPTED";
    readonly RTO: "RTO";
    readonly LOST: "LOST";
    readonly DAMAGED: "DAMAGED";
    readonly UNTRACKABLE_404: "UNTRACKABLE_404";
    readonly MANUAL_INTERVENTION_BROKEN_URL: "MANUAL_INTERVENTION_BROKEN_URL";
    readonly ASSOCIATED_WITH_RETURN_PICKUP: "ASSOCIATED_WITH_RETURN_PICKUP";
    readonly UNSERVICEABLE: "UNSERVICEABLE";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OrderDeliveryStatusStatusEnum = typeof OrderDeliveryStatusStatusEnum[keyof typeof OrderDeliveryStatusStatusEnum];
/**
 *
 * @export
 * @interface OrderDetailsInDisputesEntity
 */
export interface OrderDetailsInDisputesEntity {
    /**
     *
     * @type {string}
     * @memberof OrderDetailsInDisputesEntity
     */
    'order_id'?: string;
    /**
     *
     * @type {string}
     * @memberof OrderDetailsInDisputesEntity
     */
    'order_currency'?: string;
    /**
     *
     * @type {number}
     * @memberof OrderDetailsInDisputesEntity
     */
    'order_amount'?: number;
    /**
     *
     * @type {string}
     * @memberof OrderDetailsInDisputesEntity
     */
    'cf_payment_id'?: string;
    /**
     *
     * @type {string}
     * @memberof OrderDetailsInDisputesEntity
     */
    'payment_currency'?: string;
    /**
     *
     * @type {number}
     * @memberof OrderDetailsInDisputesEntity
     */
    'payment_amount'?: number;
}
/**
 *
 * @export
 * @interface OrderEntity
 */
export interface OrderEntity {
    /**
     * unique id generated by cashfree for your order.
     * @type {string}
     * @memberof OrderEntity
     */
    'cf_order_id'?: string;
    /**
     * order_id sent during the api request.
     * @type {string}
     * @memberof OrderEntity
     */
    'order_id'?: string;
    /**
     * Type of the entity.
     * @type {string}
     * @memberof OrderEntity
     */
    'entity'?: string;
    /**
     * Currency of the order. Example INR.
     * @type {string}
     * @memberof OrderEntity
     */
    'order_currency'?: string;
    /**
     *
     * @type {number}
     * @memberof OrderEntity
     */
    'order_amount'?: number;
    /**
     * Possible values are  - `ACTIVE`: Order does not have a sucessful transaction yet - `PAID`: Order is PAID with one successful transaction - `EXPIRED`: Order was not PAID and not it has expired. No transaction can be initiated for an EXPIRED order. `TERMINATED`: Order terminated `TERMINATION_REQUESTED`: Order termination requested.
     * @type {string}
     * @memberof OrderEntity
     */
    'order_status'?: string;
    /**
     *
     * @type {string}
     * @memberof OrderEntity
     */
    'payment_session_id'?: string;
    /**
     *
     * @type {string}
     * @memberof OrderEntity
     */
    'order_expiry_time'?: string;
    /**
     * Additional note for order.
     * @type {string}
     * @memberof OrderEntity
     */
    'order_note'?: string;
    /**
     * When the order was created at cashfree\'s server.
     * @type {string}
     * @memberof OrderEntity
     */
    'created_at'?: string;
    /**
     *
     * @type {Array<VendorSplit>}
     * @memberof OrderEntity
     */
    'order_splits'?: Array<VendorSplit>;
    /**
     *
     * @type {CustomerDetailsResponse}
     * @memberof OrderEntity
     */
    'customer_details'?: CustomerDetailsResponse;
    /**
     *
     * @type {OrderMeta}
     * @memberof OrderEntity
     */
    'order_meta'?: OrderMeta;
    /**
     * Custom Tags in the form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added.
     * @type {{ [key: string]: string; }}
     * @memberof OrderEntity
     */
    'order_tags'?: {
        [key: string]: string;
    };
    /**
     *
     * @type {CartDetailsEntity}
     * @memberof OrderEntity
     */
    'cart_details'?: CartDetailsEntity;
    /**
     *
     * @type {TerminalData}
     * @memberof OrderEntity
     */
    'terminal_data'?: TerminalData;
    /**
     *
     * @type {OrderEntityProducts}
     * @memberof OrderEntity
     */
    'products'?: OrderEntityProducts;
}
/**
 * Configurations for the products like One Click Checkout, Verify and Pay, if they are enabled for your account.
 * @export
 * @interface OrderEntityProducts
 */
export interface OrderEntityProducts {
    /**
     *
     * @type {ProductDetailsEntity}
     * @memberof OrderEntityProducts
     */
    'one_click_checkout'?: ProductDetailsEntity;
    /**
     *
     * @type {ProductDetailsEntity}
     * @memberof OrderEntityProducts
     */
    'verify_pay'?: ProductDetailsEntity;
}
/**
 *
 * @export
 * @interface OrderExtendedDataEntity
 */
export interface OrderExtendedDataEntity {
    /**
     * unique id generated by cashfree for your order.
     * @type {string}
     * @memberof OrderExtendedDataEntity
     */
    'cf_order_id'?: string;
    /**
     * order_id sent during the api request.
     * @type {string}
     * @memberof OrderExtendedDataEntity
     */
    'order_id'?: string;
    /**
     *
     * @type {number}
     * @memberof OrderExtendedDataEntity
     */
    'order_amount'?: number;
    /**
     * Currency of the order. Example INR.
     * @type {string}
     * @memberof OrderExtendedDataEntity
     */
    'order_currency'?: string;
    /**
     * When the order was created at cashfree\'s server.
     * @type {string}
     * @memberof OrderExtendedDataEntity
     */
    'created_at'?: string;
    /**
     *
     * @type {ChargesEntity}
     * @memberof OrderExtendedDataEntity
     */
    'charges'?: ChargesEntity;
    /**
     *
     * @type {ExtendedCustomerDetails}
     * @memberof OrderExtendedDataEntity
     */
    'customer_details'?: ExtendedCustomerDetails;
    /**
     *
     * @type {AddressDetails}
     * @memberof OrderExtendedDataEntity
     */
    'shipping_address'?: AddressDetails;
    /**
     *
     * @type {AddressDetails}
     * @memberof OrderExtendedDataEntity
     */
    'billing_address'?: AddressDetails;
    /**
     *
     * @type {ExtendedCartDetails}
     * @memberof OrderExtendedDataEntity
     */
    'cart'?: ExtendedCartDetails;
    /**
     *
     * @type {Array<OfferExtendedDetails>}
     * @memberof OrderExtendedDataEntity
     */
    'offers'?: Array<OfferExtendedDetails>;
}
/**
 * Optional meta details to control how the customer pays and how payment journey completes.
 * @export
 * @interface OrderMeta
 */
export interface OrderMeta {
    /**
     * This is the [URL](https://www.cashfree.com/devstudio/thankyou?order_id=devstudio_734905336776434862) to which the customer will be redirected after the payment reaches a terminal state (success, failed or cancelled). We recommend keeping context of `order_id` in your `return_url` so that you can identify the order when customer lands on your page. Cashfree triggers a **GET request** to this URL. Maximum URL length: 250 characters.
     * @type {string}
     * @memberof OrderMeta
     */
    'return_url'?: string;
    /**
     * Notification URL for server-server communication. Useful when user\'s connection drops while re-directing. NotifyUrl should be an https URL. Maximum length: 250.
     * @type {string}
     * @memberof OrderMeta
     */
    'notify_url'?: string;
    /**
     * Specifies the allowed payment modes for this order. To restrict payment options,  provide a comma-separated list of values from the following options: `cc`, `dc`, `ccc`,  `ppc`, `nb`, `upi`, `paypal`, `app`, `paylater`, `cardlessemi`, `dcemi`, `ccemi`,  `banktransfer`, `applepay`. Leave this field blank to display all available payment methods.
     * @type {any}
     * @memberof OrderMeta
     */
    'payment_methods'?: any;
    /**
     *
     * @type {OrderMetaPaymentMethodsFilters}
     * @memberof OrderMeta
     */
    'payment_methods_filters'?: OrderMetaPaymentMethodsFilters;
    /**
     *
     * @type {OrderMetaOfferFilters}
     * @memberof OrderMeta
     */
    'offer_filters'?: OrderMetaOfferFilters;
    /**
     * Set the priority of UPI apps that you want to show for this order. Pass values in list among following options - \"gpay\",\"phonepe\",\"paytm\",\"navi\",\"cred\",\"supermoney\",\"amazonpay\",\"bhim\",\"mobikwik\",\"airtel\",\"popclub\",\"kiwi\".
     * @type {any}
     * @memberof OrderMeta
     */
    'upi_app_priority'?: any;
}
/**
 * Allow or deny specific offers.
 * @export
 * @interface OrderMetaOfferFilters
 */
export interface OrderMetaOfferFilters {
    /**
     * Defines whether to allow or deny the specified offers.
     * @type {string}
     * @memberof OrderMetaOfferFilters
     */
    'action'?: OrderMetaOfferFiltersActionEnum;
    /**
     * List of offer identifiers.
     * @type {Array<string>}
     * @memberof OrderMetaOfferFilters
     */
    'values'?: Array<string>;
}
export declare const OrderMetaOfferFiltersActionEnum: {
    readonly ALLOW: "ALLOW";
    readonly DENY: "DENY";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OrderMetaOfferFiltersActionEnum = typeof OrderMetaOfferFiltersActionEnum[keyof typeof OrderMetaOfferFiltersActionEnum];
/**
 * Allowed payment modes for this order. Along with multiple filters for cards can be added to this key. And this filtering will be honoured during transaction creation.
 * @export
 * @interface OrderMetaPaymentMethodsFilters
 */
export interface OrderMetaPaymentMethodsFilters {
    /**
     *
     * @type {OrderMetaPaymentMethodsFiltersMethods}
     * @memberof OrderMetaPaymentMethodsFilters
     */
    'methods'?: OrderMetaPaymentMethodsFiltersMethods;
    /**
     *
     * @type {OrderPaymentMethodFilters}
     * @memberof OrderMetaPaymentMethodsFilters
     */
    'filters'?: OrderPaymentMethodFilters;
}
/**
 * Allowed payment modes for this order. credit_card, debit_card, netbanking, paylater, etc are the values that can be passed to this parameter.
 * @export
 * @interface OrderMetaPaymentMethodsFiltersMethods
 */
export interface OrderMetaPaymentMethodsFiltersMethods {
    /**
     * It accepts value of \"ALLOW\" and allows only those modes present in it\'s neighbouring parameter \"values.\".
     * @type {string}
     * @memberof OrderMetaPaymentMethodsFiltersMethods
     */
    'action'?: string;
    /**
     * The accepted entries for this paramter are \"debit_card, credit_card, prepaid_card, upi, wallet, netbanking, banktransfer, paylater, paypal, debit_card_emi, credit_card_emi, upi_credit_card, upi_ppi, cardless_emi, account_based_payment, corporate_credit_card, sbc_debit_card, sbc_emandate, sbc_upi, sbc_credit_card.\".
     * @type {Array<string>}
     * @memberof OrderMetaPaymentMethodsFiltersMethods
     */
    'values'?: Array<string>;
}
/**
 * The data object of Order Pay API.
 * @export
 * @interface OrderPayData
 */
export interface OrderPayData {
    /**
     * For card payments, if the response includes ```action:link```, redirect the customer to the ```data.url``` page. If the response includes ```action:post```, display a native OTP UI to collect the OTP and submit it to ```data.url```.
     * @type {string}
     * @memberof OrderPayData
     */
    'url'?: string;
    /**
     * Key value pairs sent as the request body if the payment link requires a form submission instead of a redirect.
     * @type {object}
     * @memberof OrderPayData
     */
    'payload'?: object;
    /**
     * Specifies the Content-Type header that should be used when submitting the payload, for example, ```application/x-www-form-urlencoded```.
     * @type {string}
     * @memberof OrderPayData
     */
    'content_type'?: string;
    /**
     * The HTTP method to use when submitting the payload to the url. For example, POST.
     * @type {string}
     * @memberof OrderPayData
     */
    'method'?: string;
    /**
     * This field is available only for card payments when ```action:post``` is returned. Display a native OTP UI and also provide an option for the customer to redirect to bank page. When the customer selects this option, redirect them to the ```data.redirect_to_bank``` URL.
     * @type {string}
     * @memberof OrderPayData
     */
    'redirect_to_bank'?: string;
}
/**
 * Filters for this order. Card bins, card schemes, card issuing bank and card suffixes.
 * @export
 * @interface OrderPaymentMethodFilters
 */
export interface OrderPaymentMethodFilters {
    /**
     * Allowed card EMI tenure for the order.
     * @type {number}
     * @memberof OrderPaymentMethodFilters
     */
    'card_emi_tenure'?: number;
    /**
     * Allowed card EMI bins for the order.
     * @type {Array<number>}
     * @memberof OrderPaymentMethodFilters
     */
    'card_emi_bins'?: Array<number>;
    /**
     * Allowed card EMI schemes for the order.
     * @type {Array<string>}
     * @memberof OrderPaymentMethodFilters
     */
    'card_emi_schemes'?: Array<string>;
    /**
     * Allowed card EMI suffixes for the order.
     * @type {Array<number>}
     * @memberof OrderPaymentMethodFilters
     */
    'card_emi_suffix'?: Array<number>;
    /**
     * Allowed card EMI issuing bank for the order.
     * @type {Array<string>}
     * @memberof OrderPaymentMethodFilters
     */
    'card_emi_issuing_bank'?: Array<string>;
    /**
     * Allowed card bins for the order.
     * @type {Array<number>}
     * @memberof OrderPaymentMethodFilters
     */
    'card_bins'?: Array<number>;
    /**
     * Allowed card schemes for the order.
     * @type {Array<string>}
     * @memberof OrderPaymentMethodFilters
     */
    'card_schemes'?: Array<string>;
    /**
     * Allowed card suffixes for the order.
     * @type {Array<number>}
     * @memberof OrderPaymentMethodFilters
     */
    'card_suffix'?: Array<number>;
    /**
     * Allowed card issuing bank for the order.
     * @type {Array<string>}
     * @memberof OrderPaymentMethodFilters
     */
    'card_issuing_bank'?: Array<string>;
}
/**
 * update refund request object.
 * @export
 * @interface OrderUpdateRefundRequest
 */
export interface OrderUpdateRefundRequest {
    /**
     * Allowed values: [\"CANCELLED\"].
     * @type {string}
     * @memberof OrderUpdateRefundRequest
     */
    'refund_status': OrderUpdateRefundRequestRefundStatusEnum;
    /**
     * Add remarks for your reference.
     * @type {string}
     * @memberof OrderUpdateRefundRequest
     */
    'remarks'?: string;
}
export declare const OrderUpdateRefundRequestRefundStatusEnum: {
    readonly CANCELLED: "CANCELLED";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type OrderUpdateRefundRequestRefundStatusEnum = typeof OrderUpdateRefundRequestRefundStatusEnum[keyof typeof OrderUpdateRefundRequestRefundStatusEnum];
/**
 *
 * @export
 * @interface PARRequest
 */
export interface PARRequest {
    /**
     * The card number, containing 15 to 19 numeric digits without spaces or special characters.
     * @type {string}
     * @memberof PARRequest
     */
    'card_number': string;
    /**
     * The Card Verification Value (CVV), a 3-digit code for most cards (Visa, Mastercard) and a 4-digit code for American Express, used for transaction authentication.
     * @type {string}
     * @memberof PARRequest
     */
    'card_cvv': string;
    /**
     * The two-digit expiry month (01-12), indicating when the card will expire.
     * @type {string}
     * @memberof PARRequest
     */
    'card_expiry_mm': string;
    /**
     * The two-digit expiry year, representing the last two digits of the card’s expiration year.
     * @type {string}
     * @memberof PARRequest
     */
    'card_expiry_yy': string;
    /**
     * Specifies the type of card, with the only accepted value being `PLAIN_CARD`.
     * @type {string}
     * @memberof PARRequest
     */
    'card_type'?: PARRequestCardTypeEnum;
}
export declare const PARRequestCardTypeEnum: {
    readonly PLAIN_CARD: "PLAIN_CARD";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type PARRequestCardTypeEnum = typeof PARRequestCardTypeEnum[keyof typeof PARRequestCardTypeEnum];
/**
 *
 * @export
 * @interface PGCreatePAR200Response
 */
export interface PGCreatePAR200Response {
    /**
     * PAR for plain card sent in request.
     * @type {string}
     * @memberof PGCreatePAR200Response
     */
    'par'?: string;
}
/**
 * Complete object for the authorize only api that uses authorization data object.
 * @export
 * @interface PayOrderAuthorizeOnlyRequest
 */
export interface PayOrderAuthorizeOnlyRequest {
    /**
     *
     * @type {string}
     * @memberof PayOrderAuthorizeOnlyRequest
     */
    'payment_session_id': string;
    /**
     *
     * @type {PayOrderAuthorizeOnlyRequestAuthorizationData}
     * @memberof PayOrderAuthorizeOnlyRequest
     */
    'authorization_data': PayOrderAuthorizeOnlyRequestAuthorizationData;
}
/**
 * Details required for authorization, received in authentication response from processor.
 * @export
 * @interface PayOrderAuthorizeOnlyRequestAuthorizationData
 */
export interface PayOrderAuthorizeOnlyRequestAuthorizationData {
    /**
     *
     * @type {string}
     * @memberof PayOrderAuthorizeOnlyRequestAuthorizationData
     */
    'authentication_token'?: string;
    /**
     *
     * @type {string}
     * @memberof PayOrderAuthorizeOnlyRequestAuthorizationData
     */
    'directory_server_transaction_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PayOrderAuthorizeOnlyRequestAuthorizationData
     */
    'three_ds_server_transaction_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PayOrderAuthorizeOnlyRequestAuthorizationData
     */
    'eci'?: string;
    /**
     *
     * @type {string}
     * @memberof PayOrderAuthorizeOnlyRequestAuthorizationData
     */
    'token_number'?: string;
    /**
     *
     * @type {string}
     * @memberof PayOrderAuthorizeOnlyRequestAuthorizationData
     */
    'token_expiry_year'?: string;
    /**
     *
     * @type {string}
     * @memberof PayOrderAuthorizeOnlyRequestAuthorizationData
     */
    'token_expiry_month'?: string;
    /**
     *
     * @type {string}
     * @memberof PayOrderAuthorizeOnlyRequestAuthorizationData
     */
    'token_cryptogram'?: string;
    /**
     * One of ALT_ID, TOKEN, APPLE_PAY, Indicator for authentication mode.
     * @type {string}
     * @memberof PayOrderAuthorizeOnlyRequestAuthorizationData
     */
    'transaction_type'?: PayOrderAuthorizeOnlyRequestAuthorizationDataTransactionTypeEnum;
}
export declare const PayOrderAuthorizeOnlyRequestAuthorizationDataTransactionTypeEnum: {
    readonly ALT_ID: "ALT_ID";
    readonly TOKEN: "TOKEN";
    readonly APPLE_PAY: "APPLE_PAY";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type PayOrderAuthorizeOnlyRequestAuthorizationDataTransactionTypeEnum = typeof PayOrderAuthorizeOnlyRequestAuthorizationDataTransactionTypeEnum[keyof typeof PayOrderAuthorizeOnlyRequestAuthorizationDataTransactionTypeEnum];
/**
 * Order pay response once you create a transaction for that order.
 * @export
 * @interface PayOrderEntity
 */
export interface PayOrderEntity {
    /**
     * Total amount payable.
     * @type {number}
     * @memberof PayOrderEntity
     */
    'payment_amount'?: number;
    /**
     * Payment identifier created by Cashfree.
     * @type {string}
     * @memberof PayOrderEntity
     */
    'cf_payment_id'?: string;
    /**
     * The payment method used for this transaction. - netbanking: Net banking payment. - card: Credit or debit card payment. - upi: UPI payment via collect, intent, or QR code. - app: Wallet-based payment. - cardless_emi: Cardless EMI payment. - paylater: Pay later payment. - banktransfer: Direct bank transfer payment. - applepay: Apple Pay payment.
     * @type {string}
     * @memberof PayOrderEntity
     */
    'payment_method'?: PayOrderEntityPaymentMethodEnum;
    /**
     * The channel used for the payment method. - link: Redirect-based flow where the customer is taken to an external page. - post: Native OTP flow where the merchant renders a custom UI to collect OTP. - collect: UPI collect request sent to the customer\'s VPA. - qrcode: UPI QR code for the customer to scan. - podQrCode: Pay on delivery QR code.
     * @type {string}
     * @memberof PayOrderEntity
     */
    'channel'?: PayOrderEntityChannelEnum;
    /**
     * The action to complete the payment. - link: Redirect the customer to `data.url` using a browser or in-app webview. - post: Render a native UI, collect required input, and POST it to `data.url`. - form: Render the form from `data.payload` and auto-submit it to `data.url`. - custom: Follow integration-specific instructions or SDK handling.
     * @type {string}
     * @memberof PayOrderEntity
     */
    'action'?: PayOrderEntityActionEnum;
    /**
     *
     * @type {OrderPayData}
     * @memberof PayOrderEntity
     */
    'data'?: OrderPayData;
}
export declare const PayOrderEntityPaymentMethodEnum: {
    readonly NETBANKING: "netbanking";
    readonly CARD: "card";
    readonly UPI: "upi";
    readonly APP: "app";
    readonly CARDLESS_EMI: "cardless_emi";
    readonly PAYLATER: "paylater";
    readonly BANKTRANSFER: "banktransfer";
    readonly APPLEPAY: "applepay";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type PayOrderEntityPaymentMethodEnum = typeof PayOrderEntityPaymentMethodEnum[keyof typeof PayOrderEntityPaymentMethodEnum];
export declare const PayOrderEntityChannelEnum: {
    readonly LINK: "link";
    readonly POST: "post";
    readonly COLLECT: "collect";
    readonly QRCODE: "qrcode";
    readonly POD_QR_CODE: "podQrCode";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type PayOrderEntityChannelEnum = typeof PayOrderEntityChannelEnum[keyof typeof PayOrderEntityChannelEnum];
export declare const PayOrderEntityActionEnum: {
    readonly LINK: "link";
    readonly POST: "post";
    readonly CUSTOM: "custom";
    readonly FORM: "form";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type PayOrderEntityActionEnum = typeof PayOrderEntityActionEnum[keyof typeof PayOrderEntityActionEnum];
/**
 *
 * @export
 * @interface PayOrderRequest
 */
export interface PayOrderRequest {
    /**
     * Unique identifier for the payment session, returned in the response of the Create Order API.
     * @type {string}
     * @memberof PayOrderRequest
     */
    'payment_session_id': string;
    /**
     *
     * @type {PayOrderRequestPaymentMethod}
     * @memberof PayOrderRequest
     */
    'payment_method': PayOrderRequestPaymentMethod;
    /**
     * Send as **true** if the customer has given consent to save or tokenise the card; otherwise, send as false.
     * @type {boolean}
     * @memberof PayOrderRequest
     */
    'save_instrument'?: boolean;
    /**
     * This is required if any offers needs to be applied to the order.
     * @type {string}
     * @memberof PayOrderRequest
     */
    'offer_id'?: string;
}
/**
 * @type PayOrderRequestPaymentMethod
 * @export
 */
export type PayOrderRequestPaymentMethod = AppPaymentMethod | BanktransferPaymentMethod | CardEMIPaymentMethod | CardPaymentMethod | CardlessEMIPaymentMethod | NetBankingPaymentMethod | PaylaterPaymentMethod | UPIPaymentMethod;
/**
 * Paylater payment method.
 * @export
 * @interface Paylater
 */
export interface Paylater {
    /**
     * The channel for cardless EMI is always `link`.
     * @type {string}
     * @memberof Paylater
     */
    'channel'?: string;
    /**
     * One of [\"kotak\", \"flexipay\", \"zestmoney\", \"lazypay\", \"olapostpaid\",\"simpl\", \"freechargepaylater\"]. Please note that Flexipay is offered by HDFC bank.
     * @type {string}
     * @memberof Paylater
     */
    'provider'?: PaylaterProviderEnum;
    /**
     * Customers phone number for this payment instrument. If the customer is not eligible you will receive a 400 error with type as \'invalid_request_error\' and code as \'invalid_request_error\'.
     * @type {string}
     * @memberof Paylater
     */
    'phone'?: string;
}
export declare const PaylaterProviderEnum: {
    readonly KOTAK: "kotak";
    readonly FLEXIPAY: "flexipay";
    readonly ZESTMONEY: "zestmoney";
    readonly LAZYPAY: "lazypay";
    readonly OLAPOSTPAID: "olapostpaid";
    readonly SIMPL: "simpl";
    readonly FREECHARGEPAYLATER: "freechargepaylater";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type PaylaterProviderEnum = typeof PaylaterProviderEnum[keyof typeof PaylaterProviderEnum];
/**
 * Paylater Entity.
 * @export
 * @interface PaylaterEntity
 */
export interface PaylaterEntity {
    /**
     *
     * @type {string}
     * @memberof PaylaterEntity
     */
    'payment_method'?: string;
}
/**
 *
 * @export
 * @interface PaylaterOffer
 */
export interface PaylaterOffer {
    /**
     *
     * @type {string}
     * @memberof PaylaterOffer
     */
    'provider'?: string;
}
/**
 * Paylater payment method.
 * @export
 * @interface PaylaterPaymentMethod
 */
export interface PaylaterPaymentMethod {
    /**
     *
     * @type {Paylater}
     * @memberof PaylaterPaymentMethod
     */
    'paylater': Paylater;
}
/**
 *
 * @export
 * @interface PaymentEntity
 */
export interface PaymentEntity {
    /**
     * Payment entity full object.
     * @type {string}
     * @memberof PaymentEntity
     */
    'cf_payment_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentEntity
     */
    'order_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentEntity
     */
    'entity'?: string;
    /**
     *
     * @type {ErrorDetailsInPaymentsEntity}
     * @memberof PaymentEntity
     */
    'error_details'?: ErrorDetailsInPaymentsEntity;
    /**
     *
     * @type {boolean}
     * @memberof PaymentEntity
     */
    'is_captured'?: boolean;
    /**
     * Order amount can be different from payment amount if you collect service fee from the customer.
     * @type {number}
     * @memberof PaymentEntity
     */
    'order_amount'?: number;
    /**
     * Type of payment group. One of [\'prepaid_card\', \'upi_ppi_offline\', \'cash\', \'upi_credit_card\', \'paypal\', \'net_banking\', \'cardless_emi\', \'credit_card\', \'bank_transfer\', \'pay_later\', \'debit_card_emi\', \'debit_card\', \'wallet\', \'upi_ppi\', \'upi\', \'credit_card_emi\'].
     * @type {string}
     * @memberof PaymentEntity
     */
    'payment_group'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentEntity
     */
    'payment_currency'?: string;
    /**
     *
     * @type {number}
     * @memberof PaymentEntity
     */
    'payment_amount'?: number;
    /**
     * This is the time when the payment was initiated.
     * @type {string}
     * @memberof PaymentEntity
     */
    'payment_time'?: string;
    /**
     * This is the time when the payment reaches its terminal state.
     * @type {string}
     * @memberof PaymentEntity
     */
    'payment_completion_time'?: string;
    /**
     * The transaction status can be one of  [\"SUCCESS\", \"NOT_ATTEMPTED\", \"FAILED\", \"USER_DROPPED\", \"VOID\", \"CANCELLED\", \"PENDING\"].
     * @type {string}
     * @memberof PaymentEntity
     */
    'payment_status'?: PaymentEntityPaymentStatusEnum;
    /**
     *
     * @type {string}
     * @memberof PaymentEntity
     */
    'payment_message'?: string;
    /**
     * Issuing bank’s transaction reference number.
     * @type {string}
     * @memberof PaymentEntity
     */
    'bank_reference'?: string;
    /**
     * Authorisation ID provided by the issuing bank.
     * @type {string}
     * @memberof PaymentEntity
     */
    'auth_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentEntity
     */
    'order_currency'?: string;
    /**
     *
     * @type {AuthorizationInPaymentsEntity}
     * @memberof PaymentEntity
     */
    'authorization'?: AuthorizationInPaymentsEntity;
    /**
     *
     * @type {PaymentEntityPaymentMethod}
     * @memberof PaymentEntity
     */
    'payment_method'?: PaymentEntityPaymentMethod;
    /**
     *
     * @type {InternationalPaymentEntity}
     * @memberof PaymentEntity
     */
    'international_payment'?: InternationalPaymentEntity;
    /**
     *
     * @type {PaymentGatewayDetails}
     * @memberof PaymentEntity
     */
    'payment_gateway_details'?: PaymentGatewayDetails;
    /**
     *
     * @type {PaymentEntityPaymentSurcharge}
     * @memberof PaymentEntity
     */
    'payment_surcharge'?: PaymentEntityPaymentSurcharge;
}
export declare const PaymentEntityPaymentStatusEnum: {
    readonly SUCCESS: "SUCCESS";
    readonly NOT_ATTEMPTED: "NOT_ATTEMPTED";
    readonly FAILED: "FAILED";
    readonly USER_DROPPED: "USER_DROPPED";
    readonly VOID: "VOID";
    readonly CANCELLED: "CANCELLED";
    readonly PENDING: "PENDING";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type PaymentEntityPaymentStatusEnum = typeof PaymentEntityPaymentStatusEnum[keyof typeof PaymentEntityPaymentStatusEnum];
/**
 * @type PaymentEntityPaymentMethod
 * @export
 */
export type PaymentEntityPaymentMethod = PaymentMethodAppInPaymentsEntity | PaymentMethodBankTransferInPaymentsEntity | PaymentMethodCardEMIInPaymentsEntity | PaymentMethodCardInPaymentsEntity | PaymentMethodCardlessEMIInPaymentsEntity | PaymentMethodNetBankingInPaymentsEntity | PaymentMethodPaylaterInPaymentsEntity | PaymentMethodUPIInPaymentsEntity;
/**
 *
 * @export
 * @interface PaymentEntityPaymentSurcharge
 */
export interface PaymentEntityPaymentSurcharge {
    /**
     *
     * @type {number}
     * @memberof PaymentEntityPaymentSurcharge
     */
    'payment_surcharge_service_charge'?: number;
    /**
     *
     * @type {number}
     * @memberof PaymentEntityPaymentSurcharge
     */
    'payment_surcharge_service_tax'?: number;
}
/**
 * payment gateway details present in the webhook response.
 * @export
 * @interface PaymentGatewayDetails
 */
export interface PaymentGatewayDetails {
    /**
     *
     * @type {string}
     * @memberof PaymentGatewayDetails
     */
    'gateway_name'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentGatewayDetails
     */
    'gateway_order_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentGatewayDetails
     */
    'gateway_payment_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentGatewayDetails
     */
    'gateway_order_reference_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentGatewayDetails
     */
    'gateway_status_code'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentGatewayDetails
     */
    'gateway_settlement'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentGatewayDetails
     */
    'gateway_reference_name'?: string;
}
/**
 * The customer details that are necessary. Note that you can pass dummy details if your use case does not require the customer details.
 * @export
 * @interface PaymentLinkCustomerDetails
 */
export interface PaymentLinkCustomerDetails {
    /**
     * A unique identifier for the customer. Use alphanumeric values only.
     * @type {string}
     * @memberof PaymentLinkCustomerDetails
     */
    'customer_id'?: string;
    /**
     * Customer email address.
     * @type {string}
     * @memberof PaymentLinkCustomerDetails
     */
    'customer_email'?: string;
    /**
     * Customer phone number.
     * @type {string}
     * @memberof PaymentLinkCustomerDetails
     */
    'customer_phone'?: string;
    /**
     * Name of the customer.
     * @type {string}
     * @memberof PaymentLinkCustomerDetails
     */
    'customer_name'?: string;
    /**
     * Customer bank account. Required if you want to do a bank account check (TPV).
     * @type {string}
     * @memberof PaymentLinkCustomerDetails
     */
    'customer_bank_account_number'?: string;
    /**
     * Customer bank IFSC. Required if you want to do a bank account check (TPV).
     * @type {string}
     * @memberof PaymentLinkCustomerDetails
     */
    'customer_bank_ifsc'?: string;
    /**
     * Customer bank code. Required for net banking payments, if you want to do a bank account check (TPV).
     * @type {number}
     * @memberof PaymentLinkCustomerDetails
     */
    'customer_bank_code'?: number;
}
/**
 * The complete order entity.
 * @export
 * @interface PaymentLinkOrderEntity
 */
export interface PaymentLinkOrderEntity {
    /**
     * unique id generated by cashfree for your order.
     * @type {string}
     * @memberof PaymentLinkOrderEntity
     */
    'cf_order_id'?: string;
    /**
     * link id of the order.
     * @type {string}
     * @memberof PaymentLinkOrderEntity
     */
    'link_id'?: string;
    /**
     * order_id sent during the api request.
     * @type {string}
     * @memberof PaymentLinkOrderEntity
     */
    'order_id'?: string;
    /**
     * Type of the entity.
     * @type {string}
     * @memberof PaymentLinkOrderEntity
     */
    'entity'?: string;
    /**
     * Currency of the order. Example INR.
     * @type {string}
     * @memberof PaymentLinkOrderEntity
     */
    'order_currency'?: string;
    /**
     *
     * @type {number}
     * @memberof PaymentLinkOrderEntity
     */
    'order_amount'?: number;
    /**
     * Possible values are  - `ACTIVE`: Order does not have a sucessful transaction yet - `PAID`: Order is PAID with one successful transaction - `EXPIRED`: Order was not PAID and not it has expired. No transaction can be initiated for an EXPIRED order.
     * @type {string}
     * @memberof PaymentLinkOrderEntity
     */
    'order_status'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentLinkOrderEntity
     */
    'payment_session_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentLinkOrderEntity
     */
    'order_expiry_time'?: string;
    /**
     * Additional note for order.
     * @type {string}
     * @memberof PaymentLinkOrderEntity
     */
    'order_note'?: string;
    /**
     * When the order was created at cashfree\'s server.
     * @type {string}
     * @memberof PaymentLinkOrderEntity
     */
    'created_at'?: string;
    /**
     *
     * @type {Array<VendorSplit>}
     * @memberof PaymentLinkOrderEntity
     */
    'order_splits'?: Array<VendorSplit>;
    /**
     *
     * @type {PaymentLinkCustomerDetails}
     * @memberof PaymentLinkOrderEntity
     */
    'customer_details'?: PaymentLinkCustomerDetails;
    /**
     *
     * @type {OrderMeta}
     * @memberof PaymentLinkOrderEntity
     */
    'order_meta'?: OrderMeta;
    /**
     * Custom Tags in the form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added.
     * @type {{ [key: string]: string; }}
     * @memberof PaymentLinkOrderEntity
     */
    'order_tags'?: {
        [key: string]: string;
    };
}
/**
 * payment method app object in payment entity.
 * @export
 * @interface PaymentMethodAppInPaymentsEntity
 */
export interface PaymentMethodAppInPaymentsEntity {
    /**
     *
     * @type {PaymentMethodAppInPaymentsEntityApp}
     * @memberof PaymentMethodAppInPaymentsEntity
     */
    'app'?: PaymentMethodAppInPaymentsEntityApp;
}
/**
 *
 * @export
 * @interface PaymentMethodAppInPaymentsEntityApp
 */
export interface PaymentMethodAppInPaymentsEntityApp {
    /**
     *
     * @type {string}
     * @memberof PaymentMethodAppInPaymentsEntityApp
     */
    'channel'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodAppInPaymentsEntityApp
     */
    'provider'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodAppInPaymentsEntityApp
     */
    'phone'?: string;
}
/**
 * payment method bank transfer object in payment entity.
 * @export
 * @interface PaymentMethodBankTransferInPaymentsEntity
 */
export interface PaymentMethodBankTransferInPaymentsEntity {
    /**
     *
     * @type {PaymentMethodBankTransferInPaymentsEntityBanktransfer}
     * @memberof PaymentMethodBankTransferInPaymentsEntity
     */
    'banktransfer'?: PaymentMethodBankTransferInPaymentsEntityBanktransfer;
}
/**
 *
 * @export
 * @interface PaymentMethodBankTransferInPaymentsEntityBanktransfer
 */
export interface PaymentMethodBankTransferInPaymentsEntityBanktransfer {
    /**
     *
     * @type {string}
     * @memberof PaymentMethodBankTransferInPaymentsEntityBanktransfer
     */
    'channel'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodBankTransferInPaymentsEntityBanktransfer
     */
    'banktransfer_bank_name'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodBankTransferInPaymentsEntityBanktransfer
     */
    'banktransfer_ifsc'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodBankTransferInPaymentsEntityBanktransfer
     */
    'banktransfer_account_number'?: string;
}
/**
 * payment method card emi object in payment entity.
 * @export
 * @interface PaymentMethodCardEMIInPaymentsEntity
 */
export interface PaymentMethodCardEMIInPaymentsEntity {
    /**
     *
     * @type {PaymentMethodCardEMIInPaymentsEntityEmi}
     * @memberof PaymentMethodCardEMIInPaymentsEntity
     */
    'emi'?: PaymentMethodCardEMIInPaymentsEntityEmi;
}
/**
 *
 * @export
 * @interface PaymentMethodCardEMIInPaymentsEntityEmi
 */
export interface PaymentMethodCardEMIInPaymentsEntityEmi {
    /**
     *
     * @type {string}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmi
     */
    'channel'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmi
     */
    'card_number'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmi
     */
    'card_network'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmi
     */
    'card_type'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmi
     */
    'card_country'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmi
     */
    'card_bank_name'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmi
     */
    'card_network_reference_id'?: string;
    /**
     *
     * @type {number}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmi
     */
    'emi_tenure'?: number;
    /**
     *
     * @type {PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmi
     */
    'emi_details'?: PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails;
}
/**
 *
 * @export
 * @interface PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails
 */
export interface PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails {
    /**
     *
     * @type {number}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails
     */
    'emi_amount'?: number;
    /**
     *
     * @type {number}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails
     */
    'emi_tenure'?: number;
    /**
     *
     * @type {number}
     * @memberof PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails
     */
    'emi_interest'?: number;
}
/**
 * The following code samples show the payment method object payload for different payment methods.
 * @export
 * @interface PaymentMethodCardInPaymentsEntity
 */
export interface PaymentMethodCardInPaymentsEntity {
    /**
     *
     * @type {PaymentMethodCardInPaymentsEntityCard}
     * @memberof PaymentMethodCardInPaymentsEntity
     */
    'card'?: PaymentMethodCardInPaymentsEntityCard;
}
/**
 *
 * @export
 * @interface PaymentMethodCardInPaymentsEntityCard
 */
export interface PaymentMethodCardInPaymentsEntityCard {
    /**
     * The requested channel, can be `link` or `post`.
     * @type {string}
     * @memberof PaymentMethodCardInPaymentsEntityCard
     */
    'channel'?: string;
    /**
     * The last four digits of the customer\'s card number. For external token transactions or external Alt ID transactions, this value is passed only when the merchant includes `card_display` in the [Order Pay API](https://www.cashfree.com/docs/api-reference/payments/latest/payments/pay) request.
     * @type {string}
     * @memberof PaymentMethodCardInPaymentsEntityCard
     */
    'card_number'?: string;
    /**
     * The card scheme or network of the card. For example, `visa`, `mastercard`, `rupay`, `amex`, or `diners`.
     * @type {string}
     * @memberof PaymentMethodCardInPaymentsEntityCard
     */
    'card_network'?: string;
    /**
     * The type of card. For example, `credit_card`, `debit_card`, or `prepaid_card`.
     * @type {string}
     * @memberof PaymentMethodCardInPaymentsEntityCard
     */
    'card_type'?: string;
    /**
     * The sub-type of card. `R` is Retail card, `P` is Premium card, `C` is Corporate card.
     * @type {string}
     * @memberof PaymentMethodCardInPaymentsEntityCard
     */
    'card_sub_type'?: string;
    /**
     * The issuing country of the card. For example, `IN`.
     * @type {string}
     * @memberof PaymentMethodCardInPaymentsEntityCard
     */
    'card_country'?: string;
    /**
     * The issuing bank of the card. For example, `HDFC BANK`, `AXIS BANK`, or `ICICI BANK`.
     * @type {string}
     * @memberof PaymentMethodCardInPaymentsEntityCard
     */
    'card_bank_name'?: string;
    /**
     * The authentication reference ID provided by the respective card network.
     * @type {string}
     * @memberof PaymentMethodCardInPaymentsEntityCard
     */
    'card_network_reference_id'?: string;
    /**
     * The identifier for the card saved at Cashfree. This value is sent only for CF token transactions.
     * @type {string}
     * @memberof PaymentMethodCardInPaymentsEntityCard
     */
    'instrument_id'?: string;
}
/**
 * payment method carless object in payment entity.
 * @export
 * @interface PaymentMethodCardlessEMIInPaymentsEntity
 */
export interface PaymentMethodCardlessEMIInPaymentsEntity {
    /**
     *
     * @type {PaymentMethodAppInPaymentsEntityApp}
     * @memberof PaymentMethodCardlessEMIInPaymentsEntity
     */
    'cardless_emi'?: PaymentMethodAppInPaymentsEntityApp;
}
/**
 * Netbanking payment method object for pay.
 * @export
 * @interface PaymentMethodNetBankingInPaymentsEntity
 */
export interface PaymentMethodNetBankingInPaymentsEntity {
    /**
     *
     * @type {PaymentMethodNetBankingInPaymentsEntityNetbanking}
     * @memberof PaymentMethodNetBankingInPaymentsEntity
     */
    'netbanking'?: PaymentMethodNetBankingInPaymentsEntityNetbanking;
}
/**
 *
 * @export
 * @interface PaymentMethodNetBankingInPaymentsEntityNetbanking
 */
export interface PaymentMethodNetBankingInPaymentsEntityNetbanking {
    /**
     *
     * @type {string}
     * @memberof PaymentMethodNetBankingInPaymentsEntityNetbanking
     */
    'channel'?: string;
    /**
     *
     * @type {number}
     * @memberof PaymentMethodNetBankingInPaymentsEntityNetbanking
     */
    'netbanking_bank_code'?: number;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodNetBankingInPaymentsEntityNetbanking
     */
    'netbanking_bank_name'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodNetBankingInPaymentsEntityNetbanking
     */
    'netbanking_ifsc'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodNetBankingInPaymentsEntityNetbanking
     */
    'netbanking_account_number'?: string;
}
/**
 * Paylater payment method object for pay API.
 * @export
 * @interface PaymentMethodPaylaterInPaymentsEntity
 */
export interface PaymentMethodPaylaterInPaymentsEntity {
    /**
     *
     * @type {PaymentMethodAppInPaymentsEntityApp}
     * @memberof PaymentMethodPaylaterInPaymentsEntity
     */
    'paylater'?: PaymentMethodAppInPaymentsEntityApp;
}
/**
 * UPI payment method for pay api.
 * @export
 * @interface PaymentMethodUPIInPaymentsEntity
 */
export interface PaymentMethodUPIInPaymentsEntity {
    /**
     *
     * @type {PaymentMethodUPIInPaymentsEntityUpi}
     * @memberof PaymentMethodUPIInPaymentsEntity
     */
    'upi'?: PaymentMethodUPIInPaymentsEntityUpi;
}
/**
 *
 * @export
 * @interface PaymentMethodUPIInPaymentsEntityUpi
 */
export interface PaymentMethodUPIInPaymentsEntityUpi {
    /**
     *
     * @type {string}
     * @memberof PaymentMethodUPIInPaymentsEntityUpi
     */
    'channel'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodUPIInPaymentsEntityUpi
     */
    'upi_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodUPIInPaymentsEntityUpi
     */
    'upi_payer_ifsc'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentMethodUPIInPaymentsEntityUpi
     */
    'upi_payer_account_number'?: string;
}
/**
 * Filter for Payment Methods.
 * @export
 * @interface PaymentMethodsFilters
 */
export interface PaymentMethodsFilters {
    /**
     * Array of payment methods to be filtered. This is optional, by default all payment methods will be returned. Possible values in [ \'debit_card\', \'credit_card\', \'prepaid_card\', \'corporate_credit_card\', \'upi\', \'wallet\', \'netbanking\', \'banktransfer\', \'paylater\', \'paypal\', \'debit_card_emi\', \'credit_card_emi\', \'upi_credit_card\', \'upi_ppi\', \'cardless_emi\', \'account_based_payment\' ].
     * @type {Array<string>}
     * @memberof PaymentMethodsFilters
     */
    'payment_methods'?: Array<string>;
}
/**
 * Payment Method Query Object.
 * @export
 * @interface PaymentMethodsQueries
 */
export interface PaymentMethodsQueries {
    /**
     * Amount of the order.
     * @type {number}
     * @memberof PaymentMethodsQueries
     */
    'amount'?: number;
    /**
     * OrderId of the order. Either of `order_id` or `order_amount` is mandatory.
     * @type {string}
     * @memberof PaymentMethodsQueries
     */
    'order_id'?: string;
}
/**
 * payment mode eligiblity object.
 * @export
 * @interface PaymentModeDetails
 */
export interface PaymentModeDetails {
    /**
     *
     * @type {string}
     * @memberof PaymentModeDetails
     */
    'nick'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentModeDetails
     */
    'display'?: string;
    /**
     *
     * @type {boolean}
     * @memberof PaymentModeDetails
     */
    'eligibility'?: boolean;
    /**
     *
     * @type {number}
     * @memberof PaymentModeDetails
     */
    'code'?: number;
}
/**
 * payment webhook object.
 * @export
 * @interface PaymentWebhook
 */
export interface PaymentWebhook {
    /**
     *
     * @type {PaymentWebhookDataEntity}
     * @memberof PaymentWebhook
     */
    'data'?: PaymentWebhookDataEntity;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhook
     */
    'event_time'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhook
     */
    'type'?: string;
}
/**
 * customer details object in webhook.
 * @export
 * @interface PaymentWebhookCustomerEntity
 */
export interface PaymentWebhookCustomerEntity {
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookCustomerEntity
     */
    'customer_name'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookCustomerEntity
     */
    'customer_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookCustomerEntity
     */
    'customer_email'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookCustomerEntity
     */
    'customer_phone'?: string;
}
/**
 * data entity in webhook.
 * @export
 * @interface PaymentWebhookDataEntity
 */
export interface PaymentWebhookDataEntity {
    /**
     *
     * @type {PaymentWebhookOrderEntity}
     * @memberof PaymentWebhookDataEntity
     */
    'order'?: PaymentWebhookOrderEntity;
    /**
     *
     * @type {PaymentEntity}
     * @memberof PaymentWebhookDataEntity
     */
    'payment'?: PaymentEntity;
    /**
     *
     * @type {PaymentWebhookCustomerEntity}
     * @memberof PaymentWebhookDataEntity
     */
    'customer_details'?: PaymentWebhookCustomerEntity;
    /**
     *
     * @type {PaymentWebhookErrorEntity}
     * @memberof PaymentWebhookDataEntity
     */
    'error_details'?: PaymentWebhookErrorEntity;
    /**
     *
     * @type {PaymentWebhookGatewayDetailsEntity}
     * @memberof PaymentWebhookDataEntity
     */
    'payment_gateway_details'?: PaymentWebhookGatewayDetailsEntity;
    /**
     *
     * @type {Array<OfferEntity>}
     * @memberof PaymentWebhookDataEntity
     */
    'payment_offers'?: Array<OfferEntity>;
}
/**
 * error details present in the webhook.
 * @export
 * @interface PaymentWebhookErrorEntity
 */
export interface PaymentWebhookErrorEntity {
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookErrorEntity
     */
    'error_code'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookErrorEntity
     */
    'error_description'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookErrorEntity
     */
    'error_reason'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookErrorEntity
     */
    'error_source'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookErrorEntity
     */
    'error_code_raw'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookErrorEntity
     */
    'error_description_raw'?: string;
}
/**
 * payment gateway details present in the webhook response.
 * @export
 * @interface PaymentWebhookGatewayDetailsEntity
 */
export interface PaymentWebhookGatewayDetailsEntity {
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookGatewayDetailsEntity
     */
    'gateway_name'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookGatewayDetailsEntity
     */
    'gateway_order_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookGatewayDetailsEntity
     */
    'gateway_order_reference_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookGatewayDetailsEntity
     */
    'gateway_payment_id'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookGatewayDetailsEntity
     */
    'gateway_status_code'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookGatewayDetailsEntity
     */
    'gateway_settlement'?: string;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookGatewayDetailsEntity
     */
    'gateway_reference_name'?: string;
}
/**
 * order entity in webhook.
 * @export
 * @interface PaymentWebhookOrderEntity
 */
export interface PaymentWebhookOrderEntity {
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookOrderEntity
     */
    'order_id'?: string;
    /**
     *
     * @type {number}
     * @memberof PaymentWebhookOrderEntity
     */
    'order_amount'?: number;
    /**
     *
     * @type {string}
     * @memberof PaymentWebhookOrderEntity
     */
    'order_currency'?: string;
    /**
     * Custom Tags in the form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added.
     * @type {{ [key: string]: string; }}
     * @memberof PaymentWebhookOrderEntity
     */
    'order_tags'?: {
        [key: string]: string;
    };
}
/**
 *
 * @export
 * @interface PlanEntity
 */
export interface PlanEntity {
    /**
     * Currency for the plan.
     * @type {string}
     * @memberof PlanEntity
     */
    'plan_currency'?: string;
    /**
     * Plan ID provided by merchant.
     * @type {string}
     * @memberof PlanEntity
     */
    'plan_id'?: string;
    /**
     * Interval type for the plan.
     * @type {string}
     * @memberof PlanEntity
     */
    'plan_interval_type'?: string;
    /**
     * Number of intervals for the plan.
     * @type {number}
     * @memberof PlanEntity
     */
    'plan_intervals'?: number;
    /**
     * Maximum amount for the plan.
     * @type {number}
     * @memberof PlanEntity
     */
    'plan_max_amount'?: number;
    /**
     * Maximum number of payment cycles for the plan.
     * @type {number}
     * @memberof PlanEntity
     */
    'plan_max_cycles'?: number;
    /**
     * Name of the plan.
     * @type {string}
     * @memberof PlanEntity
     */
    'plan_name'?: string;
    /**
     * Note for the plan.
     * @type {string}
     * @memberof PlanEntity
     */
    'plan_note'?: string;
    /**
     * Recurring amount for the plan.
     * @type {number}
     * @memberof PlanEntity
     */
    'plan_recurring_amount'?: number;
    /**
     * Status of the plan.
     * @type {string}
     * @memberof PlanEntity
     */
    'plan_status'?: string;
    /**
     * Type of the plan.
     * @type {string}
     * @memberof PlanEntity
     */
    'plan_type'?: string;
}
/**
 *
 * @export
 * @interface ProductConditions
 */
export interface ProductConditions {
    /**
     * The Action key in the conditions array specifies whether a condition should \"ALLOW\" or \"DENY\" the specified rule or feature.
     * @type {string}
     * @memberof ProductConditions
     */
    'action'?: string;
    /**
     * Specify what you\'re trying to configure, such as \"features.\".
     * @type {string}
     * @memberof ProductConditions
     */
    'key'?: string;
    /**
     * Define the values you need to set within the conditions in this array, such as \"checkoutCollectAddress\", \"checkoutAuthenticate\".
     * @type {Array<string>}
     * @memberof ProductConditions
     */
    'values'?: Array<string>;
}
/**
 *
 * @export
 * @interface ProductConditionsEntity
 */
export interface ProductConditionsEntity {
    /**
     * The Action key in the conditions array specifies whether a condition is allowed or denied for the specified rule or feature.
     * @type {string}
     * @memberof ProductConditionsEntity
     */
    'action'?: string;
    /**
     * key of the condition.
     * @type {string}
     * @memberof ProductConditionsEntity
     */
    'key'?: string;
    /**
     * Values set for the condition.
     * @type {Array<string>}
     * @memberof ProductConditionsEntity
     */
    'values'?: Array<string>;
}
/**
 * Specify the required configurations for this feature.
 * @export
 * @interface ProductDetails
 */
export interface ProductDetails {
    /**
     * Option to enable or disable the feature.
     * @type {boolean}
     * @memberof ProductDetails
     */
    'enabled'?: boolean;
    /**
     * The conditions array allows to configure rules by adding condition objects with specific parameters for feature configurations.
     * @type {Array<ProductConditions>}
     * @memberof ProductDetails
     */
    'conditions'?: Array<ProductConditions>;
}
/**
 * Configurations for this feature.
 * @export
 * @interface ProductDetailsEntity
 */
export interface ProductDetailsEntity {
    /**
     * Whether the feature has been enabled for this order.
     * @type {boolean}
     * @memberof ProductDetailsEntity
     */
    'enabled'?: boolean;
    /**
     * Configured condtions for the feature.
     * @type {Array<ProductConditionsEntity>}
     * @memberof ProductDetailsEntity
     */
    'conditions'?: Array<ProductConditionsEntity>;
}
/**
 * Use this to set configurations for the products like One Click Checkout, Verify and Pay, if they are enabled for your account.
 * @export
 * @interface Products
 */
export interface Products {
    /**
     *
     * @type {ProductDetails}
     * @memberof Products
     */
    'one_click_checkout'?: ProductDetails;
    /**
     *
     * @type {ProductDetails}
     * @memberof Products
     */
    'verify_pay'?: ProductDetails;
}
/**
 * Error when rate limit is breached for your api.
 * @export
 * @interface RateLimitError
 */
export interface RateLimitError {
    /**
     *
     * @type {string}
     * @memberof RateLimitError
     */
    'message'?: string;
    /**
     *
     * @type {string}
     * @memberof RateLimitError
     */
    'code'?: string;
    /**
     * rate_limit_error.
     * @type {string}
     * @memberof RateLimitError
     */
    'type'?: RateLimitErrorTypeEnum;
}
export declare const RateLimitErrorTypeEnum: {
    readonly RATE_LIMIT_ERROR: "rate_limit_error";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type RateLimitErrorTypeEnum = typeof RateLimitErrorTypeEnum[keyof typeof RateLimitErrorTypeEnum];
/**
 * Settlement detailed recon response.
 * @export
 * @interface ReconEntity
 */
export interface ReconEntity {
    /**
     * Specifies from where the next set of settlement details should be fetched.
     * @type {string}
     * @memberof ReconEntity
     */
    'cursor'?: string;
    /**
     * Number of settlements you want to fetch in the next iteration.
     * @type {number}
     * @memberof ReconEntity
     */
    'limit'?: number;
    /**
     *
     * @type {Array<ReconEntityDataInner>}
     * @memberof ReconEntity
     */
    'data'?: Array<ReconEntityDataInner>;
}
/**
 *
 * @export
 * @interface ReconEntityDataInner
 */
export interface ReconEntityDataInner {
    /**
     *
     * @type {ReconEntityDataInnerEventDetails}
     * @memberof ReconEntityDataInner
     */
    'event_details'?: ReconEntityDataInnerEventDetails;
    /**
     *
     * @type {ReconEntityDataInnerOrderDetails}
     * @memberof ReconEntityDataInner
     */
    'order_details'?: ReconEntityDataInnerOrderDetails;
    /**
     *
     * @type {ReconEntityDataInnerCustomerDetails}
     * @memberof ReconEntityDataInner
     */
    'customer_details'?: ReconEntityDataInnerCustomerDetails;
    /**
     *
     * @type {ReconEntityDataInnerPaymentDetails}
     * @memberof ReconEntityDataInner
     */
    'payment_details'?: ReconEntityDataInnerPaymentDetails;
    /**
     *
     * @type {ReconEntityDataInnerSettlementDetails}
     * @memberof ReconEntityDataInner
     */
    'settlement_details'?: ReconEntityDataInnerSettlementDetails;
    /**
     *
     * @type {ReconEntityDataInnerDisputeDetails}
     * @memberof ReconEntityDataInner
     */
    'dispute_details'?: ReconEntityDataInnerDisputeDetails;
    /**
     *
     * @type {ReconEntityDataInnerRefundDetails}
     * @memberof ReconEntityDataInner
     */
    'refund_details'?: ReconEntityDataInnerRefundDetails;
}
/**
 *
 * @export
 * @interface ReconEntityDataInnerCustomerDetails
 */
export interface ReconEntityDataInnerCustomerDetails {
    /**
     * Customer phone number.
     * @type {string}
     * @memberof ReconEntityDataInnerCustomerDetails
     */
    'customer_phone'?: string;
    /**
     * Customer email.
     * @type {string}
     * @memberof ReconEntityDataInnerCustomerDetails
     */
    'customer_email'?: string;
    /**
     * Customer name.
     * @type {string}
     * @memberof ReconEntityDataInnerCustomerDetails
     */
    'customer_name'?: string;
    /**
     * Customer\'s id.
     * @type {string}
     * @memberof ReconEntityDataInnerCustomerDetails
     */
    'customer_id'?: string;
    /**
     * Customer bank account number.
     * @type {string}
     * @memberof ReconEntityDataInnerCustomerDetails
     */
    'customer_bank_account_number'?: string;
    /**
     * Customer bank code.
     * @type {string}
     * @memberof ReconEntityDataInnerCustomerDetails
     */
    'customer_bank_code'?: string;
    /**
     * Customer bank ifsc.\".
     * @type {string}
     * @memberof ReconEntityDataInnerCustomerDetails
     */
    'customer_bank_ifsc'?: string;
}
/**
 *
 * @export
 * @interface ReconEntityDataInnerDisputeDetails
 */
export interface ReconEntityDataInnerDisputeDetails {
    /**
     * Specifies whether the dispute was closed in favor of the merchant or customer. Possible values - Merchant, Customer.
     * @type {string}
     * @memberof ReconEntityDataInnerDisputeDetails
     */
    'closed_in_favor_of'?: string;
    /**
     * Date and time when the dispute was resolved.
     * @type {string}
     * @memberof ReconEntityDataInnerDisputeDetails
     */
    'dispute_resolved_on'?: string;
    /**
     * Category of the dispute - Dispute code and the reason for dispute is shown.
     * @type {string}
     * @memberof ReconEntityDataInnerDisputeDetails
     */
    'dispute_category'?: string;
    /**
     * Note regarding the dispute.
     * @type {string}
     * @memberof ReconEntityDataInnerDisputeDetails
     */
    'dispute_note'?: string;
}
/**
 *
 * @export
 * @interface ReconEntityDataInnerEventDetails
 */
export interface ReconEntityDataInnerEventDetails {
    /**
     * Unique ID associated with the event.
     * @type {string}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'event_id'?: string;
    /**
     * The event type can be PAYMENT, REFUND, REFUND_REVERSAL, DISPUTE, DISPUTE_REVERSAL, CHARGEBACK, CHARGEBACK_REVERSAL, OTHER_ADJUSTMENT.
     * @type {string}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'event_type'?: string;
    /**
     * Amount that is part of the settlement corresponding to the event.
     * @type {number}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'event_settlement_amount'?: number;
    /**
     * Amount corresponding to the event. Example, refund amount, dispute amount, payment amount, etc.
     * @type {number}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'event_amount'?: number;
    /**
     * Indicates if it is CREDIT/DEBIT sale.
     * @type {string}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'sale_type'?: string;
    /**
     * Status of the event. Example - SUCCESS, FAILED, PENDING, CANCELLED.
     * @type {string}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'event_status'?: string;
    /**
     * Recon.
     * @type {string}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'entity'?: string;
    /**
     * Time associated with the event. Example, transaction time, dispute initiation time.
     * @type {string}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'event_time'?: string;
    /**
     * Curreny type - INR.
     * @type {string}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'event_currency'?: string;
    /**
     * Service charge for above event_type.
     * @type {number}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'event_service_charge'?: number;
    /**
     * Service tax for above event_type.
     * @type {number}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'event_service_tax'?: number;
    /**
     * Remarks for above event_type.
     * @type {number}
     * @memberof ReconEntityDataInnerEventDetails
     */
    'event_remarks'?: number;
}
/**
 *
 * @export
 * @interface ReconEntityDataInnerOrderDetails
 */
export interface ReconEntityDataInnerOrderDetails {
    /**
     * Unique order ID. Alphanumeric and only \'-\' and \'_\' allowed.
     * @type {string}
     * @memberof ReconEntityDataInnerOrderDetails
     */
    'order_id'?: string;
    /**
     * The amount which was passed at the order creation time.
     * @type {number}
     * @memberof ReconEntityDataInnerOrderDetails
     */
    'order_amount'?: number;
    /**
     * Order Curreny type - INR.
     * @type {string}
     * @memberof ReconEntityDataInnerOrderDetails
     */
    'order_currency'?: string;
    /**
     * The order tags provided during order creation.
     * @type {object}
     * @memberof ReconEntityDataInnerOrderDetails
     */
    'order_tags'?: object;
}
/**
 *
 * @export
 * @interface ReconEntityDataInnerPaymentDetails
 */
export interface ReconEntityDataInnerPaymentDetails {
    /**
     * Payment amount captured.
     * @type {number}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'payment_amount'?: number;
    /**
     * Payment Curreny type - INR.
     * @type {string}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'payment_currency'?: string;
    /**
     * Unique transaction reference number of the payment.
     * @type {string}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'bank_reference'?: string;
    /**
     * Date and time when the payment was initiated.
     * @type {string}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'payment_time'?: string;
    /**
     * Mode of the payment.
     * @type {string}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'payment_group'?: string;
    /**
     * Service charge applicable for the payment.
     * @type {number}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'payment_service_charge'?: number;
    /**
     * Service tax applicable on the payment.
     * @type {number}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'payment_service_tax'?: number;
    /**
     * Cashfree Payments unique ID to identify a payment.
     * @type {string}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'cf_payment_id'?: string;
    /**
     * Status of the Payment.
     * @type {string}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'status'?: string;
    /**
     * Forex Conversion Service Charge.
     * @type {string}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'forex_conversion_handling_charge'?: string;
    /**
     * Forex Conversion Service Tax.
     * @type {string}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'forex_conversion_handling_tax'?: string;
    /**
     * Forex Charges Curreny type - INR.
     * @type {string}
     * @memberof ReconEntityDataInnerPaymentDetails
     */
    'charges_currency'?: string;
}
/**
 *
 * @export
 * @interface ReconEntityDataInnerRefundDetails
 */
export interface ReconEntityDataInnerRefundDetails {
    /**
     * Date and time when the refund was processed.
     * @type {string}
     * @memberof ReconEntityDataInnerRefundDetails
     */
    'refund_processed_at'?: string;
    /**
     * The bank reference number for refund.
     * @type {string}
     * @memberof ReconEntityDataInnerRefundDetails
     */
    'refund_arn'?: string;
    /**
     * A refund note for your reference.
     * @type {string}
     * @memberof ReconEntityDataInnerRefundDetails
     */
    'refund_note'?: string;
    /**
     * An unique ID associated with the refund.
     * @type {string}
     * @memberof ReconEntityDataInnerRefundDetails
     */
    'refund_id'?: string;
}
/**
 *
 * @export
 * @interface ReconEntityDataInnerSettlementDetails
 */
export interface ReconEntityDataInnerSettlementDetails {
    /**
     * Unique ID to identify the settlement.
     * @type {string}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'cf_settlement_id'?: string;
    /**
     * Date and time when the settlement was processed.
     * @type {string}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'settlement_date'?: string;
    /**
     * Unique transaction reference number of the settlement.
     * @type {string}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'utr'?: string;
    /**
     * Service charge that is applicable for splitting the payment.
     * @type {number}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'split_service_charge'?: number;
    /**
     * Service tax applicable for splitting the amount to vendors.
     * @type {number}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'split_service_tax'?: number;
    /**
     * Vendor commission applicable for this transaction.
     * @type {number}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'vendor_commission'?: number;
    /**
     * Date and time from settlement computed.
     * @type {string}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'payment_from'?: string;
    /**
     * Date and time till settlement computed.
     * @type {string}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'payment_till'?: string;
    /**
     * If any reason for settlement failure.
     * @type {string}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'reason'?: string;
    /**
     * Remarks related for settlement.
     * @type {string}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'remarks'?: string;
    /**
     * Service charge for the transactions.
     * @type {number}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'service_charge'?: number;
    /**
     * Service tax for the transactions.
     * @type {number}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'service_tax'?: number;
    /**
     * Settlement Service Charge.
     * @type {number}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'settlement_charge'?: number;
    /**
     * Date and time when Settlement initiated.
     * @type {string}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'settlement_initiated_on'?: string;
    /**
     * Settlement Service Tax.
     * @type {number}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'settlement_tax'?: number;
    /**
     * Type of Settlement, Example - Normal Settlement.
     * @type {string}
     * @memberof ReconEntityDataInnerSettlementDetails
     */
    'settlement_type'?: string;
}
/**
 * The refund entity.
 * @export
 * @interface RefundEntity
 */
export interface RefundEntity {
    /**
     * Cashfree Payments ID of the payment for which refund is initiated.
     * @type {string}
     * @memberof RefundEntity
     */
    'cf_payment_id'?: string;
    /**
     * Cashfree Payments ID for a refund.
     * @type {string}
     * @memberof RefundEntity
     */
    'cf_refund_id'?: string;
    /**
     * Merchant’s order Id of the order for which refund is initiated.
     * @type {string}
     * @memberof RefundEntity
     */
    'order_id'?: string;
    /**
     * Merchant’s refund ID of the refund.
     * @type {string}
     * @memberof RefundEntity
     */
    'refund_id'?: string;
    /**
     * Type of object.
     * @type {string}
     * @memberof RefundEntity
     */
    'entity'?: RefundEntityEntityEnum;
    /**
     * Amount that is refunded.
     * @type {number}
     * @memberof RefundEntity
     */
    'refund_amount'?: number;
    /**
     * Currency of the refund amount.
     * @type {string}
     * @memberof RefundEntity
     */
    'refund_currency'?: string;
    /**
     * Note added by merchant for the refund.
     * @type {string}
     * @memberof RefundEntity
     */
    'refund_note'?: string;
    /**
     * This can be one of [\"SUCCESS\", \"PENDING\", \"CANCELLED\", \"ONHOLD\", \"FAILED\"].
     * @type {string}
     * @memberof RefundEntity
     */
    'refund_status'?: RefundEntityRefundStatusEnum;
    /**
     * The bank reference number for refund.
     * @type {string}
     * @memberof RefundEntity
     */
    'refund_arn'?: string;
    /**
     * Charges in INR for processing refund.
     * @type {number}
     * @memberof RefundEntity
     */
    'refund_charge'?: number;
    /**
     * Description of refund status.
     * @type {string}
     * @memberof RefundEntity
     */
    'status_description'?: string;
    /**
     * Key-value pair that can be used to store additional information about the entity. Maximum 5 key-value pairs.
     * @type {object}
     * @memberof RefundEntity
     */
    'metadata'?: object;
    /**
     *
     * @type {Array<VendorSplit>}
     * @memberof RefundEntity
     */
    'refund_splits'?: Array<VendorSplit>;
    /**
     * This can be one of [\"PAYMENT_AUTO_REFUND\", \"MERCHANT_INITIATED\", \"UNRECONCILED_AUTO_REFUND\"].
     * @type {string}
     * @memberof RefundEntity
     */
    'refund_type'?: RefundEntityRefundTypeEnum;
    /**
     * Method or speed of processing refund.
     * @type {string}
     * @memberof RefundEntity
     */
    'refund_mode'?: string;
    /**
     * Time of refund creation.
     * @type {string}
     * @memberof RefundEntity
     */
    'created_at'?: string;
    /**
     * Time when refund was processed successfully.
     * @type {string}
     * @memberof RefundEntity
     */
    'processed_at'?: string;
    /**
     *
     * @type {RefundSpeed}
     * @memberof RefundEntity
     */
    'refund_speed'?: RefundSpeed;
    /**
     * Cashfree forex conversion charges for refund processing.
     * @type {number}
     * @memberof RefundEntity
     */
    'forex_conversion_handling_charge'?: number;
    /**
     * Cashfree forex conversion tax for refund processing.
     * @type {number}
     * @memberof RefundEntity
     */
    'forex_conversion_handling_tax'?: number;
    /**
     * Cashfree forex conversion rate for refund processing.
     * @type {number}
     * @memberof RefundEntity
     */
    'forex_conversion_rate'?: number;
    /**
     * Cashfree refund charges currency for a refund.
     * @type {string}
     * @memberof RefundEntity
     */
    'charges_currency'?: string;
}
export declare const RefundEntityEntityEnum: {
    readonly REFUND: "refund";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type RefundEntityEntityEnum = typeof RefundEntityEntityEnum[keyof typeof RefundEntityEntityEnum];
export declare const RefundEntityRefundStatusEnum: {
    readonly SUCCESS: "SUCCESS";
    readonly PENDING: "PENDING";
    readonly CANCELLED: "CANCELLED";
    readonly ONHOLD: "ONHOLD";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type RefundEntityRefundStatusEnum = typeof RefundEntityRefundStatusEnum[keyof typeof RefundEntityRefundStatusEnum];
export declare const RefundEntityRefundTypeEnum: {
    readonly PAYMENT_AUTO_REFUND: "PAYMENT_AUTO_REFUND";
    readonly MERCHANT_INITIATED: "MERCHANT_INITIATED";
    readonly UNRECONCILED_AUTO_REFUND: "UNRECONCILED_AUTO_REFUND";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type RefundEntityRefundTypeEnum = typeof RefundEntityRefundTypeEnum[keyof typeof RefundEntityRefundTypeEnum];
/**
 * How fast refund has to be proecessed.
 * @export
 * @interface RefundSpeed
 */
export interface RefundSpeed {
    /**
     * Requested speed of refund.
     * @type {string}
     * @memberof RefundSpeed
     */
    'requested'?: string;
    /**
     * Accepted speed of refund.
     * @type {string}
     * @memberof RefundSpeed
     */
    'accepted'?: string;
    /**
     * Processed speed of refund.
     * @type {string}
     * @memberof RefundSpeed
     */
    'processed'?: string;
    /**
     * Error message, if any for refund_speed request.
     * @type {string}
     * @memberof RefundSpeed
     */
    'message'?: string;
}
/**
 * refund webhook object.
 * @export
 * @interface RefundWebhook
 */
export interface RefundWebhook {
    /**
     *
     * @type {RefundWebhookDataEntity}
     * @memberof RefundWebhook
     */
    'data'?: RefundWebhookDataEntity;
    /**
     *
     * @type {string}
     * @memberof RefundWebhook
     */
    'event_time'?: string;
    /**
     *
     * @type {string}
     * @memberof RefundWebhook
     */
    'type'?: string;
}
/**
 * data entity in webhook.
 * @export
 * @interface RefundWebhookDataEntity
 */
export interface RefundWebhookDataEntity {
    /**
     *
     * @type {RefundEntity}
     * @memberof RefundWebhookDataEntity
     */
    'refund'?: RefundEntity;
}
/**
 * Card instrument meta information.
 * @export
 * @interface SavedInstrumentMeta
 */
export interface SavedInstrumentMeta {
    /**
     * Card scheme/network of the saved card. Available options are `visa`, `mastercard`, `rupay`, `amex`, and `diners`.
     * @type {string}
     * @memberof SavedInstrumentMeta
     */
    'card_network'?: string;
    /**
     * Issuing bank name of the saved card. For example, `HDFC BANK`, `AXIS BANK`, or `ICICI BANK`.
     * @type {string}
     * @memberof SavedInstrumentMeta
     */
    'card_bank_name'?: string;
    /**
     * Issuing country of the saved card. For example, `IN`.
     * @type {string}
     * @memberof SavedInstrumentMeta
     */
    'card_country'?: string;
    /**
     * Type of the saved card. Available options are `credit_card`, `debit_card`, and `prepaid_card`.
     * @type {string}
     * @memberof SavedInstrumentMeta
     */
    'card_type'?: string;
    /**
     * Subtype of the saved card. R indicates retail, P indicates premium, and C indicates corporate. Available options are `R`, `P`, and `C`.
     * @type {string}
     * @memberof SavedInstrumentMeta
     */
    'card_sub_type'?: string;
    /**
     *
     * @type {SavedInstrumentMetaCardTokenDetails}
     * @memberof SavedInstrumentMeta
     */
    'card_token_details'?: SavedInstrumentMetaCardTokenDetails;
}
/**
 * Card token information.
 * @export
 * @interface SavedInstrumentMetaCardTokenDetails
 */
export interface SavedInstrumentMetaCardTokenDetails {
    /**
     * The [PAR (Primary Account Reference)](https://www.cashfree.com/docs/payments/features/payment-account-reference) for the plain card.
     * @type {string}
     * @memberof SavedInstrumentMetaCardTokenDetails
     */
    'par'?: string;
    /**
     * Token expiry month.
     * @type {string}
     * @memberof SavedInstrumentMetaCardTokenDetails
     */
    'expiry_month'?: string;
    /**
     * Token expiry year.
     * @type {string}
     * @memberof SavedInstrumentMetaCardTokenDetails
     */
    'expiry_year'?: string;
}
/**
 *
 * @export
 * @interface ScheduleOption
 */
export interface ScheduleOption {
    /**
     *
     * @type {string}
     * @memberof ScheduleOption
     */
    'settlement_schedule_message'?: string;
    /**
     *
     * @type {number}
     * @memberof ScheduleOption
     */
    'schedule_id'?: number;
    /**
     *
     * @type {boolean}
     * @memberof ScheduleOption
     */
    'merchant_default'?: boolean;
}
/**
 * Settlement entity object.
 * @export
 * @interface SettlementEntity
 */
export interface SettlementEntity {
    /**
     *
     * @type {string}
     * @memberof SettlementEntity
     */
    'cf_payment_id'?: string;
    /**
     *
     * @type {string}
     * @memberof SettlementEntity
     */
    'cf_settlement_id'?: string;
    /**
     *
     * @type {string}
     * @memberof SettlementEntity
     */
    'settlement_currency'?: string;
    /**
     *
     * @type {string}
     * @memberof SettlementEntity
     */
    'order_id'?: string;
    /**
     *
     * @type {string}
     * @memberof SettlementEntity
     */
    'entity'?: string;
    /**
     *
     * @type {number}
     * @memberof SettlementEntity
     */
    'order_amount'?: number;
    /**
     *
     * @type {string}
     * @memberof SettlementEntity
     */
    'payment_time'?: string;
    /**
     *
     * @type {number}
     * @memberof SettlementEntity
     */
    'service_charge'?: number;
    /**
     *
     * @type {number}
     * @memberof SettlementEntity
     */
    'service_tax'?: number;
    /**
     *
     * @type {number}
     * @memberof SettlementEntity
     */
    'settlement_amount'?: number;
    /**
     *
     * @type {number}
     * @memberof SettlementEntity
     */
    'settlement_id'?: number;
    /**
     *
     * @type {number}
     * @memberof SettlementEntity
     */
    'transfer_id'?: number;
    /**
     *
     * @type {string}
     * @memberof SettlementEntity
     */
    'transfer_time'?: string;
    /**
     *
     * @type {string}
     * @memberof SettlementEntity
     */
    'transfer_utr'?: string;
    /**
     * Cashfree forex conversion charges for refund processing.
     * @type {number}
     * @memberof SettlementEntity
     */
    'forex_conversion_handling_charge'?: number;
    /**
     * Cashfree forex conversion tax for refund processing.
     * @type {number}
     * @memberof SettlementEntity
     */
    'forex_conversion_handling_tax'?: number;
    /**
     * Cashfree forex conversion rate for refund processing.
     * @type {number}
     * @memberof SettlementEntity
     */
    'forex_conversion_rate'?: number;
    /**
     * Cashfree refund charges currency for a refund.
     * @type {string}
     * @memberof SettlementEntity
     */
    'charges_currency'?: string;
}
/**
 * Recon Request Object.
 * @export
 * @interface SettlementFetchReconRequest
 */
export interface SettlementFetchReconRequest {
    /**
     *
     * @type {FetchSettlementsRequestPagination}
     * @memberof SettlementFetchReconRequest
     */
    'pagination': FetchSettlementsRequestPagination;
    /**
     *
     * @type {SettlementFetchReconRequestFilters}
     * @memberof SettlementFetchReconRequest
     */
    'filters'?: SettlementFetchReconRequestFilters;
}
/**
 * Specify either the Settlement ID, Settlement UTR, or start date and end date to fetch the settlement details.
 * @export
 * @interface SettlementFetchReconRequestFilters
 */
export interface SettlementFetchReconRequestFilters {
    /**
     * List of settlement IDs for which you want the settlement reconciliation details.
     * @type {Array<number>}
     * @memberof SettlementFetchReconRequestFilters
     */
    'cf_settlement_ids'?: Array<number>;
    /**
     * List of settlement UTRs for which you want the settlement reconciliation details.
     * @type {Array<string>}
     * @memberof SettlementFetchReconRequestFilters
     */
    'settlement_utrs'?: Array<string>;
    /**
     * Specify the start date from when you want the settlement reconciliation details.
     * @type {string}
     * @memberof SettlementFetchReconRequestFilters
     */
    'start_date'?: string;
    /**
     * Specify the end date till when you want the settlement reconciliation details.
     * @type {string}
     * @memberof SettlementFetchReconRequestFilters
     */
    'end_date'?: string;
}
/**
 * Recon object for settlement.
 * @export
 * @interface SettlementReconEntity
 */
export interface SettlementReconEntity {
    /**
     * Specifies from where the next set of settlement details should be fetched.
     * @type {string}
     * @memberof SettlementReconEntity
     */
    'cursor'?: string;
    /**
     * Number of settlements you want to fetch in the next iteration.
     * @type {number}
     * @memberof SettlementReconEntity
     */
    'limit'?: number;
    /**
     *
     * @type {Array<SettlementReconEntityDataInner>}
     * @memberof SettlementReconEntity
     */
    'data'?: Array<SettlementReconEntityDataInner>;
}
/**
 *
 * @export
 * @interface SettlementReconEntityDataInner
 */
export interface SettlementReconEntityDataInner {
    /**
     *
     * @type {ReconEntityDataInnerEventDetails}
     * @memberof SettlementReconEntityDataInner
     */
    'event_details'?: ReconEntityDataInnerEventDetails;
    /**
     *
     * @type {ReconEntityDataInnerOrderDetails}
     * @memberof SettlementReconEntityDataInner
     */
    'order_details'?: ReconEntityDataInnerOrderDetails;
    /**
     *
     * @type {ReconEntityDataInnerCustomerDetails}
     * @memberof SettlementReconEntityDataInner
     */
    'customer_details'?: ReconEntityDataInnerCustomerDetails;
    /**
     *
     * @type {SettlementReconEntityDataInnerPaymentDetails}
     * @memberof SettlementReconEntityDataInner
     */
    'payment_details'?: SettlementReconEntityDataInnerPaymentDetails;
    /**
     *
     * @type {ReconEntityDataInnerSettlementDetails}
     * @memberof SettlementReconEntityDataInner
     */
    'settlement_details'?: ReconEntityDataInnerSettlementDetails;
    /**
     *
     * @type {ReconEntityDataInnerDisputeDetails}
     * @memberof SettlementReconEntityDataInner
     */
    'dispute_details'?: ReconEntityDataInnerDisputeDetails;
    /**
     *
     * @type {ReconEntityDataInnerRefundDetails}
     * @memberof SettlementReconEntityDataInner
     */
    'refund_details'?: ReconEntityDataInnerRefundDetails;
}
/**
 *
 * @export
 * @interface SettlementReconEntityDataInnerPaymentDetails
 */
export interface SettlementReconEntityDataInnerPaymentDetails {
    /**
     * Payment amount captured.
     * @type {number}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'payment_amount'?: number;
    /**
     * Payment Curreny type - INR.
     * @type {string}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'payment_currency'?: string;
    /**
     * Unique transaction reference number of the payment.
     * @type {string}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'bank_reference'?: string;
    /**
     * Date and time when the payment was initiated.
     * @type {string}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'payment_time'?: string;
    /**
     * Mode of the payment.
     * @type {string}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'payment_mode'?: string;
    /**
     * Service charge applicable for the payment.
     * @type {number}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'payment_service_charge'?: number;
    /**
     * Service tax applicable on the payment.
     * @type {number}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'payment_service_tax'?: number;
    /**
     * Cashfree Payments unique ID to identify a payment.
     * @type {string}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'cf_payment_id'?: string;
    /**
     * Status of the Payment.
     * @type {string}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'status'?: string;
    /**
     * Forex Conversion Service Charge.
     * @type {string}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'forex_conversion_handling_charge'?: string;
    /**
     * Forex Conversion Service Tax.
     * @type {string}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'forex_conversion_handling_tax'?: string;
    /**
     * Forex Charges Curreny type - INR.
     * @type {string}
     * @memberof SettlementReconEntityDataInnerPaymentDetails
     */
    'charges_currency'?: string;
}
/**
 * Object to simulate a settlement request.
 * @export
 * @interface SettlementSimulationResponse
 */
export interface SettlementSimulationResponse {
    /**
     * A unique identifier for the simulation request.
     * @type {string}
     * @memberof SettlementSimulationResponse
     */
    'simulation_id'?: string;
    /**
     * Entity type for which the simulation is performed. Example: \"SETTLEMENTS\".
     * @type {string}
     * @memberof SettlementSimulationResponse
     */
    'entity'?: string;
    /**
     * List of simulated settlement IDs.
     * @type {Array<number>}
     * @memberof SettlementSimulationResponse
     */
    'settlement_ids'?: Array<number>;
    /**
     * Status of the simulation request. Example: \"SUCCESS/FAILED/PENDING\".
     * @type {string}
     * @memberof SettlementSimulationResponse
     */
    'simulation_status'?: string;
}
/**
 * Settlement webhook object.
 * @export
 * @interface SettlementWebhook
 */
export interface SettlementWebhook {
    /**
     *
     * @type {SettlementWebhookDataEntity}
     * @memberof SettlementWebhook
     */
    'data'?: SettlementWebhookDataEntity;
    /**
     *
     * @type {string}
     * @memberof SettlementWebhook
     */
    'event_time'?: string;
    /**
     *
     * @type {string}
     * @memberof SettlementWebhook
     */
    'type'?: string;
}
/**
 * data entity in webhook.
 * @export
 * @interface SettlementWebhookDataEntity
 */
export interface SettlementWebhookDataEntity {
    /**
     *
     * @type {SettlementEntity}
     * @memberof SettlementWebhookDataEntity
     */
    'settlement'?: SettlementEntity;
}
/**
 * Shipment details associated with shipping of order like tracking company, tracking number,tracking urls etc.
 * @export
 * @interface ShipmentDetails
 */
export interface ShipmentDetails {
    /**
     * Tracking company name associated with order.
     * @type {string}
     * @memberof ShipmentDetails
     */
    'tracking_company': string;
    /**
     * Tracking Urls associated with order.
     * @type {Array<string>}
     * @memberof ShipmentDetails
     */
    'tracking_urls': Array<string>;
    /**
     * Tracking Numbers associated wih order.
     * @type {Array<string>}
     * @memberof ShipmentDetails
     */
    'tracking_numbers'?: Array<string>;
}
/**
 * Request body for simulation.
 * @export
 * @interface SimulateRequest
 */
export interface SimulateRequest {
    /**
     * Entity type should be PAYMENTS, SUBS_PAYMENTS OR VBA_TRANSFER only.
     * @type {string}
     * @memberof SimulateRequest
     */
    'entity': SimulateRequestEntityEnum;
    /**
     * If the entity type is PAYMENTS, the entity_id will be the cf_payment_id. If the entity type is SUBS_PAYMENTS, the entity_id will be the payment_id. If the entity type is VBA_TRANSFER, the entity_id will be the vba_account_number.
     * @type {string}
     * @memberof SimulateRequest
     */
    'entity_id'?: string;
    /**
     *
     * @type {EntitySimulationRequest}
     * @memberof SimulateRequest
     */
    'entity_simulation'?: EntitySimulationRequest;
    /**
     *
     * @type {VBASimulationRequest}
     * @memberof SimulateRequest
     */
    'vba_simulation'?: VBASimulationRequest;
}
export declare const SimulateRequestEntityEnum: {
    readonly PAYMENTS: "PAYMENTS";
    readonly SUBS_PAYMENTS: "SUBS_PAYMENTS";
    readonly VBA_TRANSFER: "VBA_TRANSFER";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type SimulateRequestEntityEnum = typeof SimulateRequestEntityEnum[keyof typeof SimulateRequestEntityEnum];
/**
 * Object to simulate a settlement request.
 * @export
 * @interface SimulateSettlementRequest
 */
export interface SimulateSettlementRequest {
    /**
     * A list of orders for which you want to simulate settlement.
     * @type {Array<string>}
     * @memberof SimulateSettlementRequest
     */
    'merchantOrderIds'?: Array<string>;
    /**
     * The start time (YYYY-MM-DD HH:mm:ss) from which transactions are picked for simulating settlement. You can pass a `txnTime` value for up to the last seven days.
     * @type {string}
     * @memberof SimulateSettlementRequest
     */
    'txnTime'?: string;
    /**
     * The simulation status. Possible values are SUCCESS, FAILED or PENDING.
     * @type {string}
     * @memberof SimulateSettlementRequest
     */
    'status'?: SimulateSettlementRequestStatusEnum;
    /**
     * Specifies the reason for settlement failure. The default value is used if this is not provided. This is required only if the status is FAILED.
     * @type {string}
     * @memberof SimulateSettlementRequest
     */
    'errorReason'?: SimulateSettlementRequestErrorReasonEnum;
}
export declare const SimulateSettlementRequestStatusEnum: {
    readonly SUCCESS: "SUCCESS";
    readonly FAILED: "FAILED";
    readonly PENDING: "PENDING";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type SimulateSettlementRequestStatusEnum = typeof SimulateSettlementRequestStatusEnum[keyof typeof SimulateSettlementRequestStatusEnum];
export declare const SimulateSettlementRequestErrorReasonEnum: {
    readonly DUE_TO_SOME_TECHNICAL_ISSUES_YOUR_AMOUNT_WILL_BE_SETTLED_IN_THE_NEXT_SETTLEMENT_CYCLE: "\"Due to some technical issues, your amount will be settled in the next settlement cycle.\"";
    readonly DUE_TO_SOME_TECHNICAL_ISSUES_YOUR_AMOUNT_WILL_BE_SETTLED_IN_THE_NEXT_SETTLEMENT_CYCLE2: "\"Due to some technical issues, your amount will be settled in the next settlement cycle.\"";
    readonly BANK_ACCOUNT_DETAILS_YOU_HAVE_PROVIDED_IS_NOT_ACTIVE_WRITE_TO_CARECASHFREE_COM_WITH_THE_UPDATED_ACCOUNT_DETAILS: "\"Bank account details you have provided is not active, write to care@cashfree.com with the updated account details.\"";
    readonly DUE_TO_SOME_TECHNICAL_ISSUES_AT_THE_BANK_YOUR_AMOUNT_WILL_BE_SETTLED_IN_THE_NEXT_SETTLEMENT_CYCLE: "\"Due to some technical issues at the bank, your amount will be settled in the next settlement cycle.\"";
    readonly BENEFICIARY_NAME_YOU_HAVE_PROVIDED_IS_INCORRECT_WRITE_TO_CARECASHFREE_COM_WITH_THE_UPDATED_DETAILS: "\"Beneficiary name you have provided is incorrect, write to care@cashfree.com with the updated details.\"";
    readonly UNABLE_TO_SETTLE_AMOUNT_TO_THIS_BENEFICIARY_ACCOUNT_WRITE_TO_CARECASHFREE_COM_WITH_THE_UPDATED_ACCOUNT_DETAILS: "\"Unable to settle amount to this beneficiary account, write to care@cashfree.com with the updated account details.\"";
    readonly BANK_ACCOUNT_DETAILS_YOU_HAVE_PROVIDED_ARE_INVALID_WRITE_TO_CARECASHFREE_COM_WITH_THE_UPDATED_ACCOUNT_DETAILS: "\"Bank account details you have provided are invalid, write to care@cashfree.com with the updated account details.\"";
    readonly THE_IFSC_YOU_HAVE_PROVIDED_FOR_THE_BANK_ACCOUNT_IS_INVALID_WRITE_TO_CARECASHFREE_COM_WITH_THE_VALID_IFSC: "\"The IFSC you have provided for the bank account is invalid, write to care@cashfree.com with the valid IFSC.\"";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type SimulateSettlementRequestErrorReasonEnum = typeof SimulateSettlementRequestErrorReasonEnum[keyof typeof SimulateSettlementRequestErrorReasonEnum];
/**
 * Payment simulation response.
 * @export
 * @interface SimulationResponse
 */
export interface SimulationResponse {
    /**
     *
     * @type {string}
     * @memberof SimulationResponse
     */
    'simulation_id'?: string;
    /**
     *
     * @type {string}
     * @memberof SimulationResponse
     */
    'entity'?: string;
    /**
     *
     * @type {string}
     * @memberof SimulationResponse
     */
    'entity_id'?: string;
    /**
     *
     * @type {EntitySimulationResponse}
     * @memberof SimulationResponse
     */
    'entity_simulation'?: EntitySimulationResponse;
}
/**
 * soundbox response object.
 * @export
 * @interface SoundboxVpaEntity
 */
export interface SoundboxVpaEntity {
    /**
     *
     * @type {string}
     * @memberof SoundboxVpaEntity
     */
    'vpa'?: string;
    /**
     *
     * @type {number}
     * @memberof SoundboxVpaEntity
     */
    'cf_terminal_id'?: number;
    /**
     *
     * @type {string}
     * @memberof SoundboxVpaEntity
     */
    'device_serial_no'?: string;
    /**
     *
     * @type {string}
     * @memberof SoundboxVpaEntity
     */
    'merchant_name'?: string;
    /**
     *
     * @type {string}
     * @memberof SoundboxVpaEntity
     */
    'language'?: string;
}
/**
 * Split After Payment Request.
 * @export
 * @interface SplitAfterPaymentRequest
 */
export interface SplitAfterPaymentRequest {
    /**
     * Specify the vendors order split details.
     * @type {Array<SplitAfterPaymentRequestSplitInner>}
     * @memberof SplitAfterPaymentRequest
     */
    'split'?: Array<SplitAfterPaymentRequestSplitInner>;
    /**
     * Specify if you want to end the split or continue creating further splits in future.
     * @type {boolean}
     * @memberof SplitAfterPaymentRequest
     */
    'disable_split'?: boolean;
}
/**
 *
 * @export
 * @interface SplitAfterPaymentRequestSplitInner
 */
export interface SplitAfterPaymentRequestSplitInner {
    /**
     * Specify the merchant vendor ID to split the payment.
     * @type {string}
     * @memberof SplitAfterPaymentRequestSplitInner
     */
    'vendor_id'?: string;
    /**
     * Specify the amount to be split to the vendor.
     * @type {number}
     * @memberof SplitAfterPaymentRequestSplitInner
     */
    'amount'?: number;
    /**
     * Specify the percentage of amount to be split.
     * @type {number}
     * @memberof SplitAfterPaymentRequestSplitInner
     */
    'percentage'?: number;
    /**
     * Custom Tags in the form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added.
     * @type {{ [key: string]: string; }}
     * @memberof SplitAfterPaymentRequestSplitInner
     */
    'tags'?: {
        [key: string]: string;
    };
}
/**
 * Split After Payment Response.
 * @export
 * @interface SplitAfterPaymentResponse
 */
export interface SplitAfterPaymentResponse {
    /**
     *
     * @type {string}
     * @memberof SplitAfterPaymentResponse
     */
    'status'?: string;
    /**
     *
     * @type {string}
     * @memberof SplitAfterPaymentResponse
     */
    'message'?: string;
}
/**
 * Split Order Reconciliation Request Body.
 * @export
 * @interface SplitOrderReconSuccessResponse
 */
export interface SplitOrderReconSuccessResponse {
    /**
     *
     * @type {SplitOrderReconSuccessResponseSettlement}
     * @memberof SplitOrderReconSuccessResponse
     */
    'settlement'?: SplitOrderReconSuccessResponseSettlement;
    /**
     * List of refunds associated with the order, if any.
     * @type {Array<object>}
     * @memberof SplitOrderReconSuccessResponse
     */
    'refunds'?: Array<object>;
    /**
     * List of vendor settlements associated with the split settlement.
     * @type {Array<SplitOrderReconSuccessResponseVendorsInner>}
     * @memberof SplitOrderReconSuccessResponse
     */
    'vendors'?: Array<SplitOrderReconSuccessResponseVendorsInner>;
}
/**
 * Details of the settlement information.
 * @export
 * @interface SplitOrderReconSuccessResponseSettlement
 */
export interface SplitOrderReconSuccessResponseSettlement {
    /**
     * Type of entity. Example: \"settlement\".
     * @type {string}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'entity'?: string;
    /**
     * Unique Cashfree settlement ID.
     * @type {number}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'cf_settlement_id'?: number;
    /**
     * Unique Cashfree payment ID associated with the order.
     * @type {number}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'cf_payment_id'?: number;
    /**
     * Unique identifier for the order.
     * @type {string}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'order_id'?: string;
    /**
     * Currency of the order. Example: \"INR\".
     * @type {string}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'order_currency'?: string;
    /**
     * Unique transfer ID if available, otherwise null.
     * @type {string}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'transfer_id'?: string | null;
    /**
     * Total amount of the order.
     * @type {number}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'order_amount'?: number;
    /**
     * Service charge for the order.
     * @type {number}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'service_charge'?: number;
    /**
     * Service tax for the order.
     * @type {number}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'service_tax'?: number;
    /**
     * Amount to be settled after charges and tax.
     * @type {number}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'settlement_amount'?: number;
    /**
     * Currency of the settlement. Example: \"INR\".
     * @type {string}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'settlement_currency'?: string;
    /**
     * UTR (Unique Transaction Reference) for the transfer if available, otherwise null.
     * @type {string}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'transfer_utr'?: string | null;
    /**
     * Time of transfer if available, otherwise null.
     * @type {string}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'transfer_time'?: string | null;
    /**
     * Timestamp when payment was made.
     * @type {string}
     * @memberof SplitOrderReconSuccessResponseSettlement
     */
    'payment_time'?: string;
}
/**
 *
 * @export
 * @interface SplitOrderReconSuccessResponseVendorsInner
 */
export interface SplitOrderReconSuccessResponseVendorsInner {
    /**
     * Unique identifier for the vendor.
     * @type {string}
     * @memberof SplitOrderReconSuccessResponseVendorsInner
     */
    'vendor_id'?: string;
    /**
     * Settlement ID associated with the vendor.
     * @type {number}
     * @memberof SplitOrderReconSuccessResponseVendorsInner
     */
    'settlement_id'?: number;
    /**
     * Settlement amount allocated to the vendor.
     * @type {number}
     * @memberof SplitOrderReconSuccessResponseVendorsInner
     */
    'settlement_amount'?: number;
    /**
     * Date and time when the vendor is eligible for the settlement.
     * @type {string}
     * @memberof SplitOrderReconSuccessResponseVendorsInner
     */
    'settlement_eligibility_date'?: string;
}
/**
 * Static Split Request.
 * @export
 * @interface StaticSplitRequest
 */
export interface StaticSplitRequest {
    /**
     * Specify if the split is to be active or not. Possible values: true/false.
     * @type {boolean}
     * @memberof StaticSplitRequest
     */
    'active': boolean;
    /**
     * For Subscription payments, the subscription reference ID is to be shared as the terminal ID. Incase for Payment Gateway terminal ID is non-mandatory. Mention as 0 if not applicable.
     * @type {string}
     * @memberof StaticSplitRequest
     */
    'terminal_id'?: string;
    /**
     * You can share additional information using the reference ID.
     * @type {number}
     * @memberof StaticSplitRequest
     */
    'terminal_reference_id'?: number;
    /**
     * Specify the product for which the split should be created. If you want split to be created for Payment Gateway pass value as \"PG\". If you want split to be created for Subscription, pass value as \"SBC\". Accepted values - \"STATIC_QR\", \"SBC\", \"PG\", \"EPOS\".
     * @type {string}
     * @memberof StaticSplitRequest
     */
    'product_type': string;
    /**
     * Provide the split scheme details.
     * @type {Array<StaticSplitRequestSchemeInner>}
     * @memberof StaticSplitRequest
     */
    'scheme': Array<StaticSplitRequestSchemeInner>;
}
/**
 *
 * @export
 * @interface StaticSplitRequestSchemeInner
 */
export interface StaticSplitRequestSchemeInner {
    /**
     * Specify the merchant vendor ID to create the split scheme for the payment.
     * @type {string}
     * @memberof StaticSplitRequestSchemeInner
     */
    'merchantVendorId'?: string;
    /**
     * Specify the percentage of amount to be split.
     * @type {string}
     * @memberof StaticSplitRequestSchemeInner
     */
    'percentage'?: string;
}
/**
 * Static Split Response.
 * @export
 * @interface StaticSplitResponse
 */
export interface StaticSplitResponse {
    /**
     *
     * @type {boolean}
     * @memberof StaticSplitResponse
     */
    'active'?: boolean;
    /**
     *
     * @type {string}
     * @memberof StaticSplitResponse
     */
    'terminal_id'?: string;
    /**
     *
     * @type {number}
     * @memberof StaticSplitResponse
     */
    'terminal_reference_id'?: number;
    /**
     *
     * @type {string}
     * @memberof StaticSplitResponse
     */
    'product_type'?: string;
    /**
     *
     * @type {Array<StaticSplitResponseSchemeInner>}
     * @memberof StaticSplitResponse
     */
    'scheme'?: Array<StaticSplitResponseSchemeInner>;
    /**
     *
     * @type {string}
     * @memberof StaticSplitResponse
     */
    'added_on'?: string;
}
/**
 *
 * @export
 * @interface StaticSplitResponseSchemeInner
 */
export interface StaticSplitResponseSchemeInner {
    /**
     *
     * @type {string}
     * @memberof StaticSplitResponseSchemeInner
     */
    'merchantVendorId'?: string;
    /**
     *
     * @type {string}
     * @memberof StaticSplitResponseSchemeInner
     */
    'percentage'?: string;
}
/**
 * Use to create a subscription for a customer.
 * @export
 * @interface Subscription
 */
export interface Subscription {
    /**
     * Unique ID for the subscription. This is generated by the merchant and should be unique across the system.
     * @type {string}
     * @memberof Subscription
     */
    'subscription_id'?: string;
    /**
     * Authorization amount for the auth payment.
     * @type {number}
     * @memberof Subscription
     */
    'authorization_amount'?: number;
    /**
     *
     * @type {CreateLinkPlanRequest}
     * @memberof Subscription
     */
    'plan_details'?: CreateLinkPlanRequest;
    /**
     * Indicates whether the authorization amount should be refunded to the customer automatically. Merchants can use this field to specify if the authorized funds should be returned to the customer after authorization of the subscription.
     * @type {boolean}
     * @memberof Subscription
     */
    'authorization_amount_refund'?: boolean;
    /**
     * Time at which the subscription will expire.
     * @type {string}
     * @memberof Subscription
     */
    'subscription_expiry_time'?: string;
    /**
     * Time at which the first charge for the subscription will be processed.
     * @type {string}
     * @memberof Subscription
     */
    'subscription_first_charge_time'?: string;
}
/**
 * Bank details object.
 * @export
 * @interface SubscriptionBankDetails
 */
export interface SubscriptionBankDetails {
    /**
     * ID of the bank.
     * @type {string}
     * @memberof SubscriptionBankDetails
     */
    'bank_id'?: string;
    /**
     * Name of the bank.
     * @type {string}
     * @memberof SubscriptionBankDetails
     */
    'bank_name'?: string;
    /**
     * List of account authentication modes supported by the bank. (e.g. DEBIT_CARD, NET_BANKING, AADHAAR).
     * @type {Array<string>}
     * @memberof SubscriptionBankDetails
     */
    'account_auth_modes'?: Array<string>;
}
/**
 * Subscription customer details.
 * @export
 * @interface SubscriptionCustomerDetails
 */
export interface SubscriptionCustomerDetails {
    /**
     * Name of the customer.
     * @type {string}
     * @memberof SubscriptionCustomerDetails
     */
    'customer_name'?: string;
    /**
     * Email of the customer.
     * @type {string}
     * @memberof SubscriptionCustomerDetails
     */
    'customer_email': string;
    /**
     * Phone number of the customer.
     * @type {string}
     * @memberof SubscriptionCustomerDetails
     */
    'customer_phone': string;
    /**
     * Bank holder name of the customer. Account holder name is mandatory for TPV transaction. Max character allowed is 40.
     * @type {string}
     * @memberof SubscriptionCustomerDetails
     */
    'customer_bank_account_holder_name'?: string;
    /**
     * Bank account number of the customer. Conditional Parameter. Max character allowed is 35.
     * @type {string}
     * @memberof SubscriptionCustomerDetails
     */
    'customer_bank_account_number'?: string;
    /**
     * IFSC code of the customer. For a TPV transaction, send at least one out of `customer_bank_code` or `customer_bank_ifsc`.
     * @type {string}
     * @memberof SubscriptionCustomerDetails
     */
    'customer_bank_ifsc'?: string;
    /**
     * Bank code of the customer. Refer to the list of Live Banks in API E-Mandate [here](https://www.npci.org.in/product/nach/all-members). For a TPV transactions, include at least one of `customer_bank_code` or `customer_bank_ifsc`.
     * @type {string}
     * @memberof SubscriptionCustomerDetails
     */
    'customer_bank_code'?: string;
    /**
     * Bank account type of the customer.
     * @type {string}
     * @memberof SubscriptionCustomerDetails
     */
    'customer_bank_account_type'?: SubscriptionCustomerDetailsCustomerBankAccountTypeEnum;
}
export declare const SubscriptionCustomerDetailsCustomerBankAccountTypeEnum: {
    readonly SAVINGS: "SAVINGS";
    readonly CURRENT: "CURRENT";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type SubscriptionCustomerDetailsCustomerBankAccountTypeEnum = typeof SubscriptionCustomerDetailsCustomerBankAccountTypeEnum[keyof typeof SubscriptionCustomerDetailsCustomerBankAccountTypeEnum];
/**
 * Request body to fetch subscription eligibile payment method details.
 * @export
 * @interface SubscriptionEligibilityRequest
 */
export interface SubscriptionEligibilityRequest {
    /**
     *
     * @type {SubscriptionEligibilityRequestQueries}
     * @memberof SubscriptionEligibilityRequest
     */
    'queries': SubscriptionEligibilityRequestQueries;
    /**
     *
     * @type {SubscriptionEligibilityRequestFilters}
     * @memberof SubscriptionEligibilityRequest
     */
    'filters'?: SubscriptionEligibilityRequestFilters;
}
/**
 * Filters to refine eligible payment method selection.
 * @export
 * @interface SubscriptionEligibilityRequestFilters
 */
export interface SubscriptionEligibilityRequestFilters {
    /**
     * Possbile values in array - enach, pnach, upi, card.
     * @type {Array<string>}
     * @memberof SubscriptionEligibilityRequestFilters
     */
    'payment_methods'?: Array<string>;
}
/**
 * Necessary parameters to fetch eligible payment methods.
 * @export
 * @interface SubscriptionEligibilityRequestQueries
 */
export interface SubscriptionEligibilityRequestQueries {
    /**
     * A unique ID passed by merchant for identifying the subscription.
     * @type {string}
     * @memberof SubscriptionEligibilityRequestQueries
     */
    'subscription_id': string;
}
/**
 * Subscrition eligibility API response.
 * @export
 * @interface SubscriptionEligibilityResponse
 */
export interface SubscriptionEligibilityResponse {
    /**
     * List of eligibile payment methods for the subscription.
     * @type {Array<EligibilityMethodItem>}
     * @memberof SubscriptionEligibilityResponse
     */
    'type'?: Array<EligibilityMethodItem>;
}
/**
 *
 * @export
 * @interface SubscriptionEntity
 */
export interface SubscriptionEntity {
    /**
     *
     * @type {AuthorizationDetails}
     * @memberof SubscriptionEntity
     */
    'authorisation_details'?: AuthorizationDetails;
    /**
     * Cashfree subscription reference number.
     * @type {string}
     * @memberof SubscriptionEntity
     */
    'cf_subscription_id'?: string;
    /**
     *
     * @type {SubscriptionCustomerDetails}
     * @memberof SubscriptionEntity
     */
    'customer_details'?: SubscriptionCustomerDetails;
    /**
     *
     * @type {PlanEntity}
     * @memberof SubscriptionEntity
     */
    'plan_details'?: PlanEntity;
    /**
     * Time at which the subscription will expire. We store timestamps in IST.
     * @type {string}
     * @memberof SubscriptionEntity
     */
    'subscription_expiry_time'?: string;
    /**
     * Time at which the first charge will be made for the subscription. Applicable only for PERIODIC plans. Cashfree stores timestamps in IST.
     * @type {string}
     * @memberof SubscriptionEntity
     */
    'subscription_first_charge_time'?: string;
    /**
     * A unique ID passed by merchant for identifying the subscription.
     * @type {string}
     * @memberof SubscriptionEntity
     */
    'subscription_id'?: string;
    /**
     *
     * @type {SubscriptionEntitySubscriptionMeta}
     * @memberof SubscriptionEntity
     */
    'subscription_meta'?: SubscriptionEntitySubscriptionMeta;
    /**
     * Note for the subscription.
     * @type {string}
     * @memberof SubscriptionEntity
     */
    'subscription_note'?: string;
    /**
     * Subscription Session Id.
     * @type {string}
     * @memberof SubscriptionEntity
     */
    'subscription_session_id'?: string;
    /**
     * Payment splits for the subscription.
     * @type {Array<SubscriptionPaymentSplitItem>}
     * @memberof SubscriptionEntity
     */
    'subscription_payment_splits'?: Array<SubscriptionPaymentSplitItem>;
    /**
     * Status of the subscription. For more details, see [Subscription Lifecycle](https://www.cashfree.com/docs/payments/subscription/create#subscription-lifecycle).
     * @type {string}
     * @memberof SubscriptionEntity
     */
    'subscription_status'?: string;
    /**
     * Tags for the subscription.
     * @type {object}
     * @memberof SubscriptionEntity
     */
    'subscription_tags'?: object;
    /**
     * The date on which the next payment is scheduled to be processed. Cashfree stores timestamps in IST. For ON_DEMAND plans this will be null .
     * @type {string}
     * @memberof SubscriptionEntity
     */
    'next_schedule_date'?: string;
}
/**
 * Subscription metadata.
 * @export
 * @interface SubscriptionEntitySubscriptionMeta
 */
export interface SubscriptionEntitySubscriptionMeta {
    /**
     * Return URL for the subscription.
     * @type {string}
     * @memberof SubscriptionEntitySubscriptionMeta
     */
    'return_url'?: string;
}
/**
 * The response returned in Get, Create or Manage Subscription Payment APIs.
 * @export
 * @interface SubscriptionPaymentEntity
 */
export interface SubscriptionPaymentEntity {
    /**
     *
     * @type {AuthorizationDetails}
     * @memberof SubscriptionPaymentEntity
     */
    'authorization_details'?: AuthorizationDetails;
    /**
     * Cashfree subscription payment reference number.
     * @type {string}
     * @memberof SubscriptionPaymentEntity
     */
    'cf_payment_id'?: string;
    /**
     * Cashfree subscription reference number.
     * @type {string}
     * @memberof SubscriptionPaymentEntity
     */
    'cf_subscription_id'?: string;
    /**
     * Cashfree subscription payment transaction ID.
     * @type {string}
     * @memberof SubscriptionPaymentEntity
     */
    'cf_txn_id'?: string;
    /**
     * Cashfree subscription payment order ID.
     * @type {string}
     * @memberof SubscriptionPaymentEntity
     */
    'cf_order_id'?: string;
    /**
     *
     * @type {SubscriptionPaymentEntityFailureDetails}
     * @memberof SubscriptionPaymentEntity
     */
    'failure_details'?: SubscriptionPaymentEntityFailureDetails;
    /**
     * The charge amount of the payment.
     * @type {number}
     * @memberof SubscriptionPaymentEntity
     */
    'payment_amount'?: number;
    /**
     * A unique ID passed by merchant for identifying the transaction.
     * @type {string}
     * @memberof SubscriptionPaymentEntity
     */
    'payment_id'?: string;
    /**
     * The date on which the payment was initiated. Cashfree stores timestamps in IST.
     * @type {string}
     * @memberof SubscriptionPaymentEntity
     */
    'payment_initiated_date'?: string;
    /**
     * Payment remarks.
     * @type {string}
     * @memberof SubscriptionPaymentEntity
     */
    'payment_remarks'?: string;
    /**
     * The date on which the payment is scheduled to be processed. Cashfree stores timestamps in IST, but you can provide them in a valid ISO 8601 time format.  For IST this `2025-06-01T10:20:12+05:30` translates to `2025-06-01 10:20:12`    For UTC this `2025-06-01T10:20:12Z` translates to `2025-06-01 15:50:12+05:30`.
     * @type {string}
     * @memberof SubscriptionPaymentEntity
     */
    'payment_schedule_date'?: string;
    /**
     * Status of the payment.
     * @type {string}
     * @memberof SubscriptionPaymentEntity
     */
    'payment_status'?: string;
    /**
     * Payment type. Can be AUTH or CHARGE.
     * @type {string}
     * @memberof SubscriptionPaymentEntity
     */
    'payment_type'?: string;
    /**
     * Retry attempts.
     * @type {number}
     * @memberof SubscriptionPaymentEntity
     */
    'retry_attempts'?: number;
    /**
     * A unique ID passed by merchant for identifying the subscription.
     * @type {string}
     * @memberof SubscriptionPaymentEntity
     */
    'subscription_id'?: string;
}
/**
 *
 * @export
 * @interface SubscriptionPaymentEntityFailureDetails
 */
export interface SubscriptionPaymentEntityFailureDetails {
    /**
     * Failure reason of the payment if the payment_status is failed.
     * @type {string}
     * @memberof SubscriptionPaymentEntityFailureDetails
     */
    'failure_reason'?: string;
}
/**
 * Get/Create Subscription Payment Refund Response.
 * @export
 * @interface SubscriptionPaymentRefundEntity
 */
export interface SubscriptionPaymentRefundEntity {
    /**
     * A unique ID passed by merchant for identifying the transaction.
     * @type {string}
     * @memberof SubscriptionPaymentRefundEntity
     */
    'payment_id'?: string;
    /**
     * Cashfree subscription payment reference number.
     * @type {string}
     * @memberof SubscriptionPaymentRefundEntity
     */
    'cf_payment_id'?: string;
    /**
     * A unique ID passed by merchant for identifying the refund.
     * @type {string}
     * @memberof SubscriptionPaymentRefundEntity
     */
    'refund_id'?: string;
    /**
     * Cashfree subscription payment refund reference number.
     * @type {string}
     * @memberof SubscriptionPaymentRefundEntity
     */
    'cf_refund_id'?: string;
    /**
     * The refund amount.
     * @type {number}
     * @memberof SubscriptionPaymentRefundEntity
     */
    'refund_amount'?: number;
    /**
     * Refund note for merchant reference.
     * @type {string}
     * @memberof SubscriptionPaymentRefundEntity
     */
    'refund_note'?: string;
    /**
     * Refund speed. Can be INSTANT or NORMAL.
     * @type {string}
     * @memberof SubscriptionPaymentRefundEntity
     */
    'refund_speed'?: string;
    /**
     * Status of the refund. Can be INITIALIZED, SUCCESS, CANCEL, PENDING or FAILED.
     * @type {string}
     * @memberof SubscriptionPaymentRefundEntity
     */
    'refund_status'?: string;
}
/**
 * Subscription Payment Split Item.
 * @export
 * @interface SubscriptionPaymentSplitItem
 */
export interface SubscriptionPaymentSplitItem {
    /**
     * Vendor ID.
     * @type {string}
     * @memberof SubscriptionPaymentSplitItem
     */
    'vendor_id'?: string;
    /**
     * Percentage of the payment to be split to vendor.
     * @type {number}
     * @memberof SubscriptionPaymentSplitItem
     */
    'percentage'?: number;
}
/**
 * Terminal Data in the create order response.
 * @export
 * @interface TerminalData
 */
export interface TerminalData {
    /**
     *
     * @type {string}
     * @memberof TerminalData
     */
    'agent_mobile_number'?: string;
    /**
     *
     * @type {number}
     * @memberof TerminalData
     */
    'cf_terminal_id'?: number;
    /**
     *
     * @type {string}
     * @memberof TerminalData
     */
    'merchant_terminal_id'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalData
     */
    'terminal_type'?: string;
}
/**
 * Use this if you are creating an order for cashfree\'s softPOS.
 * @export
 * @interface TerminalDetails
 */
export interface TerminalDetails {
    /**
     * date time at which terminal is added.
     * @type {string}
     * @memberof TerminalDetails
     */
    'added_on'?: string;
    /**
     * Cashfree terminal ID, this is a required parameter when you do not provide the terminal phone number.
     * @type {number}
     * @memberof TerminalDetails
     */
    'cf_terminal_id'?: number;
    /**
     * last instant when this terminal was updated.
     * @type {string}
     * @memberof TerminalDetails
     */
    'last_updated_on'?: string;
    /**
     * location of terminal.
     * @type {string}
     * @memberof TerminalDetails
     */
    'terminal_address'?: string;
    /**
     * terminal id for merchant reference.
     * @type {string}
     * @memberof TerminalDetails
     */
    'terminal_id'?: string;
    /**
     * name of terminal/agent/storefront.
     * @type {string}
     * @memberof TerminalDetails
     */
    'terminal_name'?: string;
    /**
     * note given by merchant while creating the terminal.
     * @type {string}
     * @memberof TerminalDetails
     */
    'terminal_note'?: string;
    /**
     * mobile num of the terminal/agent/storefront,This is a required parameter when you do not provide the cf_terminal_id.
     * @type {string}
     * @memberof TerminalDetails
     */
    'terminal_phone_no'?: string;
    /**
     * status of terminal active/inactive.
     * @type {string}
     * @memberof TerminalDetails
     */
    'terminal_status'?: string;
    /**
     * To identify the type of terminal product in use, in this case it is SPOS.
     * @type {string}
     * @memberof TerminalDetails
     */
    'terminal_type': string;
}
/**
 * Create terminal response object.
 * @export
 * @interface TerminalEntity
 */
export interface TerminalEntity {
    /**
     *
     * @type {string}
     * @memberof TerminalEntity
     */
    'added_on'?: string;
    /**
     *
     * @type {number}
     * @memberof TerminalEntity
     */
    'cf_terminal_id'?: number;
    /**
     *
     * @type {string}
     * @memberof TerminalEntity
     */
    'last_updated_on'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalEntity
     */
    'terminal_address'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalEntity
     */
    'terminal_email'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalEntity
     */
    'terminal_type'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalEntity
     */
    'teminal_id'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalEntity
     */
    'terminal_name'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalEntity
     */
    'terminal_note'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalEntity
     */
    'terminal_phone_no'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalEntity
     */
    'terminal_status'?: string;
    /**
     *
     * @type {TerminalEntityTerminalMeta}
     * @memberof TerminalEntity
     */
    'terminal_meta'?: TerminalEntityTerminalMeta;
    /**
     *
     * @type {string}
     * @memberof TerminalEntity
     */
    'terminal_vpas'?: string;
}
/**
 * Terminal metadata, required field for storefront.
 * @export
 * @interface TerminalEntityTerminalMeta
 */
export interface TerminalEntityTerminalMeta {
    /**
     * name of the STOREFRONT operator.
     * @type {string}
     * @memberof TerminalEntityTerminalMeta
     */
    'terminal_operator'?: string;
}
/**
 * Use this object to filter terminal transactions based on various criteria.
 * @export
 * @interface TerminalFilters
 */
export interface TerminalFilters {
    /**
     * Start date and time for transaction filtering. Use ISO8601 format  (example: 2021-07-02T10:20:12+05:30 for IST, 2021-07-02T10:20:12Z for UTC).
     * @type {string}
     * @memberof TerminalFilters
     */
    'start_date'?: string;
    /**
     * End date and time for transaction filtering. Use ISO8601 format  (example: 2021-07-02T10:20:12+05:30 for IST, 2021-07-02T10:20:12Z for UTC).
     * @type {string}
     * @memberof TerminalFilters
     */
    'end_date'?: string;
    /**
     * Unique Cashfree terminal identifier.
     * @type {number}
     * @memberof TerminalFilters
     */
    'cf_terminal_id'?: number;
    /**
     * Virtual payment address (VPA) associated with the terminal.
     * @type {string}
     * @memberof TerminalFilters
     */
    'terminal_vpa'?: string;
    /**
     * Mobile phone number registered with the terminal.
     * @type {string}
     * @memberof TerminalFilters
     */
    'terminal_phone_no'?: string;
    /**
     * Payment transaction status. Possible values are SUCCESS, FAILED, or PENDING.
     * @type {string}
     * @memberof TerminalFilters
     */
    'payment_status'?: string;
    /**
     * Payment method group (for example, UPI, CARD, NET_BANKING).
     * @type {string}
     * @memberof TerminalFilters
     */
    'payment_group'?: string;
    /**
     * Field to sort results by. Currently supports sorting by start_date.
     * @type {string}
     * @memberof TerminalFilters
     */
    'sort_by'?: string;
    /**
     * Sort order for the results. Use ASC for ascending or DESC for descending order.
     * @type {string}
     * @memberof TerminalFilters
     */
    'sort_order'?: string;
}
/**
 * Use this object to configure pagination for terminal transaction results.
 * @export
 * @interface TerminalPagination
 */
export interface TerminalPagination {
    /**
     * Page number for the requested results. Default value is 1.
     * @type {number}
     * @memberof TerminalPagination
     */
    'page_number'?: number;
    /**
     * Number of transactions to return per page. Default value is 25.
     * @type {number}
     * @memberof TerminalPagination
     */
    'page_size'?: number;
}
/**
 * terminal payment entity full object.
 * @export
 * @interface TerminalPaymentEntity
 */
export interface TerminalPaymentEntity {
    /**
     *
     * @type {number}
     * @memberof TerminalPaymentEntity
     */
    'cf_payment_id'?: number;
    /**
     *
     * @type {string}
     * @memberof TerminalPaymentEntity
     */
    'order_id'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalPaymentEntity
     */
    'entity'?: string;
    /**
     *
     * @type {ErrorDetailsInPaymentsEntity}
     * @memberof TerminalPaymentEntity
     */
    'error_details'?: ErrorDetailsInPaymentsEntity;
    /**
     *
     * @type {boolean}
     * @memberof TerminalPaymentEntity
     */
    'is_captured'?: boolean;
    /**
     * Order amount can be different from payment amount if you collect service fee from the customer.
     * @type {number}
     * @memberof TerminalPaymentEntity
     */
    'order_amount'?: number;
    /**
     * Type of payment group. One of [\'prepaid_card\', \'upi_ppi_offline\', \'cash\', \'upi_credit_card\', \'paypal\', \'net_banking\', \'cardless_emi\', \'credit_card\', \'bank_transfer\', \'pay_later\', \'debit_card_emi\', \'debit_card\', \'wallet\', \'upi_ppi\', \'upi\', \'credit_card_emi\'].
     * @type {string}
     * @memberof TerminalPaymentEntity
     */
    'payment_group'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalPaymentEntity
     */
    'payment_currency'?: string;
    /**
     *
     * @type {number}
     * @memberof TerminalPaymentEntity
     */
    'payment_amount'?: number;
    /**
     * This is the time when the payment was initiated.
     * @type {string}
     * @memberof TerminalPaymentEntity
     */
    'payment_time'?: string;
    /**
     * This is the time when the payment reaches its terminal state.
     * @type {string}
     * @memberof TerminalPaymentEntity
     */
    'payment_completion_time'?: string;
    /**
     * The transaction status can be one of  [\"SUCCESS\", \"NOT_ATTEMPTED\", \"FAILED\", \"USER_DROPPED\", \"VOID\", \"CANCELLED\", \"PENDING\"].
     * @type {string}
     * @memberof TerminalPaymentEntity
     */
    'payment_status'?: TerminalPaymentEntityPaymentStatusEnum;
    /**
     *
     * @type {string}
     * @memberof TerminalPaymentEntity
     */
    'payment_message'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalPaymentEntity
     */
    'bank_reference'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalPaymentEntity
     */
    'auth_id'?: string;
    /**
     *
     * @type {AuthorizationInPaymentsEntity}
     * @memberof TerminalPaymentEntity
     */
    'authorization'?: AuthorizationInPaymentsEntity;
    /**
     *
     * @type {CustomerDetails}
     * @memberof TerminalPaymentEntity
     */
    'customer_details'?: CustomerDetails;
    /**
     *
     * @type {PaymentEntityPaymentMethod}
     * @memberof TerminalPaymentEntity
     */
    'payment_method'?: PaymentEntityPaymentMethod;
    /**
     *
     * @type {PaymentGatewayDetails}
     * @memberof TerminalPaymentEntity
     */
    'payment_gateway_details'?: PaymentGatewayDetails;
}
export declare const TerminalPaymentEntityPaymentStatusEnum: {
    readonly SUCCESS: "SUCCESS";
    readonly NOT_ATTEMPTED: "NOT_ATTEMPTED";
    readonly FAILED: "FAILED";
    readonly USER_DROPPED: "USER_DROPPED";
    readonly VOID: "VOID";
    readonly CANCELLED: "CANCELLED";
    readonly PENDING: "PENDING";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type TerminalPaymentEntityPaymentStatusEnum = typeof TerminalPaymentEntityPaymentStatusEnum[keyof typeof TerminalPaymentEntityPaymentStatusEnum];
/**
 * Create terminal response object.
 * @export
 * @interface TerminalTransactionEntity
 */
export interface TerminalTransactionEntity {
    /**
     *
     * @type {number}
     * @memberof TerminalTransactionEntity
     */
    'cf_payment_id'?: number;
    /**
     *
     * @type {number}
     * @memberof TerminalTransactionEntity
     */
    'payment_amount'?: number;
    /**
     *
     * @type {string}
     * @memberof TerminalTransactionEntity
     */
    'payment_method'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalTransactionEntity
     */
    'payment_url'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalTransactionEntity
     */
    'qrcode'?: string;
    /**
     *
     * @type {string}
     * @memberof TerminalTransactionEntity
     */
    'timeout'?: string;
}
/**
 * Request to terminate an active order at Cashfree.
 * @export
 * @interface TerminateOrderRequest
 */
export interface TerminateOrderRequest {
    /**
     * To terminate an order, pass order_status as \"TERMINATED\". Please note, order might not be terminated - confirm with the order_status in response. \"TERMINATION_REQUESTED\" states that the request is recieved and we are working on it. If the order terminates successfully, status will change to \"TERMINATED\". Incase there\'s any active transaction which moved to success - order might not get terminated.
     * @type {string}
     * @memberof TerminateOrderRequest
     */
    'order_status'?: string;
}
/**
 * The response returned for Transaction Return Summary API.
 * @export
 * @interface TransactionReturnSummary200Response
 */
export interface TransactionReturnSummary200Response {
    /**
     *
     * @type {TransactionReturnSummary200ResponseData}
     * @memberof TransactionReturnSummary200Response
     */
    'data'?: TransactionReturnSummary200ResponseData;
    /**
     * Status message.
     * @type {string}
     * @memberof TransactionReturnSummary200Response
     */
    'message'?: string;
    /**
     * Status code of the response.
     * @type {number}
     * @memberof TransactionReturnSummary200Response
     */
    'status'?: number;
}
/**
 * Transaction return summary data.
 * @export
 * @interface TransactionReturnSummary200ResponseData
 */
export interface TransactionReturnSummary200ResponseData {
    /**
     * Payment ID for which the summary is generated.
     * @type {number}
     * @memberof TransactionReturnSummary200ResponseData
     */
    'paymentId'?: number;
    /**
     * Status of the summary generation (GENERATED or INITIALIZED).
     * @type {string}
     * @memberof TransactionReturnSummary200ResponseData
     */
    'status'?: string;
    /**
     * Download link for the summary (if status is GENERATED).
     * @type {string}
     * @memberof TransactionReturnSummary200ResponseData
     */
    'link'?: string;
}
/**
 *
 * @export
 * @interface TransferDetails
 */
export interface TransferDetails {
    /**
     *
     * @type {string}
     * @memberof TransferDetails
     */
    'vendor_id'?: string;
    /**
     *
     * @type {string}
     * @memberof TransferDetails
     */
    'transfer_from'?: string;
    /**
     *
     * @type {string}
     * @memberof TransferDetails
     */
    'transfer_type'?: string;
    /**
     *
     * @type {number}
     * @memberof TransferDetails
     */
    'transfer_amount'?: number;
    /**
     *
     * @type {string}
     * @memberof TransferDetails
     */
    'remark'?: string;
    /**
     *
     * @type {Array<TransferDetailsTagsInner>}
     * @memberof TransferDetails
     */
    'tags'?: Array<TransferDetailsTagsInner>;
}
/**
 *
 * @export
 * @interface TransferDetailsTagsInner
 */
export interface TransferDetailsTagsInner {
    /**
     *
     * @type {string}
     * @memberof TransferDetailsTagsInner
     */
    'product'?: string;
    /**
     *
     * @type {number}
     * @memberof TransferDetailsTagsInner
     */
    'size'?: number;
}
/**
 * Object when you are using preauth in UPI in order pay.
 * @export
 * @interface UPIAuthorizeDetails
 */
export interface UPIAuthorizeDetails {
    /**
     * Time by which this authorization should be approved by the customer.
     * @type {string}
     * @memberof UPIAuthorizeDetails
     */
    'approve_by'?: string;
    /**
     * This is the time when the UPI one time mandate will start.
     * @type {string}
     * @memberof UPIAuthorizeDetails
     */
    'start_time'?: string;
    /**
     * This is the time when the UPI mandate will be over. If the mandate has not been executed by this time, the funds will be returned back to the customer after this time.
     * @type {string}
     * @memberof UPIAuthorizeDetails
     */
    'end_time'?: string;
}
/**
 * The UPI incident object will show details about the incident affecting UPI payments.
 * @export
 * @interface UPIDowntime
 */
export interface UPIDowntime {
    /**
     *
     * @type {UPIDowntimeUpi}
     * @memberof UPIDowntime
     */
    'upi'?: UPIDowntimeUpi;
}
/**
 *
 * @export
 * @interface UPIDowntimeUpi
 */
export interface UPIDowntimeUpi {
    /**
     *
     * @type {Array<string>}
     * @memberof UPIDowntimeUpi
     */
    'upi_issuer'?: Array<string>;
    /**
     *
     * @type {Array<string>}
     * @memberof UPIDowntimeUpi
     */
    'upi_psp'?: Array<string>;
    /**
     *
     * @type {Array<string>}
     * @memberof UPIDowntimeUpi
     */
    'upi_vpa'?: Array<string>;
    /**
     *
     * @type {boolean}
     * @memberof UPIDowntimeUpi
     */
    'is_npci_downtime'?: boolean;
}
/**
 * Complete payment method for UPI collect.
 * @export
 * @interface UPIPaymentMethod
 */
export interface UPIPaymentMethod {
    /**
     *
     * @type {Upi}
     * @memberof UPIPaymentMethod
     */
    'upi': Upi;
}
/**
 *
 * @export
 * @interface UpdateOrderExtendedDataEntity
 */
export interface UpdateOrderExtendedDataEntity {
    /**
     * unique id generated by cashfree for your order.
     * @type {string}
     * @memberof UpdateOrderExtendedDataEntity
     */
    'cf_order_id'?: string;
    /**
     * order_id sent during the api request.
     * @type {string}
     * @memberof UpdateOrderExtendedDataEntity
     */
    'order_id'?: string;
    /**
     *
     * @type {Array<ShipmentDetails>}
     * @memberof UpdateOrderExtendedDataEntity
     */
    'shipment_details'?: Array<ShipmentDetails>;
    /**
     *
     * @type {OrderDeliveryStatus}
     * @memberof UpdateOrderExtendedDataEntity
     */
    'order_delivery_status'?: OrderDeliveryStatus;
}
/**
 * Request body to update extended data related to order.
 * @export
 * @interface UpdateOrderExtendedRequest
 */
export interface UpdateOrderExtendedRequest {
    /**
     * Shipment details, such as the tracking company, tracking number, and tracking URLs, associated with the shipping of an order. Either `shipment_details` or `order_delivery_status` is required.
     * @type {Array<ShipmentDetails>}
     * @memberof UpdateOrderExtendedRequest
     */
    'shipment_details'?: Array<ShipmentDetails>;
    /**
     *
     * @type {OrderDeliveryStatus}
     * @memberof UpdateOrderExtendedRequest
     */
    'order_delivery_status'?: OrderDeliveryStatus;
}
/**
 * Request body to update soundbox vpa.
 * @export
 * @interface UpdateSoundboxVpaRequest
 */
export interface UpdateSoundboxVpaRequest {
    /**
     * Terminal Vpa,for which we need to update details.
     * @type {string}
     * @memberof UpdateSoundboxVpaRequest
     */
    'vpa': string;
    /**
     * Cashfree terminal ID.
     * @type {number}
     * @memberof UpdateSoundboxVpaRequest
     */
    'cf_terminal_id': number;
    /**
     * Merchant Name that need to updated on soundbox.
     * @type {string}
     * @memberof UpdateSoundboxVpaRequest
     */
    'merchant_name'?: string;
    /**
     * language of soundbox,currently English, Hindi, Tamil.
     * @type {string}
     * @memberof UpdateSoundboxVpaRequest
     */
    'language'?: string;
}
/**
 * Update terminal response.
 * @export
 * @interface UpdateTerminalEntity
 */
export interface UpdateTerminalEntity {
    /**
     *
     * @type {string}
     * @memberof UpdateTerminalEntity
     */
    'added_on'?: string;
    /**
     *
     * @type {number}
     * @memberof UpdateTerminalEntity
     */
    'cf_terminal_id'?: number;
    /**
     *
     * @type {string}
     * @memberof UpdateTerminalEntity
     */
    'last_updated_on'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateTerminalEntity
     */
    'terminal_address'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateTerminalEntity
     */
    'terminal_email'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateTerminalEntity
     */
    'terminal_type'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateTerminalEntity
     */
    'teminal_id'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateTerminalEntity
     */
    'terminal_name'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateTerminalEntity
     */
    'terminal_note'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateTerminalEntity
     */
    'terminal_phone_no'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateTerminalEntity
     */
    'terminal_status'?: string;
    /**
     *
     * @type {TerminalEntityTerminalMeta}
     * @memberof UpdateTerminalEntity
     */
    'terminal_meta'?: TerminalEntityTerminalMeta;
}
/**
 * Request body to update terminal details.
 * @export
 * @interface UpdateTerminalRequest
 */
export interface UpdateTerminalRequest {
    /**
     * Mention the updated email ID of the terminal.
     * @type {string}
     * @memberof UpdateTerminalRequest
     */
    'terminal_email'?: string;
    /**
     * Terminal phone number to be updated.
     * @type {string}
     * @memberof UpdateTerminalRequest
     */
    'terminal_phone_no'?: string;
    /**
     *
     * @type {UpdateTerminalRequestTerminalMeta}
     * @memberof UpdateTerminalRequest
     */
    'terminal_meta'?: UpdateTerminalRequestTerminalMeta;
    /**
     * Mention the terminal type to be updated. Possible values - AGENT, STOREFRONT.
     * @type {string}
     * @memberof UpdateTerminalRequest
     */
    'terminal_type': string;
}
/**
 * Terminal metadata.
 * @export
 * @interface UpdateTerminalRequestTerminalMeta
 */
export interface UpdateTerminalRequestTerminalMeta {
    /**
     * Name of the operator for the storefront.
     * @type {string}
     * @memberof UpdateTerminalRequestTerminalMeta
     */
    'terminal_operator'?: string;
}
/**
 * Request body to update terminal status.
 * @export
 * @interface UpdateTerminalStatusRequest
 */
export interface UpdateTerminalStatusRequest {
    /**
     * Status of the terminal to be updated. possible values - ACTIVE, INACTIVE.
     * @type {string}
     * @memberof UpdateTerminalStatusRequest
     */
    'terminal_status': string;
}
/**
 * Update Vendor Request.
 * @export
 * @interface UpdateVendorRequest
 */
export interface UpdateVendorRequest {
    /**
     * Specify the status of vendor that should be updated. Possible value: ACTIVE.
     * @type {string}
     * @memberof UpdateVendorRequest
     */
    'status'?: string;
    /**
     * Specify the name of the vendor to be updated. Name should not have any special character except . / - &.
     * @type {string}
     * @memberof UpdateVendorRequest
     */
    'name'?: string;
    /**
     * Specify the vendor email ID that should be updated. String in email ID format (Ex:johndoe_1@cashfree.com) should contain @ and dot (.).
     * @type {string}
     * @memberof UpdateVendorRequest
     */
    'email'?: string;
    /**
     * Specify the beneficiaries phone number to be updated. Phone number registered in India (only digits, 8 - 12 characters after excluding +91).
     * @type {string}
     * @memberof UpdateVendorRequest
     */
    'phone'?: string;
    /**
     * Specify if the vendor bank account details should be verified. Possible values: true or false.
     * @type {boolean}
     * @memberof UpdateVendorRequest
     */
    'verify_account'?: boolean;
    /**
     * Update if the vendor will have dashboard access or not. Possible values are: true or false.
     * @type {boolean}
     * @memberof UpdateVendorRequest
     */
    'dashboard_access'?: boolean;
    /**
     * Specify the settlement cycle to be updated. View the settlement cycle details from the \"Settlement Cycles Supported\" table. If no schedule option is configured, the settlement cycle ID \"1\" will be in effect. Select \"8\" or \"9\" if you want to schedule instant vendor settlements.
     * @type {number}
     * @memberof UpdateVendorRequest
     */
    'schedule_option'?: number;
    /**
     * Specify the vendor bank account details to be updated.
     * @type {Array<BankDetails>}
     * @memberof UpdateVendorRequest
     */
    'bank'?: Array<BankDetails>;
    /**
     * Updated beneficiary upi vpa. Alphanumeric, dot (.), hyphen (-), at sign (@), and underscore allowed (100 character limit). Note: underscore and dot (.) gets accepted before and after @, but hyphen (-) is only accepted before @ sign.
     * @type {Array<UpiDetails>}
     * @memberof UpdateVendorRequest
     */
    'upi'?: Array<UpiDetails>;
    /**
     * Specify the kyc details that should be updated.
     * @type {Array<KycDetails>}
     * @memberof UpdateVendorRequest
     */
    'kyc_details'?: Array<KycDetails>;
}
/**
 * Update Vendor Response.
 * @export
 * @interface UpdateVendorResponse
 */
export interface UpdateVendorResponse {
    /**
     *
     * @type {string}
     * @memberof UpdateVendorResponse
     */
    'email'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateVendorResponse
     */
    'status'?: string;
    /**
     *
     * @type {Array<BankDetails>}
     * @memberof UpdateVendorResponse
     */
    'bank'?: Array<BankDetails>;
    /**
     *
     * @type {string}
     * @memberof UpdateVendorResponse
     */
    'upi'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateVendorResponse
     */
    'added_on'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateVendorResponse
     */
    'updated_on'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateVendorResponse
     */
    'vendor_type'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateVendorResponse
     */
    'account_type'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateVendorResponse
     */
    'business_type'?: string;
    /**
     *
     * @type {number}
     * @memberof UpdateVendorResponse
     */
    'phone'?: number;
    /**
     *
     * @type {string}
     * @memberof UpdateVendorResponse
     */
    'name'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateVendorResponse
     */
    'vendor_id'?: string;
    /**
     *
     * @type {Array<ScheduleOption>}
     * @memberof UpdateVendorResponse
     */
    'schedule_option'?: Array<ScheduleOption>;
    /**
     *
     * @type {Array<KycDetails>}
     * @memberof UpdateVendorResponse
     */
    'kyc_details'?: Array<KycDetails>;
    /**
     *
     * @type {boolean}
     * @memberof UpdateVendorResponse
     */
    'dashboard_access'?: boolean;
    /**
     *
     * @type {string}
     * @memberof UpdateVendorResponse
     */
    'bank_details'?: string;
    /**
     *
     * @type {Array<VendorEntityRelatedDocsInner>}
     * @memberof UpdateVendorResponse
     */
    'related_docs'?: Array<VendorEntityRelatedDocsInner>;
}
/**
 * UPI collect payment method object.
 * @export
 * @interface Upi
 */
export interface Upi {
    /**
     * Specify the channel through which the payment must be processed. Can be one of [\"link\", \"collect\", \"qrcode\", \"podQrCode\"].
     * @type {string}
     * @memberof Upi
     */
    'channel'?: UpiChannelEnum;
    /**
     * Customer UPI VPA to process payment.  ### Important This is a required parameter for channel = `collect`.
     * @type {string}
     * @memberof Upi
     */
    'upi_id'?: string;
    /**
     * use this if you want cashfree to show a loader. Sample response below. It is only supported for collect `action:collect` will be returned with `data.url` having the link for redirection.
     * @type {boolean}
     * @memberof Upi
     */
    'upi_redirect_url'?: boolean;
    /**
     * The UPI request will be valid for this expiry minutes. This parameter is only applicable for a UPI collect payment. The default value is 5 minutes. You should keep the minimum as 5 minutes, and maximum as 15 minutes.
     * @type {number}
     * @memberof Upi
     */
    'upi_expiry_minutes'?: number;
    /**
     * For one time mandate on UPI. Set this as authorize_only = true. Please note that you can only use the \"collect\" channel if you are sending a one time mandate request.
     * @type {boolean}
     * @memberof Upi
     */
    'authorize_only'?: boolean;
    /**
     *
     * @type {UPIAuthorizeDetails}
     * @memberof Upi
     */
    'authorization'?: UPIAuthorizeDetails;
}
export declare const UpiChannelEnum: {
    readonly LINK: "link";
    readonly COLLECT: "collect";
    readonly QRCODE: "qrcode";
    readonly POD_QR_CODE: "podQrCode";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type UpiChannelEnum = typeof UpiChannelEnum[keyof typeof UpiChannelEnum];
/**
 *
 * @export
 * @interface UpiDetails
 */
export interface UpiDetails {
    /**
     *
     * @type {string}
     * @memberof UpiDetails
     */
    'vpa'?: string;
    /**
     *
     * @type {string}
     * @memberof UpiDetails
     */
    'account_holder'?: string;
}
/**
 * Response of pnach image upload API.
 * @export
 * @interface UploadPnachImageResponse
 */
export interface UploadPnachImageResponse {
    /**
     * The payment_id against which the pnach image is uploaded.
     * @type {string}
     * @memberof UploadPnachImageResponse
     */
    'payment_id'?: string;
    /**
     * Authorization status of the subscription.
     * @type {string}
     * @memberof UploadPnachImageResponse
     */
    'authorization_status'?: string;
    /**
     * Action performed on the file.
     * @type {string}
     * @memberof UploadPnachImageResponse
     */
    'action'?: string;
    /**
     * Message of the API.
     * @type {string}
     * @memberof UploadPnachImageResponse
     */
    'payment_message'?: string;
}
/**
 * Request body to upload terminal documents.
 * @export
 * @interface UploadTerminalDocs
 */
export interface UploadTerminalDocs {
    /**
     * Mention the document type you are uploading. Possible values - ADDRESSPROOF, PHOTOGRAPH.
     * @type {string}
     * @memberof UploadTerminalDocs
     */
    'doc_type': string;
    /**
     * Enter the display name of the uploaded file.
     * @type {string}
     * @memberof UploadTerminalDocs
     */
    'doc_value': string;
    /**
     * Select the document that should be uploaded or provide the path of that file. You cannot upload a file that is more than 2MB in size.
     * @type {string}
     * @memberof UploadTerminalDocs
     */
    'file': string;
}
/**
 * Upload the terminal documents.
 * @export
 * @interface UploadTerminalDocsEntity
 */
export interface UploadTerminalDocsEntity {
    /**
     *
     * @type {number}
     * @memberof UploadTerminalDocsEntity
     */
    'cf_terminal_id'?: number;
    /**
     *
     * @type {string}
     * @memberof UploadTerminalDocsEntity
     */
    'doc_type'?: string;
    /**
     *
     * @type {string}
     * @memberof UploadTerminalDocsEntity
     */
    'doc_value'?: string;
    /**
     *
     * @type {string}
     * @memberof UploadTerminalDocsEntity
     */
    'status'?: string;
}
/**
 * Upload Vendor Document.
 * @export
 * @interface UploadVendorDocumentsResponse
 */
export interface UploadVendorDocumentsResponse {
    /**
     *
     * @type {string}
     * @memberof UploadVendorDocumentsResponse
     */
    'vendor_id'?: string;
    /**
     *
     * @type {string}
     * @memberof UploadVendorDocumentsResponse
     */
    'doc_type'?: string;
    /**
     *
     * @type {string}
     * @memberof UploadVendorDocumentsResponse
     */
    'doc_value'?: string;
    /**
     *
     * @type {string}
     * @memberof UploadVendorDocumentsResponse
     */
    'status'?: string;
    /**
     *
     * @type {string}
     * @memberof UploadVendorDocumentsResponse
     */
    'remarks'?: string;
}
/**
 * VBA simulation contains VBA and remitter information for simulation.
 * @export
 * @interface VBASimulationRequest
 */
export interface VBASimulationRequest {
    /**
     * IFSC of the issues VBA.
     * @type {string}
     * @memberof VBASimulationRequest
     */
    'vba_ifsc': string;
    /**
     * UTR of the transaction.
     * @type {string}
     * @memberof VBASimulationRequest
     */
    'utr': string;
    /**
     * Amount of the transaction.
     * @type {number}
     * @memberof VBASimulationRequest
     */
    'amount': number;
    /**
     * Account from which transaction was done.
     * @type {string}
     * @memberof VBASimulationRequest
     */
    'remitter_account': string;
    /**
     * IFSC of the remitter.
     * @type {string}
     * @memberof VBASimulationRequest
     */
    'remitter_ifsc': string;
    /**
     * Name of the remitter.
     * @type {string}
     * @memberof VBASimulationRequest
     */
    'remitter_name': string;
    /**
     * Phone number of the remitter.
     * @type {string}
     * @memberof VBASimulationRequest
     */
    'phone': string;
}
/**
 * Vendor Adjustment Request Body.
 * @export
 * @interface VendorAdjustmentRequest
 */
export interface VendorAdjustmentRequest {
    /**
     * The unique identifier of the vendor to whom the adjustment is applied.
     * @type {string}
     * @memberof VendorAdjustmentRequest
     */
    'vendor_id': string;
    /**
     * The unique identifier for the adjustment transaction.
     * @type {number}
     * @memberof VendorAdjustmentRequest
     */
    'adjustment_id': number;
    /**
     * The adjustment amount to be applied.
     * @type {number}
     * @memberof VendorAdjustmentRequest
     */
    'amount': number;
    /**
     * The type of adjustment. Possible values: CREDIT, DEBIT.
     * @type {string}
     * @memberof VendorAdjustmentRequest
     */
    'type': string;
    /**
     * Remarks for the adjustment transaction, if any.
     * @type {string}
     * @memberof VendorAdjustmentRequest
     */
    'remarks'?: string;
}
/**
 * Vendor Adjustment Success Response.
 * @export
 * @interface VendorAdjustmentSuccessResponse
 */
export interface VendorAdjustmentSuccessResponse {
    /**
     *
     * @type {string}
     * @memberof VendorAdjustmentSuccessResponse
     */
    'message'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorAdjustmentSuccessResponse
     */
    'status'?: string;
}
/**
 * Vendor Balance entity object.
 * @export
 * @interface VendorBalance
 */
export interface VendorBalance {
    /**
     *
     * @type {number}
     * @memberof VendorBalance
     */
    'merchant_id'?: number;
    /**
     *
     * @type {string}
     * @memberof VendorBalance
     */
    'vendor_id'?: string;
    /**
     *
     * @type {number}
     * @memberof VendorBalance
     */
    'merchant_unsettled'?: number;
    /**
     *
     * @type {number}
     * @memberof VendorBalance
     */
    'vendor_unsettled'?: number;
}
/**
 * Vendor Balance Transfer Charges entity object.
 * @export
 * @interface VendorBalanceTransferCharges
 */
export interface VendorBalanceTransferCharges {
    /**
     *
     * @type {number}
     * @memberof VendorBalanceTransferCharges
     */
    'service_charges'?: number;
    /**
     *
     * @type {number}
     * @memberof VendorBalanceTransferCharges
     */
    'service_tax'?: number;
    /**
     *
     * @type {number}
     * @memberof VendorBalanceTransferCharges
     */
    'amount'?: number;
    /**
     *
     * @type {string}
     * @memberof VendorBalanceTransferCharges
     */
    'billed_to'?: string;
    /**
     *
     * @type {boolean}
     * @memberof VendorBalanceTransferCharges
     */
    'is_postpaid'?: boolean;
}
/**
 * Download Vendor Document.
 * @export
 * @interface VendorDocumentDownloadResponse
 */
export interface VendorDocumentDownloadResponse {
    /**
     *
     * @type {string}
     * @memberof VendorDocumentDownloadResponse
     */
    'download_url'?: string;
}
/**
 * Get Vendor Documents.
 * @export
 * @interface VendorDocumentsResponse
 */
export interface VendorDocumentsResponse {
    /**
     *
     * @type {Array<VendorEntityRelatedDocsInner>}
     * @memberof VendorDocumentsResponse
     */
    'documents'?: Array<VendorEntityRelatedDocsInner>;
}
/**
 * Vendor entity object.
 * @export
 * @interface VendorEntity
 */
export interface VendorEntity {
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'email'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'status'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'phone'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'name'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'vendor_id'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'added_on'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'updated_on'?: string;
    /**
     *
     * @type {Array<BankDetails>}
     * @memberof VendorEntity
     */
    'bank'?: Array<BankDetails>;
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'upi'?: string;
    /**
     *
     * @type {Array<ScheduleOption>}
     * @memberof VendorEntity
     */
    'schedule_option'?: Array<ScheduleOption>;
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'vendor_type'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'account_type'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'business_type'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntity
     */
    'remarks'?: string;
    /**
     *
     * @type {Array<VendorEntityRelatedDocsInner>}
     * @memberof VendorEntity
     */
    'related_docs'?: Array<VendorEntityRelatedDocsInner>;
}
/**
 *
 * @export
 * @interface VendorEntityRelatedDocsInner
 */
export interface VendorEntityRelatedDocsInner {
    /**
     *
     * @type {string}
     * @memberof VendorEntityRelatedDocsInner
     */
    'vendor_id'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntityRelatedDocsInner
     */
    'doc_type'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntityRelatedDocsInner
     */
    'doc_value'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntityRelatedDocsInner
     */
    'status'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorEntityRelatedDocsInner
     */
    'remarks'?: string;
}
/**
 * Fetch Vendor Recon details success response.
 * @export
 * @interface VendorRecon200Response
 */
export interface VendorRecon200Response {
    /**
     *
     * @type {string}
     * @memberof VendorRecon200Response
     */
    'cursor'?: string;
    /**
     *
     * @type {Array<VendorRecon200ResponseDataInner>}
     * @memberof VendorRecon200Response
     */
    'data'?: Array<VendorRecon200ResponseDataInner>;
    /**
     *
     * @type {number}
     * @memberof VendorRecon200Response
     */
    'limit'?: number;
}
/**
 *
 * @export
 * @interface VendorRecon200ResponseDataInner
 */
export interface VendorRecon200ResponseDataInner {
    /**
     *
     * @type {number}
     * @memberof VendorRecon200ResponseDataInner
     */
    'amount'?: number;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'settlement_eligibility_time'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'merchant_order_id'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'tx_time'?: string;
    /**
     *
     * @type {number}
     * @memberof VendorRecon200ResponseDataInner
     */
    'settlement_id'?: number;
    /**
     *
     * @type {boolean}
     * @memberof VendorRecon200ResponseDataInner
     */
    'settled'?: boolean;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'fee'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'tax'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'entity_id'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'type'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'merchant_vendor_id'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'added_on_time'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'settlement_time'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'settlement_utr'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'currency'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'debit'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'credit'?: string;
    /**
     *
     * @type {string}
     * @memberof VendorRecon200ResponseDataInner
     */
    'refund_arn'?: string;
}
/**
 * Vendor Recon Request body.
 * @export
 * @interface VendorReconRequest
 */
export interface VendorReconRequest {
    /**
     *
     * @type {VendorReconRequestPagination}
     * @memberof VendorReconRequest
     */
    'pagination': VendorReconRequestPagination;
    /**
     *
     * @type {VendorReconRequestFilters}
     * @memberof VendorReconRequest
     */
    'filters': VendorReconRequestFilters;
}
/**
 * Specify the filters for the desired use case.
 * @export
 * @interface VendorReconRequestFilters
 */
export interface VendorReconRequestFilters {
    /**
     * Specify the Settlement ID for which you want to fetch the order details. Relevant for \"View Split Order Details Using Settlement ID\".
     * @type {number}
     * @memberof VendorReconRequestFilters
     */
    'settlement_id'?: number;
    /**
     * Specify the Vendor ID for which you want to fetch the recon details. Relevant for \"Vendor Recon Using Vendor ID & Time Interval\".
     * @type {string}
     * @memberof VendorReconRequestFilters
     */
    'merchant_vendor_id'?: string;
    /**
     * Start date for fetching reconciliation details. Relevant for \"Vendor Recon for a Time Period\" and \"Vendor Recon Using Vendor ID & Time Interval\".
     * @type {string}
     * @memberof VendorReconRequestFilters
     */
    'start_date'?: string;
    /**
     * End date for fetching reconciliation details. Relevant for \"Vendor Recon for a Time Period\" and \"Vendor Recon Using Vendor ID & Time Interval\".
     * @type {string}
     * @memberof VendorReconRequestFilters
     */
    'end_date'?: string;
}
/**
 * The merchant can set pagination limits based on their use case. The minimum limit is 10. Pagination will fetch a set of records, and the next set of records can be generated using the cursor provided in response to the first request for all reconciliation APIs.
 * @export
 * @interface VendorReconRequestPagination
 */
export interface VendorReconRequestPagination {
    /**
     * Set the minimum or maximum limit for the number of filtered data. Minimum value: 10, Maximum value: 100.
     * @type {number}
     * @memberof VendorReconRequestPagination
     */
    'limit': number;
    /**
     * Specifies from where the next set of records should be fetched.
     * @type {string}
     * @memberof VendorReconRequestPagination
     */
    'cursor'?: string;
}
/**
 * Use to split order when cashfree\'s Easy Split is enabled for your account.
 * @export
 * @interface VendorSplit
 */
export interface VendorSplit {
    /**
     * Vendor id created in Cashfree system.
     * @type {string}
     * @memberof VendorSplit
     */
    'vendor_id'?: string;
    /**
     * Amount which will be associated with this vendor.
     * @type {number}
     * @memberof VendorSplit
     */
    'amount'?: number;
    /**
     * Percentage of order amount which shall get added to vendor account.
     * @type {number}
     * @memberof VendorSplit
     */
    'percentage'?: number;
    /**
     * Custom Tags in the form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added.
     * @type {{ [key: string]: object; }}
     * @memberof VendorSplit
     */
    'tags'?: {
        [key: string]: object;
    };
}
/**
 * The Wallet incident object will show details about the incident affecting wallet payments.
 * @export
 * @interface WalletDowntime
 */
export interface WalletDowntime {
    /**
     *
     * @type {WalletDowntimeWallet}
     * @memberof WalletDowntime
     */
    'wallet'?: WalletDowntimeWallet;
}
/**
 *
 * @export
 * @interface WalletDowntimeWallet
 */
export interface WalletDowntimeWallet {
    /**
     *
     * @type {Array<string>}
     * @memberof WalletDowntimeWallet
     */
    'wallet_issuer'?: Array<string>;
}
/**
 *
 * @export
 * @interface WalletOffer
 */
export interface WalletOffer {
    /**
     *
     * @type {string}
     * @memberof WalletOffer
     */
    'provider'?: string;
}
/**
 * DowntimeApi - object-oriented interface
 * @export
 * @class DowntimeApi
 * @extends {BaseAPI}
 */
/**
 * @export
 */
export declare const FetchActiveEcosystemDowntimesIncidentStatusEnum: {
    readonly ACTIVE: "ACTIVE";
    readonly UPCOMING: "UPCOMING";
    readonly RESOLVED: "RESOLVED";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type FetchActiveEcosystemDowntimesIncidentStatusEnum = typeof FetchActiveEcosystemDowntimesIncidentStatusEnum[keyof typeof FetchActiveEcosystemDowntimesIncidentStatusEnum];
/**
 * @export
 */
export declare const FetchActiveEcosystemDowntimesIncidentImpactEnum: {
    readonly HIGH: "HIGH";
    readonly MEDIUM: "MEDIUM";
    readonly LOW: "LOW";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type FetchActiveEcosystemDowntimesIncidentImpactEnum = typeof FetchActiveEcosystemDowntimesIncidentImpactEnum[keyof typeof FetchActiveEcosystemDowntimesIncidentImpactEnum];
/**
 * @export
 */
export declare const FetchActiveEcosystemDowntimesIncidentTypeEnum: {
    readonly SCHEDULED: "SCHEDULED";
    readonly UNSCHEDULED: "UNSCHEDULED";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type FetchActiveEcosystemDowntimesIncidentTypeEnum = typeof FetchActiveEcosystemDowntimesIncidentTypeEnum[keyof typeof FetchActiveEcosystemDowntimesIncidentTypeEnum];
/**
 * @export
 */
export declare const FetchActiveEcosystemDowntimesPaymentMethodEnum: {
    readonly UPI: "UPI";
    readonly CARD: "CARD";
    readonly NET_BANKING: "NET_BANKING";
    readonly WALLET: "WALLET";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type FetchActiveEcosystemDowntimesPaymentMethodEnum = typeof FetchActiveEcosystemDowntimesPaymentMethodEnum[keyof typeof FetchActiveEcosystemDowntimesPaymentMethodEnum];
/**
 * TokenVaultApi - object-oriented interface
 * @export
 * @class TokenVaultApi
 * @extends {BaseAPI}
 */
/**
 * @export
 */
export declare const PGCustomerFetchInstrumentsInstrumentTypeEnum: {
    readonly CARD: "card";
    readonly UNKNOWN_DEFAULT_OPEN_API: "11184809";
};
export type PGCustomerFetchInstrumentsInstrumentTypeEnum = typeof PGCustomerFetchInstrumentsInstrumentTypeEnum[keyof typeof PGCustomerFetchInstrumentsInstrumentTypeEnum];
export declare class PGWebhookEvent {
    type: string;
    raw: string;
    object: any;
    constructor(type: string, rawBody: string, object: any);
}
export declare class Cashfree {
    axios: AxiosInstance;
    basePath: string;
    XClientId?: string;
    XClientSecret?: string;
    XPartnerKey?: string;
    XClientSignature?: string;
    XPartnerMerchantId?: string;
    XEnvironment: CFEnvironment;
    XEnableErrorAnalytics: boolean;
    XApiVersion: string;
    constructor(XEnvironment: CFEnvironment, XClientId?: string, XClientSecret?: string, XPartnerKey?: string, XClientSignature?: string, XPartnerMerchantId?: string, XEnableErrorAnalytics?: boolean, axios?: AxiosInstance);
    /**
     * Use this API to verify your webhook signature once you receive from Cashfree's server.
     * @summary Verify Webhook Signatures
     * @param {string} signature that is present in the header of the webhook ("x-webhook-signature")
     * @param {string} rawBody is the entire body sent to the server in string format
     * @param {string} timestamp that is present in the header of the webhook ("x-webhook-timestamp")
     * @throws {Error}
     */
    PGVerifyWebhookSignature(signature: string, rawBody: string, timestamp: string): PGWebhookEvent;
    /**
     * Use this API to register a customer in Cashfree\'s system before initiating payments, subscriptions, tokenisation, or other customer-linked actions. It creates a reusable *customer profile* and returns a unique identifier for future transactions.
     * @summary Create Customer at Cashfree
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {CreateCustomerRequest} CreateCustomerRequest Request to create a new customer at Cashfree.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CustomersApi
     */
    PGCreateCustomer(CreateCustomerRequest: CreateCustomerRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<CustomerEntity, any, {}>>;
    /**
     * Use this API to get accept the Dispute by specifying the Dispute ID.
     * @summary Accept Dispute by Dispute ID
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {number} dispute_id
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DisputesApi
     */
    PGAcceptDisputeByID(dispute_id: number, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<DisputesEntityMerchantAccepted, any, {}>>;
    /**
     * Use this API to get Dispute details by specifying the Dispute ID.
     * @summary Get Disputes by Dispute ID
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {number} dispute_id
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DisputesApi
     */
    PGFetchDisputeByID(dispute_id: number, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<DisputesEntity, any, {}>>;
    /**
     * Use this API to get all Dispute details by specifying the Order ID.
     * @summary Get Disputes by Order ID
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DisputesApi
     */
    PGFetchOrderDisputes(order_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<DisputesEntity[], any, {}>>;
    /**
     * Use this API to get all Dispute details by specifying the Payment ID.
     * @summary Get Disputes by Payment ID
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {number} cf_payment_id
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DisputesApi
     */
    PGFetchPaymentDisputes(cf_payment_id: number, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<DisputesEntity[], any, {}>>;
    /**
     * Use this API to Submit the Evidences to contest the Dispute by specifying the Dispute ID.
     * @summary Submit Evidence to contest the Dispute by Dispute ID
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {number} dispute_id
     * @param {string} file File types supported are jpeg, jpg, png, pdf and maximum file size allowed is 20 MB.
     * @param {string} doc_type Mention the type of the document you are uploading. Possible values :- Delivery/Service Proof, Shipping Proof, Statement of Service, Proof of Service Used, Cancellation of Service Proof, Refund Proof, Business model explanation, Extra Charges Declaration, Terms &amp; Conditions, Customer Withdrawal Letter, Certificate of Authenticity, Reseller Agreement. You can use get evidences to contest dispute API to fetch set of documents required to contest particular dispute.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {string} [note]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DisputesApi
     */
    PGUploadDisputesDocuments(dispute_id: number, file: string, doc_type: string, x_request_id?: string, x_idempotency_key?: string, note?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<DisputesEntity[], any, {}>>;
    /**
     * Fetches active downtimes across various payment methods based on filters. Gives all active downtimes when no filters are applied.
     * @summary Fetch All Downtimes
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {string} [incident_id] Valid incident id for fetching incident details.
     * @param {Array<FetchActiveEcosystemDowntimesIncidentStatusEnum>} [incident_status] Filter incidents by status. Possible values: ACTIVE, UPCOMING, RESOLVED.
     * @param {Array<FetchActiveEcosystemDowntimesIncidentImpactEnum>} [incident_impact] Filter incidents by impact level. Possible values: HIGH, MEDIUM, LOW.
     * @param {Array<FetchActiveEcosystemDowntimesIncidentTypeEnum>} [incident_type] Filter incidents by type. Possible values: SCHEDULED, UNSCHEDULED.
     * @param {string} [incident_start_time] Filter incidents by start time. Format: YYYY-MM-DD HH:MM:SS.
     * @param {string} [incident_end_time] Filter incidents by end time. Format: YYYY-MM-DD HH:MM:SS.
     * @param {Array<FetchActiveEcosystemDowntimesPaymentMethodEnum>} [payment_method] Filter incidents by payment method. Possible values: UPI, CARD, NET_BANKING, WALLET.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DowntimeApi
     */
    FetchActiveEcosystemDowntimes(x_request_id?: string, x_idempotency_key?: string, incident_id?: string, incident_status?: Array<FetchActiveEcosystemDowntimesIncidentStatusEnum>, incident_impact?: Array<FetchActiveEcosystemDowntimesIncidentImpactEnum>, incident_type?: Array<FetchActiveEcosystemDowntimesIncidentTypeEnum>, incident_start_time?: string, incident_end_time?: string, payment_method?: Array<FetchActiveEcosystemDowntimesPaymentMethodEnum>, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<FetchActiveEcosystemDowntimes200Response, any, {}>>;
    /**
     * The Create Adjustment API will create a adjustment request either from vendor to the merchant or from merchant to the vendor.
     * @summary Create Adjustment
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} vendor_id The id which uniquely identifies your vendor.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {VendorAdjustmentRequest} [VendorAdjustmentRequest] Vendor Adjustment Request Body.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGESCreateAdjustment(vendor_id: string, x_request_id?: string, x_idempotency_key?: string, VendorAdjustmentRequest?: VendorAdjustmentRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<VendorAdjustmentSuccessResponse, any, {}>>;
    /**
     * The Create On Demand Transfer API will create a new on-demand request either from to the merchant or from to the vendor.
     * @summary Create On Demand Transfer
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} vendor_id The id which uniquely identifies your vendor.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {AdjustVendorBalanceRequest} [AdjustVendorBalanceRequest] Adjust Vendor Balance Request Body.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGESCreateOnDemandTransfer(vendor_id: string, x_request_id?: string, x_idempotency_key?: string, AdjustVendorBalanceRequest?: AdjustVendorBalanceRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<AdjustVendorBalanceResponse, any, {}>>;
    /**
     * Use this API to create a new vendor to your EasySplit account along with the KYC details. Provide KYC details such as account_type, business_type, gst, cin, pan, passport number and so on.
     * @summary Create vendor
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {CreateVendorRequest} [CreateVendorRequest] Create Vendor Request Body.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGESCreateVendors(x_request_id?: string, x_idempotency_key?: string, CreateVendorRequest?: CreateVendorRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateVendorResponse, any, {}>>;
    /**
     * Use this API to download the uploaded KYC documents of that particular vendor. Provide the document type. Click the link from the sample request to download the KYC document.
     * @summary Download Vendor Documents
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} doc_type Mention the document type that has to be downloaded. Only an uploaded document can be downloaded.
     * @param {string} vendor_id The id which uniquely identifies your vendor.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGESDownloadVendorsDocs(doc_type: string, vendor_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<VendorDocumentDownloadResponse, any, {}>>;
    /**
     * Use this API to get the details of a specific vendor associated with your Easy Split account.
     * @summary Get Vendor All Details
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} vendor_id The id which uniquely identifies your vendor.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGESFetchVendors(vendor_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<VendorEntity, any, {}>>;
    /**
     * This API fetches the available amount with the merchant, vendor, and the unsettled amount for the merchant as well as the vendor.
     * @summary Get On Demand Balance
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} vendor_id The id which uniquely identifies your vendor.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGESGetVendorBalance(vendor_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<VendorBalance, any, {}>>;
    /**
     * This API returns the applicable service charge and service tax for a vendor balance transfer, based on the provided amount and rate type.
     * @summary Get Vendor Balance Transfer Charges
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {number} amount Specify the amount for which you want to view the service charges and service taxes in the response.
     * @param {string} rate_type Mention the type of rate for which you want to check the charges. Possible value: VENDOR_ON_DEMAND.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGESGetVendorBalanceTransferCharges(amount: number, rate_type: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<VendorBalanceTransferCharges, any, {}>>;
    /**
     * Use this API to fetch the details of all the KYC details of a particular vendor.
     * @summary Get Vendor All Documents Status
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} vendor_id The id which uniquely identifies your vendor.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGESGetVendorsDocs(vendor_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<VendorDocumentsResponse, any, {}>>;
    /**
     * Use this API to get all the split details, settled and unsettled transactions details of each vendor who were part of a particular order by providing order Id or start date and end date.
     * @summary Get Split and Settlement Details by OrderID v2.0
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {ESOrderReconRequest} [ESOrderReconRequest] Get Split and Settlement Details by OrderID v2.0.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGESOrderRecon(x_request_id?: string, x_idempotency_key?: string, ESOrderReconRequest?: ESOrderReconRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<ESOrderReconResponse, any, {}>>;
    /**
     * Use this API to edit the existing vendor details added to your EasySplit account. You can edit vendor details such as name, email, phone number, upi details, and any of the KYC details.
     * @summary Update vendor Details
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} vendor_id The id which uniquely identifies your vendor.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {UpdateVendorRequest} [UpdateVendorRequest] Create Vendor Request Body.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGESUpdateVendors(vendor_id: string, x_request_id?: string, x_idempotency_key?: string, UpdateVendorRequest?: UpdateVendorRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UpdateVendorResponse, any, {}>>;
    /**
     * Use this API to upload KYC documents of a specific vendor.
     * @summary Upload Vendor Docs
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} vendor_id The id which uniquely identifies your vendor.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {string} [doc_type] Mention the type of the document you are uploading. Possible values: UIDAI_FRONT, UIDAI_BACK, UIDAI_NUMBER, DL, DL_NUMBER, PASSPORT_FRONT, PASSPORT_BACK, PASSPORT_NUMBER, VOTER_ID, VOTER_ID_NUMBER, PAN, PAN_NUMBER, GST, GSTIN_NUMBER, CIN, CIN_NUMBER, NBFC_CERTIFICATE. If the doc type ends with a number you should add the doc value else upload the doc file.
     * @param {string} [doc_value] Enter the display name of the uploaded file.
     * @param {File} [file] Select the document that should be uploaded or provide the path of that file. You cannot upload a file that is more than 2MB in size.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGESUploadVendorsDocs(vendor_id: string, x_request_id?: string, x_idempotency_key?: string, doc_type?: string, doc_value?: string, file?: File, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UploadVendorDocumentsResponse, any, {}>>;
    /**
     * The Split After Payment API splits payments to vendors after customers successfully complete a payment. After you receive a successful payment confirmation, wait 2 minutes before you call this API endpoint.
     * @summary Split After Payment
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {SplitAfterPaymentRequest} [SplitAfterPaymentRequest] Request Body to Create Split for an order.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGOrderSplitAfterPayment(order_id: string, x_request_id?: string, x_idempotency_key?: string, SplitAfterPaymentRequest?: SplitAfterPaymentRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SplitAfterPaymentResponse, any, {}>>;
    /**
     * This API will create a static split scheme wherein you can define the split type and the vendor-wise split percentage.
     * @summary Create Static Split Configuration
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {StaticSplitRequest} [StaticSplitRequest] Static Split.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGOrderStaticSplit(x_request_id?: string, x_idempotency_key?: string, StaticSplitRequest?: StaticSplitRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<StaticSplitResponse, any, {}>>;
    /**
     * Use this API to get all the split details, settled and unsettled transactions details of each vendor who were part of a particular order by providing order Id or start date and end date.
     * @summary Get Split and Settlement Details by OrderID
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EasySplitApi
     */
    PGSplitOrderRecon(order_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SplitOrderReconSuccessResponse, any, {}>>;
    /**
     * Use this API to get eligible Cardless EMI Payment Methods available for a customer on an order basis their phone number.
     * @summary Get Eligible Cardless EMI Payment Methods for a customer on an order
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {EligibilityFetchCardlessEMIRequest} EligibilityFetchCardlessEMIRequest Request Body to get eligible cardless emi options for a customer and order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EligibilityApi
     */
    PGEligibilityFetchCardlessEMI(EligibilityFetchCardlessEMIRequest: EligibilityFetchCardlessEMIRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<EligibilityCardlessEMIEntity[], any, {}>>;
    /**
     * Use this API to get eligible offers for an order_id or order amount.
     * @summary Get Eligible Offers for an Order
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {EligibilityFetchOffersRequest} EligibilityFetchOffersRequest Request Body to get eligible offers for a customer and order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EligibilityApi
     */
    PGEligibilityFetchOffers(EligibilityFetchOffersRequest: EligibilityFetchOffersRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<EligibilityOfferEntity[], any, {}>>;
    /**
     * Use this API to get eligible Paylater Payment Methods for a customer on an order.
     * @summary Get Eligible Paylater for a customer on an order
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {EligibilityFetchPaylaterRequest} EligibilityFetchPaylaterRequest Request Body to get eligible paylater options for a customer and order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EligibilityApi
     */
    PGEligibilityFetchPaylater(EligibilityFetchPaylaterRequest: EligibilityFetchPaylaterRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<EligibilityPaylaterEntity[], any, {}>>;
    /**
     * Use this API to get eligible Payment Methods.
     * @summary Get eligible Payment Methods
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {EligibilityFetchPaymentMethodsRequest} EligibilityFetchPaymentMethodsRequest Request Body to get eligible payment methods for an account and order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {string} [x_client_device] The type of device on which the payment is initiated.
     * @param {string} [x_client_os] The operating system of the client device used to make the payment.
     * @param {string} [x_client_rendering_type] Indicates how the payment experience is rendered to the user. - mweb – Payment rendered in a mobile browser (browser on a mobile device) - webview – Payment rendered inside an in-app browser (WebView within a merchant app) - native – Payment rendered natively within the merchant’s mobile app using SDKs.
     * @param {string} [x_client_browser] The browser used to initiate the payment.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EligibilityApi
     */
    PGEligibilityFetchPaymentMethods(EligibilityFetchPaymentMethodsRequest: EligibilityFetchPaymentMethodsRequest, x_request_id?: string, x_idempotency_key?: string, x_client_device?: string, x_client_os?: string, x_client_rendering_type?: string, x_client_browser?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<EligibilityPaymentMethodsEntity[], any, {}>>;
    /**
     * Fetches details of a specific downtime using its unique ID.
     * @summary Fetch Downtime by ID
     * @param {string} id The unique identifier of the downtime.
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IntellisenseApi
     */
    FetchDowntimeById(id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<IncidentByIdResponse, any, {}>>;
    /**
     * Use this API to create offers with Cashfree from your backend.
     * @summary Create Offer
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {CreateOfferRequest} CreateOfferRequest Request body to create an offer at Cashfree.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OffersApi
     */
    PGCreateOffer(CreateOfferRequest: CreateOfferRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<OfferEntity, any, {}>>;
    /**
     * Use this API to get offer by offer_id.
     * @summary Get Offer by ID
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} offer_id The offer ID for which you want to view the offer details.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OffersApi
     */
    PGFetchOffer(offer_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<OfferEntity, any, {}>>;
    /**
     *   An order is an entity which has a amount and currency associated with it. It is something for which you want to collect payment for. Use this API to create orders with Cashfree from your backend to get a `payment_sessions_id`.  You can use the `payment_sessions_id` to create a transaction for the order.
     * @summary Create Order
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {CreateOrderRequest} CreateOrderRequest
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrdersApi
     */
    PGCreateOrder(CreateOrderRequest: CreateOrderRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderEntity, any, {}>>;
    /**
     * Use this API to fetch the order that was created at Cashfree\'s using the `order_id`.  ## When to use this API - To check the status of your order
     * @summary Get Order
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrdersApi
     */
    PGFetchOrder(order_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderEntity, any, {}>>;
    /**
     * Use this API to fetch the order related data like address,cart,offers,customer details etc using the Cashfree\'s `order_id`. ## When to use this API - To get the extended data associated with order.
     * @summary Get Order Extended
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrdersApi
     */
    PGFetchOrderExtendedData(order_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderExtendedDataEntity, any, {}>>;
    /**
     * Use this API to terminate the order that was created at Cashfree\'s using the `order_id`.
     * @summary Terminate Order
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {TerminateOrderRequest} TerminateOrderRequest Request to terminate an active order at Cashfree.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrdersApi
     */
    PGTerminateOrder(order_id: string, TerminateOrderRequest: TerminateOrderRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderEntity, any, {}>>;
    /**
     * Use this api to update the order related data like shipment details,order delivery status etc. ## When to use this API - To provide/update the shipment details or order delivery status. - Once the order is PAID.
     * @summary Update Order Extended
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {UpdateOrderExtendedRequest} UpdateOrderExtendedRequest Request body to update extended data related to order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrdersApi
     */
    PGUpdateOrderExtendedData(order_id: string, UpdateOrderExtendedRequest: UpdateOrderExtendedRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UpdateOrderExtendedDataEntity, any, {}>>;
    /**
     * - Use this API to get the payment gateway reconciliation details with date range. - It will have events for your payment account
     * @summary PG Reconciliation
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {FetchReconRequest} FetchReconRequest Request Body for the reconciliation.
     * @param {string} [Content_Type] application/json.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {string} [Accept] application/json.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PGReconciliationApi
     */
    PGFetchRecon(FetchReconRequest: FetchReconRequest, Content_Type?: string, x_request_id?: string, x_idempotency_key?: string, Accept?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<ReconEntity, any, {}>>;
    /**
     * Use this API to cancel a payment link. No further payments can be done against a cancelled link. Only a link in ACTIVE status can be cancelled.
     * @summary Cancel Payment Link
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} link_id The payment link ID for which you want to view the details.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentLinksApi
     */
    PGCancelLink(link_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<LinkEntity, any, {}>>;
    /**
     * Use this API to create a new payment link. The created payment link url will be available in the API response parameter link_url.
     * @summary Create Payment Link
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {CreateLinkRequest} CreateLinkRequest Request body to create payment links at Cashfree.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentLinksApi
     */
    PGCreateLink(CreateLinkRequest: CreateLinkRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<LinkEntity, any, {}>>;
    /**
     * Use this API to view all details and status of a payment link.
     * @summary Fetch Payment Link Details
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} link_id The payment link ID for which you want to view the details.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentLinksApi
     */
    PGFetchLink(link_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<LinkEntity, any, {}>>;
    /**
     * Use this API to view all order details for a payment link.
     * @summary Get Orders for a Payment Link
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} link_id The payment link ID for which you want to view the details.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {string} [status] Mention What is status of orders you want to fetch, default is PAID. Possible value: ALL, PAID.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentLinksApi
     */
    PGLinkFetchOrders(link_id: string, x_request_id?: string, x_idempotency_key?: string, status?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PaymentLinkOrderEntity[], any, {}>>;
    /**
     * Use this API to capture or void a [pre-authorised](/docs/payments/features/pre-authorisation) payment.
     * @summary Preauthorisation
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {AuthorizeOrderRequest} AuthorizeOrderRequest
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentsApi
     */
    PGAuthorizeOrder(order_id: string, AuthorizeOrderRequest: AuthorizeOrderRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PaymentEntity, any, {}>>;
    /**
     * Use this API to submit or resend OTP if you use [Native OTP](https://www.cashfree.com/docs/payments/features/native-otp) for authentication of card payments.
     * @summary Submit or Resend OTP
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} cf_payment_id The Cashfree payment or transaction ID.
     * @param {OrderAuthenticatePaymentRequest} OrderAuthenticatePaymentRequest Request body to submit or resend OTP in Native OTP flow.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentsApi
     */
    PGOrderAuthenticatePayment(cf_payment_id: string, OrderAuthenticatePaymentRequest: OrderAuthenticatePaymentRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderAuthenticateEntity, any, {}>>;
    /**
     * Use this API to view payment details of an order for a payment ID.
     * @summary Get Payment by ID
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {string} cf_payment_id The Cashfree payment or transaction ID.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentsApi
     */
    PGOrderFetchPayment(order_id: string, cf_payment_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PaymentEntity, any, {}>>;
    /**
     * Use this API to view all payment details for an order.
     * @summary Get Payments for an Order
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentsApi
     */
    PGOrderFetchPayments(order_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PaymentEntity[], any, {}>>;
    /**
     * Use this API when you have already created the order using [Create Order API](https://www.cashfree.com/docs/api-reference/payments/latest/orders/create) and want Cashfree to process the payment. To use this API S2S flag needs to be enabled from the backend. In case you want to use this API for plain cards payments also, the PCI DSS flag is required, for more information fill out the [Support Form](https://merchant.cashfree.com/merchants/landing?env=prod&raise_issue=1).
     * @summary Order Pay
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {PayOrderRequest} PayOrderRequest Request body to create a transaction at Cashfree using &#x60;payment_session_id&#x60;.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {string} [x_client_device] The type of device on which the payment is initiated.
     * @param {string} [x_client_os] The operating system of the client device used to make the payment.
     * @param {string} [x_client_rendering_type] Indicates how the payment experience is rendered to the user. - mweb – Payment rendered in a mobile browser (browser on a mobile device) - webview – Payment rendered inside an in-app browser (WebView within a merchant app) - native – Payment rendered natively within the merchant’s mobile app using SDKs.
     * @param {string} [x_client_browser] The browser used to initiate the payment.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentsApi
     */
    PGPayOrder(PayOrderRequest: PayOrderRequest, x_request_id?: string, x_idempotency_key?: string, x_client_device?: string, x_client_os?: string, x_client_rendering_type?: string, x_client_browser?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PayOrderEntity, any, {}>>;
    /**
     * Use this API when an order has already been created and you want Cashfree to process the payment for authorisation only. To use this API, the \'AUTHORIZE_ONLY\' flag must be enabled for your account. Submit [Support Form](https://merchant.cashfree.com/auth/login) to enable this feature.
     * @summary Order Pay Authorise Only
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {PayOrderAuthorizeOnlyRequest} PayOrderAuthorizeOnlyRequest Request body to create an authorization only transaction at cashfree using &#x60;payment_session_id&#x60;.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentsApi
     */
    PGPayOrderAuthorizeOnly(PayOrderAuthorizeOnlyRequest: PayOrderAuthorizeOnlyRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PaymentEntity, any, {}>>;
    /**
     * This API allows you to fetch vendor reconciliation details by using different filters. Use the appropriate filters based on your requirements. After you receive a VENDOR_SETTLEMENT_SUCCESS webhook confirmation, wait 15 minutes before you call this API endpoint.  - **View Split Order Details Using Settlement ID**: Retrieve details of split orders within a settlement by Settlement ID.  - **Vendor Recon for a Time Period**: Fetch reconciliation details for all vendors within a specific time interval.  - **Vendor Recon Using Vendor ID & Time Interval**: Get reconciliation details for a specific vendor within a given time interval.
     * @summary Vendor Reconciliation API
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {VendorReconRequest} VendorReconRequest Vendor Recon Request body.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {string} [Content_Type] application/json.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReconciliationApi
     */
    PGESReconVendor(VendorReconRequest: VendorReconRequest, x_request_id?: string, x_idempotency_key?: string, Content_Type?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<VendorRecon200Response, any, {}>>;
    /**
     * Use this API to initiate refunds. <Note> You can initiate refunds only within six months of the original successful transaction\'s date and time.</Note>
     * @summary Create Refund
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {OrderCreateRefundRequest} OrderCreateRefundRequest Request Body to Create Refunds.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RefundsApi
     */
    PGOrderCreateRefund(order_id: string, OrderCreateRefundRequest: OrderCreateRefundRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<RefundEntity, any, {}>>;
    /**
     * Use this API to fetch a specific refund processed on your Cashfree Account.
     * @summary Get Refund
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {string} refund_id Refund Id of the refund you want to fetch.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RefundsApi
     */
    PGOrderFetchRefund(order_id: string, refund_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<RefundEntity, any, {}>>;
    /**
     * Use this API to fetch all refunds processed against an order.
     * @summary Get All Refunds for an Order
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RefundsApi
     */
    PGOrderFetchRefunds(order_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<RefundEntity[], any, {}>>;
    /**
     * Use this API to Update refunds.
     * @summary Update Refund
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {string} refund_id Refund Id of the refund you want to update.
     * @param {OrderUpdateRefundRequest} OrderUpdateRefundRequest Request Body to Update Refunds.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RefundsApi
     */
    PGOrderUpdateRefund(order_id: string, refund_id: string, OrderUpdateRefundRequest: OrderUpdateRefundRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<RefundEntity, any, {}>>;
    /**
     * Use this API to get all settlement details by specifying the settlement ID, settlement UTR or date range.
     * @summary Get All Settlements
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {FetchSettlementsRequest} FetchSettlementsRequest Request Body to get the settlements.
     * @param {string} [Content_Type] application/json.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {string} [Accept] application/json.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettlementReconciliationApi
     */
    PGFetchSettlements(FetchSettlementsRequest: FetchSettlementsRequest, Content_Type?: string, x_request_id?: string, x_idempotency_key?: string, Accept?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SettlementEntity, any, {}>>;
    /**
     * - Use this API to get settlement reconciliation details using Settlement ID, settlement UTR or date range. - This API will return events for the settlement IDs you want
     * @summary Settlement Reconciliation
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {SettlementFetchReconRequest} SettlementFetchReconRequest Request Body for the settlement reconciliation.
     * @param {string} [Content_Type] application/json.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {string} [Accept] application/json.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettlementReconciliationApi
     */
    PGSettlementFetchRecon(SettlementFetchReconRequest: SettlementFetchReconRequest, Content_Type?: string, x_request_id?: string, x_idempotency_key?: string, Accept?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SettlementReconEntity, any, {}>>;
    /**
     * Use this API to pass the CBRICS ID to Cashfree and mark an order for settlement.
     * @summary Mark Order For Settlement
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {CreateOrderSettlementRequestBody} [CreateOrderSettlementRequestBody] Create Order Settlement Request Body.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettlementsApi
     */
    MarkForSettlement(x_request_id?: string, x_idempotency_key?: string, CreateOrderSettlementRequestBody?: CreateOrderSettlementRequestBody, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<object, any, {}>>;
    /**
     * Use this API to view all the settlements of a particular order.
     * @summary Get Settlements by Order ID
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} order_id The ID which uniquely identifies your order.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettlementsApi
     */
    PGOrderFetchSettlement(order_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SettlementEntity, any, {}>>;
    /**
     * Use this API to fetch the details of a simulated settlement.
     * @summary Fetch Settlement Simulation
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} simulation_id Provide the SimulationId for which the details have to be fetched.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SimulationApi
     */
    PGFetchSettlementSimulation(simulation_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SettlementSimulationResponse, any, {}>>;
    /**
     * Use this API to fetch simulated payment details.
     * @summary Fetch Simulation
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} simulation_id Provide the SimulationId for which the details have to be fetched.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SimulationApi
     */
    PGFetchSimulation(simulation_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SimulationResponse, any, {}>>;
    /**
     * Use this API to simulate payment. To use this API you should first create an order using the Create Order API. Also, you need to create a payment with the same order.
     * @summary Simulate Payment
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {SimulateRequest} SimulateRequest Request body for simulation.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SimulationApi
     */
    PGSimulatePayment(SimulateRequest: SimulateRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SimulationResponse, any, {}>>;
    /**
     * Use this API to simulate a settlement in the sandbox environment. First, create a successful order, and then call this API with the order ID to simulate the settlement for that order.
     * @summary Simulate Settlement Payment
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {SimulateSettlementRequest} SimulateSettlementRequest The request body for simulating a settlement.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SimulationApi
     */
    PGSimulateSettlement(SimulateSettlementRequest: SimulateSettlementRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SettlementSimulationResponse, any, {}>>;
    /**
     * Use this API to create new terminals to use softPOS.
     * @summary Create Terminal
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {CreateTerminalRequest} CreateTerminalRequest Request Body to Create Terminal for SPOS.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposCreateTerminal(CreateTerminalRequest: CreateTerminalRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<TerminalEntity, any, {}>>;
    /**
     * Use this API to create a new terminal transaction. To use this API you should first create an order using the Create Order API. Also, you need to enter the terminal details while creating the order and pass the same terminal information while creating a transaction using the below mentioned API.
     * @summary Create Terminal Transaction
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {CreateTerminalTransactionRequest} CreateTerminalTransactionRequest Request body to create a terminal transaction.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposCreateTerminalTransaction(CreateTerminalTransactionRequest: CreateTerminalTransactionRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<TerminalTransactionEntity, any, {}>>;
    /**
     * Use this API to demap a device from soundbox.
     * @summary Demap Soundbox Vpa
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {DemapSoundboxVpaRequest} DemapSoundboxVpaRequest Request body to demap soundbox vpa.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposDemapSoundboxVpa(DemapSoundboxVpaRequest: DemapSoundboxVpaRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SoundboxVpaEntity[], any, {}>>;
    /**
     * Use this API to view all details of a terminal.
     * @summary Get Terminal Status using Phone Number
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} terminal_phone_no The terminal for which you want to view the order details.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposFetchTerminal(terminal_phone_no: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<TerminalEntity, any, {}>>;
    /**
     * You can fetch all the StaticQRs corresponding to given terminal id or phone number. Provide either the terminal_phone_no or terminal_id in the request.
     * @summary Fetch Terminal QR Codes
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} terminal_phone_no Phone number assigned to the terminal. Required if you are not providing the cf_terminal_id in the request.
     * @param {number} cf_terminal_id Cashfree terminal id for which you want to get static QRs. Required if you are not providing the terminal_phone_number in the request.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposFetchTerminalQRCodes(terminal_phone_no: string, cf_terminal_id: number, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<FetchTerminalQRCodesEntity[], any, {}>>;
    /**
     * You can fetch all the active and mapped SoundboxVpa corresponding to given terminal id or deviceSerialNo. Provide either the device_serial_no or cf_terminal_id in the request.
     * @summary Fetch Terminal Soundbox vpa
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} device_serial_no Device Serial No assinged. Required if you are not providing the cf_terminal_id in the request.
     * @param {number} cf_terminal_id Cashfree terminal id for which you want to get Soundbox Vpa. Required if you are not providing the device_serial_no in the request.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposFetchTerminalSoundboxVpa(device_serial_no: string, cf_terminal_id: number, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SoundboxVpaEntity[], any, {}>>;
    /**
     * Use this API to get  terminal transaction.
     * @summary Get Terminal Transaction
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} utr Utr of the transaction.
     * @param {number} cf_terminal_id Provide the Cashfree terminal ID for which the details have to be updated.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposFetchTerminalTransaction(utr: string, cf_terminal_id: number, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<TerminalPaymentEntity, any, {}>>;
    /**
     * Use this API to fetch a paginated list of terminal payment transactions. You can filter results by date range, terminal details, payment status, and other criteria.
     * @summary Get list of terminal transactions
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {GetAllTerminalTransactionRequest} [GetAllTerminalTransactionRequest] Request body for retrieving terminal payment transactions. Include filtering and pagination options to customise the results.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposFetchTerminalTransactions(x_request_id?: string, x_idempotency_key?: string, GetAllTerminalTransactionRequest?: GetAllTerminalTransactionRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<GetAllTerminalPaymentEntity[], any, {}>>;
    /**
     * Use this API to onboard a terminal Vpa to soundbox.
     * @summary Onboard Soundbox Vpa
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {OnboardSoundboxVpaRequest} OnboardSoundboxVpaRequest Request body to onboard soundbox vpa.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposOnboardSoundboxVpa(OnboardSoundboxVpaRequest: OnboardSoundboxVpaRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SoundboxVpaEntity, any, {}>>;
    /**
     * Use this API to update a terminal Vpa to soundbox.
     * @summary Update Soundbox Vpa
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {number} cf_terminal_id Provide the Cashfree terminal ID for which the details have to be updated.
     * @param {UpdateSoundboxVpaRequest} UpdateSoundboxVpaRequest Request body to update soundbox vpa.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposUpdateSoundboxVpa(cf_terminal_id: number, UpdateSoundboxVpaRequest: UpdateSoundboxVpaRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SoundboxVpaEntity, any, {}>>;
    /**
     * Use this API to update the terminal details. Email, Phone Number, and Terminal Meta are updatable for \"Storefront\". Only account status change is possible in case of \"Agent\".
     * @summary Update Terminal
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {number} cf_terminal_id Provide the Cashfree terminal ID for which the details have to be updated.
     * @param {UpdateTerminalRequest} UpdateTerminalRequest Request Body to update terminal for SPOS.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposUpdateTerminal(cf_terminal_id: number, UpdateTerminalRequest: UpdateTerminalRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UpdateTerminalEntity[], any, {}>>;
    /**
     * Use this API to update the terminal status.
     * @summary Update Terminal Status
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {number} cf_terminal_id Provide the Cashfree terminal ID for which the details have to be updated.
     * @param {UpdateTerminalStatusRequest} UpdateTerminalStatusRequest Request Body to update terminal status for SPOS.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposUpdateTerminalStatus(cf_terminal_id: number, UpdateTerminalStatusRequest: UpdateTerminalStatusRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UpdateTerminalEntity[], any, {}>>;
    /**
     * Use this API to upload the terminal documents.
     * @summary Upload Terminal Docs
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {number} cf_terminal_id Provide the Cashfree terminal ID for which the details have to be updated.
     * @param {UploadTerminalDocs} UploadTerminalDocs Request Body to update terminal documents for SPOS.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SoftPOSApi
     */
    SposUploadTerminalDocs(cf_terminal_id: number, UploadTerminalDocs: UploadTerminalDocs, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UploadTerminalDocsEntity[], any, {}>>;
    /**
     * Use this API to create an auth or to raise a charge.
     * @summary Raise a Charge or Create an Auth
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {CreateSubscriptionPaymentRequest} CreateSubscriptionPaymentRequest Request body to create a subscription payment.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsCreatePayment(CreateSubscriptionPaymentRequest: CreateSubscriptionPaymentRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateSubscriptionPaymentResponse, any, {}>>;
    /**
     * A plan allows your customer to identify the features you offer along with your pricing. You can create plans as per the pricing you support for your services. For each plan, you can set a pre-decided frequency and amount with which they’ll be charged. Example: Netflix Plans : Premium, Basic, Standard, Mobile. Each plan differs and caters for a particular set of audiences.
     * @summary Create a Plan
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {CreatePlanRequest} CreatePlanRequest
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsCreatePlan(CreatePlanRequest: CreatePlanRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PlanEntity, any, {}>>;
    /**
     * This API allows you to create refund on a successful payment. Refund amount can be partial or the full amount of the payment.
     * @summary Create a Refund
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} subscription_id Provide the SubscriptionId using which the subscription was created.
     * @param {CreateSubscriptionRefundRequest} CreateSubscriptionRefundRequest
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsCreateRefund(subscription_id: string, CreateSubscriptionRefundRequest: CreateSubscriptionRefundRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SubscriptionPaymentRefundEntity, any, {}>>;
    /**
     * Use this API to create a new subscription.
     * @summary Create Subscription
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {CreateSubscriptionRequest} CreateSubscriptionRequest
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsCreateSubscription(CreateSubscriptionRequest: CreateSubscriptionRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SubscriptionEntity, any, {}>>;
    /**
     * Use this API to fetch plan details.
     * @summary Fetch Plan
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} plan_id Provide the plan ID for which the details have to be fetched.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsFetchPlan(plan_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PlanEntity, any, {}>>;
    /**
     * Use this API to fetch subscription details.
     * @summary Fetch Subscription
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} subscription_id Provide the SubscriptionId using which the subscription was created.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsFetchSubscription(subscription_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SubscriptionEntity, any, {}>>;
    /**
     * Use this API to fetch details of a single payment of a subscription.
     * @summary Fetch Details of a Single Payment
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} subscription_id Provide the SubscriptionId using which the subscription was created.
     * @param {string} payment_id Provide the PaymentId using which the payment was created.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsFetchSubscriptionPayment(subscription_id: string, payment_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SubscriptionPaymentEntity, any, {}>>;
    /**
     * Use this API to fetch all payments of a subscription.
     * @summary Fetch Details of All Payments of a Subscription
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} subscription_id Provide the SubscriptionId using which the subscription was created.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsFetchSubscriptionPayments(subscription_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SubscriptionPaymentEntity[], any, {}>>;
    /**
     * Use this API to fetch details of a refund of a subscription payment.
     * @summary Fetch Details of a Refund
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} subscription_id Provide the SubscriptionId using which the subscription was created.
     * @param {string} refund_id Provide the PaymentId for which the details have to be fetched.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsFetchSubscriptionRefund(subscription_id: string, refund_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SubscriptionPaymentRefundEntity, any, {}>>;
    /**
     * Use this API to generate transaction return summary for failed transactions (insufficient balance).
     * @summary Generate Transaction Return Summary
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} payment_id Provide the PaymentId using which the payment was created.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsFetchSubscription0(payment_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<TransactionReturnSummary200Response, any, {}>>;
    /**
     * Use this API to manage subscriptions. You can cancel, pause, activate, or change the plan associated with a subscription. To update the recurring amount for a periodic subscription: 1. Create a new plan with the revised amount. 2. Use the Manage Subscription API to associate the subscription with the new plan. 3. Include the `CHANGE_PLAN` action and the new `plan_id` in the request body.
     * @summary Manage Subscription
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} subscription_id Provide the SubscriptionId using which the subscription was created.
     * @param {ManageSubscriptionRequest} ManageSubscriptionRequest
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsManageSubscription(subscription_id: string, ManageSubscriptionRequest: ManageSubscriptionRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SubscriptionEntity, any, {}>>;
    /**
     * Use this API to manage a payment of a subscription. A payment can be cancelled or retried with this API.
     * @summary Manage a Single Payment
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} subscription_id Provide the SubscriptionId using which the subscription was created.
     * @param {string} payment_id Provide the PaymentId using which the payment was created.
     * @param {ManageSubscriptionPaymentRequest} ManageSubscriptionPaymentRequest
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubsManageSubscriptionPayment(subscription_id: string, payment_id: string, ManageSubscriptionPaymentRequest: ManageSubscriptionPaymentRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SubscriptionPaymentEntity, any, {}>>;
    /**
     * Use this API to upload file for Physical Nach Authorization.
     * @summary Upload file for Physical Nach Authorisation
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} payment_id Provide the PaymentId using which the payment was created.
     * @param {File} file Select the .jpg file that should be uploaded or provide the path of that file. You cannot upload a file that is more than 1MB in size.
     * @param {string} payment_id2 Authorization Payment Id for physical nach authorization.
     * @param {string} action Action to be performed on the file. Can be SUBMIT_DOCUMENT.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubscriptionDocumentUpload(payment_id: string, file: File, payment_id2: string, action: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UploadPnachImageResponse, any, {}>>;
    /**
     * Use this API to check if a payment method is enabled for your account.
     * @summary Get All the Payment Method Details Available for Subscription Payments
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {SubscriptionEligibilityRequest} SubscriptionEligibilityRequest Request body to fetch subscription eligibile payment method details.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionApi
     */
    SubscriptionEligibility(SubscriptionEligibilityRequest: SubscriptionEligibilityRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<SubscriptionEligibilityResponse, any, {}>>;
    /**
     * Use this API to delete a specific saved card stored for the customer in Cashfree’s [Token Vault](https://www.cashfree.com/docs/payments/features/token-vault).
     * @summary Delete Saved Card Instrument
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} customer_id The customer ID provided by the merchant during the [Create Order API](https://www.cashfree.com/docs/api-reference/payments/latest/orders/create) call, used to save cards for the customer.
     * @param {string} instrument_id The instrument_id which needs to be deleted.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TokenVaultApi
     */
    PGCustomerDeleteInstrument(customer_id: string, instrument_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<DeletedInstrumentEntity, any, {}>>;
    /**
     * Use this API to fetch a specific saved card stored for the customer in Cashfree’s [Token Vault](https://www.cashfree.com/docs/payments/features/token-vault).
     * @summary Fetch Specific Saved Card Instrument
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} customer_id The customer ID provided by the merchant during the [Create Order API](https://www.cashfree.com/docs/api-reference/payments/latest/orders/create) call, used to save cards for the customer.
     * @param {string} instrument_id The instrument_id of the saved instrument which needs to be queried.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TokenVaultApi
     */
    PGCustomerFetchInstrument(customer_id: string, instrument_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<InstrumentEntity, any, {}>>;
    /**
     * Use this API to fetch all saved cards stored for the customer in Cashfree’s [Token Vault](https://www.cashfree.com/docs/payments/features/token-vault).
     * @summary Fetch All Saved Card Instrument
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} customer_id The customer ID provided by the merchant during the [Create Order API](https://www.cashfree.com/docs/api-reference/payments/latest/orders/create) call, used to save cards for the customer.
     * @param {PGCustomerFetchInstrumentsInstrumentTypeEnum} instrument_type Payment mode or type of saved instrument.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TokenVaultApi
     */
    PGCustomerFetchInstruments(customer_id: string, instrument_type: PGCustomerFetchInstrumentsInstrumentTypeEnum, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<InstrumentEntityForAllSavedCard[], any, {}>>;
    /**
     * Use this API to retrieve the token and cryptogram for a specific saved card stored in Cashfree\'s [Token Vault](https://www.cashfree.com/docs/payments/features/token-vault).
     * @summary Fetch Cryptogram for a Saved Card Instrument
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {string} customer_id The customer ID provided by the merchant during the [Create Order API](https://www.cashfree.com/docs/api-reference/payments/latest/orders/create) call, used to save cards for the customer.
     * @param {string} instrument_id Identifier for the specific card to fetch its details.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TokenVaultApi
     */
    PGCustomerInstrumentsFetchCryptogram(customer_id: string, instrument_id: string, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<CryptogramEntity, any, {}>>;
    /**
     * Use this API to get [Payment Account Reference (PAR)](https://www.cashfree.com/docs/payments/features/payment-account-reference) by providing plain card details.
     * @summary Get PAR
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {PARRequest} PARRequest Request parameters for creating PAR.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UtilitiesApi
     */
    PGCreatePAR(PARRequest: PARRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PGCreatePAR200Response, any, {}>>;
    /**
     * Use this API to get [Card BIN](https://www.cashfree.com/docs/payments/features/utility-apis) (Bank Identification Number) details.
     * @summary Get Card BIN Details
     * @param {string} x_api_version API version to be used. Format is in YYYY-MM-DD.
     * @param {GetCardBinRequest} GetCardBinRequest Request parameters to get card BIN details.
     * @param {string} [x_request_id] Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
     * @param {string} [x_idempotency_key] An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UtilitiesApi
     */
    PGGetCardBin(GetCardBinRequest: GetCardBinRequest, x_request_id?: string, x_idempotency_key?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<GetCardBinResponseSchema, any, {}>>;
}
