import React from 'react';
import { PaymentDetails, PaymentMethodData } from '../AccountPayment.model';
import { PaymentTenderTypeEnum } from '../../../../enums/paymentTenderTypeEnum';
interface iCheckFormProps {
    paymentMethod?: PaymentTenderTypeEnum;
    onStatusChange?: (paymentFormResult: any) => void;
    paymentDetails: PaymentDetails;
    baseUrl: string;
    customCss?: string;
    attributes?: any;
    paymentData?: PaymentMethodData;
}
/**
 * `ICheckForm` Component
 *
 * Renders an iframe for payment processing via the iCheckGateway. Depending on the payment method, it dynamically generates the iframe URL with the appropriate query parameters. The component also listens for messages from the iframe, handling payment data or errors.
 *
 * @param {Object} props The properties passed to the component.
 * @param {PaymentTenderTypeEnum} [paymentMethod=PaymentTenderTypeEnum.CreditCard] Specifies the type of payment method, influencing the iframe endpoint.
 * @param {Object} [onStatusChange=null] Callback function to handle the status change event.
 * @param {Object} [paymentDetails=null] An object containing customer details such as firstName, lastName, email, etc.
 * @param {string} [baseUrl="https://iframe.icheckgateway.com"] The base URL for the payment gateway iframe.
 * @param {string} [customCss=defaultCssStyles] Custom CSS styles to be applied within the iframe.
 * @param {Object} [attributes=null] An object containing additional payment attributes such as appId, appSecret, custId, etc. These are dynamically appended to the iframe URL as query parameters.
 * @param {string} [attributes.appId] Application ID for the payment gateway.
 * @param {string} [attributes.appSecret] Application secret for the payment gateway.
 * @param {string} [attributes.custId] Customer ID.
 * @param {string} [attributes.saveTokenDisabled] Flag to disable token saving.
 * @param {string} [attributes.firstName] Customer's first name.
 * @param {string} [attributes.lastName] Customer's last name.
 * @param {string} [attributes.email] Customer's email address.
 * @param {string} [attributes.company] Customer's company name.
 * @param {string} [attributes.street1] Customer's street address line 1.
 * @param {string} [attributes.street2] Customer's street address line 2.
 * @param {string} [attributes.city] Customer's city.
 * @param {string} [attributes.custom1] A custom field for additional data.
 * @param {string} [attributes.amount] Payment amount.
 * @param {string} [attributes.salesTax] Applicable sales tax.
 * @param {string} [attributes.entryClassCode] Entry class code for the transaction.
 * @param {string} [attributes.css] Custom CSS for the iframe content.
 * @param {string} [attributes.hostedURL="https://iframe.icheckgateway.com"] Hosted URL; defaults to the base URL but can be overridden.
 *
 * @return {React.Component} The `ICheckForm` component renders an iframe for payment processing and displays the payment response.
 */
export declare const ICheckForm: React.FC<iCheckFormProps>;
export {};
//# sourceMappingURL=ICheckForm.d.ts.map