import { Dispatch, SetStateAction } from 'react'; import { ClientAnalytics } from '@zeniai/client-analytics'; import { AuthParams, BankAccount, CompanyMileageConfigInfo, CountryWithCurrency, Currency, DuplicateLine, EditRemiDetailSelectorView, FetchState, FetchStateAndError, ID, Merchant, NestedAccountHierarchyForReport, NestedClassHierarchyForReport, ReceiptsProcessingPayload, UncategorizedAccounts } from '@zeniai/client-epic-state'; import { CustomerSearchAutoComplete, LineInfoFormData } from './sections/ReimbursementSection'; type Dispatcher = Dispatch>; export interface Props { authParams: AuthParams; bankAccounts: BankAccount[]; currencyConversionStatus: Record; defaultCurrency: Currency; duplicateLineByLineId: Record; fileRequiredLineIds: ID[]; hasDuplicateLine: boolean; isAccountingClassesEnabled: boolean; isAutoFieldsExist: boolean; isReimbursementCommentingEnabled: boolean; isSignedInUserReimbursementCreator: boolean; isUserAdmin: boolean; remiDetails: EditRemiDetailSelectorView; setShowBankAccountPage: Dispatcher; setShowSkipAutoFill: Dispatcher; showSkipAutoFill: boolean; showTotalAmountLoader: boolean; totalAmount: number; uncategorizedAccounts: UncategorizedAccounts; uploadInvoiceEndPoint: string; analytics?: ClientAnalytics; companyMileageConfigInfo?: CompanyMileageConfigInfo; customerSearchAutoComplete?: CustomerSearchAutoComplete; reimbursementId?: ID; scrollContainerRef?: React.RefObject; onDuplicateLineClick: (reimbursementId: ID, lineId: ID) => void; onReceiptsUpload: (response: ReceiptsProcessingPayload | undefined, lineId: number, shouldOverwrite: boolean) => void; removeDuplicateReimbursementForLine: (lineId: 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; } declare const AllReimbursementLineItems: ({ remiDetails, isUserAdmin, authParams, uploadInvoiceEndPoint, isAccountingClassesEnabled, showSkipAutoFill, isReimbursementCommentingEnabled, isAutoFieldsExist, totalAmount, defaultCurrency, hasDuplicateLine, bankAccounts: userFinancialBankAccounts, fileRequiredLineIds, companyMileageConfigInfo, analytics, reimbursementId, currencyConversionStatus, setShowSkipAutoFill, setShowBankAccountPage, removeDuplicateReimbursementForLine, onReceiptsUpload, setCurrentLineIdForUpload, onDuplicateLineClick, setUploadedReceiptPayload, removeFileFromLine, onReplaceClick, updateInvoiceUploadFetchState, clearTentativeNameForLine, customerSearchAutoComplete, onDeleteBankAccount, uncategorizedAccounts, isSignedInUserReimbursementCreator, duplicateLineByLineId, showTotalAmountLoader, scrollContainerRef, }: Props) => import("react/jsx-runtime").JSX.Element; export declare const getInitialLineFormData: (index: number, lineId: string, accountsHierarchyList: NestedAccountHierarchyForReport[], classHierarchyList: NestedClassHierarchyForReport[], merchantList: Merchant[], currency: Currency, allCurrencies: CountryWithCurrency[], loggedInUserDepartmentId?: ID) => LineInfoFormData; export declare const initialOutOfPocketForm: (accountsHierarchyList: NestedAccountHierarchyForReport[], classHierarchyList: NestedClassHierarchyForReport[], merchantList: Merchant[], currency: Currency, allCurrencies: CountryWithCurrency[], loggedInUserDepartmentId?: ID) => { transactionDate: undefined; class: { allOptions: import('../../formElements/labeledGroupSingleSelectFieldWithRecommendationCheckbox/GroupedSingleSelectField').GroupedOption[]; selectedOption: string | undefined; }; account: { allOptions: import('../../formElements/labeledGroupSingleSelectFieldWithRecommendationCheckbox/GroupedSingleSelectField').GroupedOption[]; selectedOption: undefined; }; amount: { amount: number; currencyCode: string; currencySymbol: string; currency: { allOptions: { label: string; value: string; countryCode: "AI" | "BD" | "US" | "NA" | "CA" | "AD" | "AE" | "AF" | "AG" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AS" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CC" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CW" | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO" | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "AN" | "EU"; }[]; selectedOption: string; }; }; memo: undefined; merchant: { allOptions: ID[]; selectedOption: undefined; }; recommendations: never[]; isCategoryUpdateSelected: boolean; isCategoryFirstTimeAutofilled: boolean; isRetainedCategorySelected: boolean; }; export declare const initialMileageForm: (classHierarchyList: NestedClassHierarchyForReport[], currency: Currency, loggedInUserDepartmentId?: ID) => { transactionDate: undefined; class: { allOptions: import('../../formElements/labeledGroupSingleSelectFieldWithRecommendationCheckbox/GroupedSingleSelectField').GroupedOption[]; selectedOption: string | undefined; }; distanceInMiles: undefined; amount: { amount: number; currencyCode: string; currencySymbol: string; }; memo: undefined; }; export default AllReimbursementLineItems;