import { EventEmitter } from '../../stencil-public-runtime'; import { ModalSize, Options } from '../../store/store'; import { BatchApprovalResponse, BatchData, PaymentOptionsInterface, PaymentMethod, TransactionI } from "../../api/transactions/interface"; import { GetBusinessRulesI } from "../../api/businessRules/interface"; import { VendorDetailsInterface } from "../../api/vendors/interface"; import { BankDetailsCurrencyInterface, RegionInterface, UiCultureInterface } from "../../api/countries/interface"; import { BatchFeesGrandTotalDataI } from './interface'; import { ThirdParty } from "../../api/externalSystems/interface"; import { UserDataInterface } from "../cart/interface"; import { CreditcardData } from "../../utils/stored-cards/index"; import { PermissionExceptions } from "../../api/permissions/interface"; export interface PaycargoPaymentActionHandlers { onTransactionEdit?: (number: TransactionI['number'], uuid: TransactionI['uuid'], transaction: TransactionI) => void; approvalResponse?: ({ response }: { response: BatchData; }) => void; handleRedirect?: (event: boolean) => void; getRecaptcha?: () => Promise; } export interface PaycargoCartAmplitudeParams { app_experience: string; app_journey: string; app_journey_version: string; app_framework: string; platform: string; page_url: string; page_path: string; page_short_path: string; is_user_logged_in: string; brand_id: string; brand_name: string; } export declare class PayCargoPaymentComponent { el: HTMLPaycargoPaymentElement; private pcCCWidgetEl; private toast; private payerClientInfo; private today; private _defaultFields; private creditcardLimit; /** * Options * This will contain the following properties * - env * - code * - brand * - originURL */ options: Options | string; /** * Array of transaction objections * either a string or TransactionI */ pcTransactions: TransactionI[] | string; /** * Object of action functions */ actionHandlers: PaycargoPaymentActionHandlers; /** * size - property to size the Modal **/ size: ModalSize | string; /** * Object containing analytics/event tracking information for the cart. * This includes properties for app experience, journey, platform, page info, user login status, and brand details. */ cartAmplitudeParams: PaycargoCartAmplitudeParams; isLoading: boolean; isCompletingPayment: boolean; hideForLoginIframe: boolean; ccInNewCardMode: boolean; validCcn: boolean; validExp: boolean; validCvv: boolean; validTransactions: boolean; bluesnapToken: string; batchTransTotal: number; availablePaymentOptions: PaymentOptionsInterface[] | null; _businessRules: GetBusinessRulesI | null; paymentMethod: PaymentMethod; isPrepaid: boolean; osraConfirm: boolean; private _batchFees; isQuickPayUser: boolean; resetStep: boolean; redirectValue: string; redirectURL: string; isFeesFetching: boolean; recaptcha: string; get batchFees_1(): any; set batchFees_1(value: any); get batchFees(): any; set batchFees(value: any); batchFeesGrandTotalData: BatchFeesGrandTotalDataI; processingFee: number | null | undefined; convenienceFee: number | null | undefined; currentRegion: RegionInterface; approvedMsgType: 'success'; vendorDetails: VendorDetailsInterface | null; userData: UserDataInterface; regions: RegionInterface[]; selectedRegion: string; selectedCountry: string; setCcType: string; uiCulture: UiCultureInterface; paymentResponse: BatchData | null; numberOfInvalidTransactions: number; _pcTransactions: { [key: string]: TransactionI; }; dropDownList: { [uuid: string]: boolean; }; _thirdParty: ThirdParty | null; cardIssuingCountry: string | null; exceptionAmount: number | null; exceedsPermissionException: boolean | null; permissionExceptions: PermissionExceptions | null; hasPermission: boolean | null; allPaymentMethodsInsufficient: boolean; emptyCart: string; isSameRegion: boolean; isPayerAssociated: boolean; vendorExternalSystemCode: Set; currencyOptions: BankDetailsCurrencyInterface[]; /** * Event that is triggered after payment response * has been received. */ paymentResponseEventModal: EventEmitter; /** * Event that emits when action button is clicked * has been received. */ onTransactionEditEvent: EventEmitter; componentWillLoad(): void; componentDidRender(): void; disconnectedCallback(): void; dataDidChangeHandler(newValue: TransactionI[] | string): Promise; handleLoginResponse(event: CustomEvent<{ success: boolean; data: { token: string; user: UserDataInterface; }; }>): Promise<[void, void]>; handleNewTransaction(event: Event): Promise; handleShowingLoginIframe(event: Event): Promise; handlePaycargoCcUpdate(event: CustomEvent<{ success: boolean; data: { cardIssuingCountry: string; }; }>): Promise; handleCCAttempt(event: CustomEvent<{ success: boolean; data: CreditcardData; }>): Promise; handleCcIFrameLoaded(event: Event): Promise; handleCcNewCardModeChange(event: CustomEvent<{ enterNewCard: boolean; }>): void; private handleOnTransactionEditEvent; private resetQuickPayUser; private getVendorDetails; private hasRequiredDropdownFields; private initDropdownDefaults; private getBusinessRules; private paymentOptionTooltip; private paymentOptionInfo; private getPaymentOptions; private getBatchFees; private getTransactionsList; private hasApprovalExceptionExceeded; private updateApprovalExceptionState; private getApprovalLimitMessage; private getPermissionDisabledState; private getRegionDisabledState; private getCarrierCreditDisabledState; private checkCarrierCreditAssociation; private getCreditCardIframeDisabledState; private loadUserPermissionState; private getUserPermissions; private getPermissionExceptions; private paymentBtnTooltip; private updatePaymentMethod; private oneTimePayment; private clearCcForm; private openDropdown; private handleInputChange; private checkForProperty; private clearPayerFields; private completePayment; private notifyApprovalResponse; private showPaymentMethods; private validatePayerFields; private isPayBtnDisabled; private userLogout; private termsAndConditions; private topRowLoggedIn; private topBackBtn; private BodyOptions; render(): any; }