import { default as React, Dispatch, SetStateAction } from 'react'; import { ClientAnalytics } from '@zeniai/client-analytics'; import { AccountBase, Attachment, AuthParams, AutoFields, BankAccount, BillPaymentStatus, BillStageCodeType, BillStatus, BillStatusCodeType, ClassBase, CompanyMileageConfigInfo, CountryWithCurrency, Currency, DuplicateLine, FetchState, FetchStateAndError, ID, Merchant, NestedAccountHierarchyForReport, NestedClassHierarchyForReport, ReceiptsProcessingPayload, ReimbursementLineWithAttachmentAndRecommendation, UncategorizedAccounts, ZeniDate } from '@zeniai/client-epic-state'; import { CustomerSearchAutoComplete, LineInfoFormData } from './ReimbursementSection'; type Dispatcher = Dispatch>; export interface Props { accountList: AccountBase[]; accountsHierarchyList: NestedAccountHierarchyForReport[]; allCurrencies: CountryWithCurrency[]; authParams: AuthParams; autoFieldsByLineId: Record; bankAccounts: BankAccount[]; classHierarchyList: NestedClassHierarchyForReport[]; classList: ClassBase[]; currencyConversionState: FetchStateAndError; defaultCurrency: Currency; duplicateLineByLineId: Record; fileRequiredLineIds: ID[]; hasDuplicateLine: boolean; index: number; isAccountingClassesEnabled: boolean; isAddReimbursementDisabled: boolean; isAutoFieldsExist: boolean; isFirstOrLastListItem: boolean; isReimbursementCommentingEnabled: boolean; isSignedInUserReimbursementCreator: boolean; lineData: LineInfoFormData; merchantList: Merchant[]; reimbursementSectionRef: React.MutableRefObject; remiStage: BillStageCodeType; remiUploadStatus: FetchState; setRefByLineId: Dispatch>>; setShowBankAccountPage: Dispatcher; showSkipAutoFill: boolean; showTotalAmountLoader: boolean; totalAmount: number; totalNumberOfLines: number; uncategorizedAccounts: UncategorizedAccounts; uploadInvoiceEndPoint: string; analytics?: ClientAnalytics; approvedDate?: ZeniDate; companyMileageConfigInfo?: CompanyMileageConfigInfo; createDate?: ZeniDate; customerSearchAutoComplete?: CustomerSearchAutoComplete; file?: Attachment; loggedInUserDepartmentId?: ID; paymentDate?: ZeniDate; paymentTo?: string; progressSectionObj?: BillPaymentStatus | BillStatus; recommendationFetchState?: FetchState; reimbursementId?: ID; remiStatus?: BillStatusCodeType; reportTitle?: string; scheduleDate?: ZeniDate; tentativeMerchantName?: string; onAddReimbursement: () => void; onDuplicateLineClick: (reimbursementId: ID, lineId: ID) => void; onReceiptsUpload: (response: ReceiptsProcessingPayload | undefined, lineId: number, shouldOverwrite: boolean) => void; onRemoveReimbursement: (lineIndex: number) => void; removeDuplicateReimbursementForLine: (lineId: string) => void; scrollToSection: (id: string) => void; setCurrentLineIdForUpload: (lineId: number) => void; setUploadedReceiptPayload: (payload: ReceiptsProcessingPayload) => void; clearTentativeNameForLine?: (lineId: string) => void; onDeleteBankAccount?: (bankAccountId: ID) => void; onReplaceClick?: () => void; removeFileFromLine?: (lineId: number) => void; updateInvoiceUploadFetchState?: (fetchState: FetchState) => void; } export declare const getAmountForReceiptRequiredCalculation: (lineData: LineInfoFormData | ReimbursementLineWithAttachmentAndRecommendation) => number; declare const ReimbursementSectionWithInvoice: ({ remiUploadStatus, progressSectionObj, reimbursementId, createDate, scheduleDate, paymentDate, hasDuplicateLine, approvedDate, isFirstOrLastListItem, index, reimbursementSectionRef, showSkipAutoFill, lineData, currencyConversionState, authParams, uploadInvoiceEndPoint, accountList, classList, merchantList, remiStage, autoFieldsByLineId, isReimbursementCommentingEnabled, isAutoFieldsExist, totalAmount, showTotalAmountLoader, totalNumberOfLines, defaultCurrency, bankAccounts, fileRequiredLineIds, isAddReimbursementDisabled, duplicateLineByLineId, remiStatus, file, uncategorizedAccounts, reportTitle, recommendationFetchState, tentativeMerchantName, paymentTo, analytics, companyMileageConfigInfo, customerSearchAutoComplete, loggedInUserDepartmentId, isSignedInUserReimbursementCreator, setShowBankAccountPage, setRefByLineId, setCurrentLineIdForUpload, onDuplicateLineClick, setUploadedReceiptPayload, removeDuplicateReimbursementForLine, onReceiptsUpload, scrollToSection, onRemoveReimbursement, onAddReimbursement, clearTentativeNameForLine, onReplaceClick, onDeleteBankAccount, updateInvoiceUploadFetchState, removeFileFromLine, allCurrencies, accountsHierarchyList, classHierarchyList, isAccountingClassesEnabled, }: Props) => import("react/jsx-runtime").JSX.Element; export declare const getTooltipInfo: (bankAccounts: BankAccount[], bankAccountId: string) => string; export declare const getBankLabelForId: (bankAccounts: BankAccount[], selectedBankId: string) => string; export default ReimbursementSectionWithInvoice;