import { EventEmitter } from '../../stencil-public-runtime'; import { CloseEvent } from "../paycargo-checkout/interface"; import { BatchApproveData, CreateTransactionResponse, TransactionI, TransactionThreadData } from "../../api/transactions/interface"; import { DisputeResponseModalData } from './interface'; import { BusinessRulesInterface } from "../../api/businessRules/interface"; import { Options } from "../../store/store"; /** * showDispute - An array of third party code. Please declare * in ** LOWER CASE ** as condition below has `state['code']?.toLowerCase()` * to match against value passed. **/ export declare class PayCargoBatchDisputeWidget { el: HTMLPaycargoBatchDisputeWidgetElement; private toast; /** * Options * This will contain the following properties * - env * - code * - brand * - originURL */ options: Options | string; /** * pcTransactions */ pcTransactions: { [index: number]: TransactionI; } | string; /** * businessRules */ businessRules: { [index: string | number]: BusinessRulesInterface | null; }; /** * visible - property to make modal show or hide. * */ visible: boolean; /** * authToken - User JWT token * */ authToken: string; /** * env: envirornment to hit correct api env ('dev', 'test', 'prod') **/ env: string; /** * style - Style of the widget. **/ widgetStyle: 'v1' | 'v2' | 'v3' | string; /** * disabled - property to make button disable. * */ disabled?: boolean | 'false' | 'true'; isCategoryOpen: boolean; isSubcategoryOpen: boolean; files: { [transactionId: string]: File[]; }; fileLabels: { [key: number]: string[]; }; disputeCategoriesOptions: any[]; disputeSubcategoriesOptions: any[]; disputeAmounts: { [index: number]: { amount: number | string; }; }; disputeReasons: { [index: number]: { reason: string; }; }; disputeCategories: { [index: number]: { category: number | null; }; }; disputeSubcategories: { [index: number]: { subcategory: string | null; }; }; dragOver: boolean; isLoading: boolean; isFormValid: boolean; disputeResponse: [{ [index: number]: { response: TransactionThreadData | null; }; }]; createdTransactions: BatchApproveData[] | null; failedTransactions: CreateTransactionResponse[] | null; eventCode: number; eventMsg: string; locations: number[]; _loadedTransactions: { [index: number]: TransactionI; }; internalBusinessRules: BusinessRulesInterface; validationErrors: { [index: number]: string; }; /** * Event that is triggered after dispute response * has been received. */ disputeResponseModal: EventEmitter>; componentWillLoad(): Promise; dataDidChangeHandler(newValue: { [index: number | string]: TransactionI; } | string): Promise; /** * Have Paycargo Dispute Modal be visible */ makeVisible(show: boolean, event: MouseEvent): Promise; componentDidRender(): void; private closeModal; private validateInputs; private handleReasonChange; handleCategoryChange(event: Event, index: number | string): Promise; updateSelectColor(event: Event): void; handleDragOver(event: DragEvent): void; handleDragLeave(event: DragEvent): void; handleDrop(event: DragEvent, transactionId: string): void; private handleFileChange; private addAttachment; private removeAttachment; applyToAll: ({ input, targetIndex }: { input: "attachment" | "reason"; targetIndex: number | string; }) => void; submitDisputeForm: (event: Event) => Promise; private get normalizedRenderLocation(); private get buttonClass(); render(): any; }