import { FetchState, ID, UpdateType } from '../../commonStateTypes/common'; import { Recommendation } from '../../commonStateTypes/recommendationBase'; import { COTTransactionTracking } from '../../commonStateTypes/recommendationBaseCore'; import { AccountBase } from '../../entity/account/accountState'; import { ClassBase } from '../../entity/class/classState'; import { Entity } from '../../entity/genericEntity/entity'; import { RecommendationWithCOTByLineId } from '../../entity/transaction/stateTypes/transaction'; import { TransactionID } from '../../entity/transaction/stateTypes/transactionID'; import { SupportedTransaction, SupportedTransactionPayload } from '../../entity/transaction/transactionState'; import { ZeniAPIStatus } from '../../responsePayload'; import { UncategorizedAccounts } from '../accountList/accountListSelector'; import { TransactionDetailState, TransactionSaveUpdates } from './transactionDetailState'; import { TransactionDetailLineItemData, TransactionDetailLocalData, TransactionVendorUpdates } from './transactionDetailTypes'; export declare const initialState: TransactionDetailState; export declare const downloadAccountingProviderAttachment: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[attachmentId: string], { attachmentId: string; }, "transactionDetail/downloadAccountingProviderAttachment", never, never>, downloadAccountingProviderAttachmentSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ attachmentId: ID; data: ArrayBuffer; }, "transactionDetail/downloadAccountingProviderAttachmentSuccess">, downloadAccountingProviderAttachmentFailure: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"transactionDetail/downloadAccountingProviderAttachmentFailure">, fetchTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, cacheOverride?: any], { transactionId: TransactionID; cacheOverride: any; }, "transactionDetail/fetchTransactionDetail", never, never>, updateTransactionDetailFetchState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, fetchState: FetchState, error?: ZeniAPIStatus> | undefined], { transactionId: TransactionID; fetchState: FetchState; error: ZeniAPIStatus> | undefined; }, "transactionDetail/updateTransactionDetailFetchState", never, never>, removeTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPayload, uploadMissingAttachmentSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: SupportedTransactionPayload, updateType?: UpdateType | undefined], { payload: SupportedTransactionPayload; }, "transactionDetail/uploadMissingAttachmentSuccess", never, { updateType: UpdateType; }>, updateTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transactionSaveUpdates: TransactionSaveUpdates, isExpenseAutomationEnabled: boolean, cotTransactionTracking: COTTransactionTracking], { transactionId: TransactionID; transactionSaveUpdates: TransactionSaveUpdates; isExpenseAutomationEnabled: boolean; cotTransactionTracking: COTTransactionTracking; }, "transactionDetail/updateTransactionDetail", never, never>, updateTransactionDetailSaveStatus: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, fetchState: FetchState, error?: ZeniAPIStatus> | undefined], { transactionId: TransactionID; fetchState: FetchState; error: ZeniAPIStatus> | undefined; }, "transactionDetail/updateTransactionDetailSaveStatus", never, never>, clearTransactionDetailSaveStatus: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID], { transactionId: TransactionID; }, "transactionDetail/clearTransactionDetailSaveStatus", never, never>, markTransactionAsNotMiscategorized: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transactionSaveUpdates: TransactionSaveUpdates, isExpenseAutomationEnabled: boolean, lineIds?: string[] | undefined], { transactionId: TransactionID; transactionSaveUpdates: TransactionSaveUpdates; isExpenseAutomationEnabled: boolean; lineIds: string[] | undefined; }, "transactionDetail/markTransactionAsNotMiscategorized", never, never>, deleteTransactionAttachment: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[attachmentFileName: string, transactionId: TransactionID], { attachmentFileName: string; transactionId: TransactionID; }, "transactionDetail/deleteTransactionAttachment", never, never>, deleteTransactionAttachmentFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ attachmentFileName: string; status: ZeniAPIStatus; transactionId: TransactionID; }, "transactionDetail/deleteTransactionAttachmentFailure">, deleteTransactionAttachmentSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ attachmentFileName: string; transactionId: TransactionID; }, "transactionDetail/deleteTransactionAttachmentSuccess">, updateStatusForTransactionNotMiscategorizedUpdate: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, fetchState: FetchState, error?: ZeniAPIStatus> | undefined], { transactionId: TransactionID; fetchState: FetchState; error: ZeniAPIStatus> | undefined; }, "transactionDetail/updateStatusForTransactionNotMiscategorizedUpdate", never, never>, updateStatusConsolidatedSaveTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ fetchState: FetchState; transactionId: TransactionID; }, "transactionDetail/updateStatusConsolidatedSaveTransactionDetail">, updateTransactionStateIfUpdateActionNotAllowed: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ transactionId: TransactionID; }, "transactionDetail/updateTransactionStateIfUpdateActionNotAllowed">, saveTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ cotTransactionTracking: COTTransactionTracking; isExpenseAutomationEnabled: boolean; transactionId: TransactionID; }, "transactionDetail/saveTransactionDetail">, initializeTransactionDetailLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ transactionId: TransactionID; customerId?: ID; vendorId?: ID; }, "transactionDetail/initializeTransactionDetailLocalData">, saveTransactionDetailLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ transactionId: TransactionID; transactionLocalData: TransactionDetailLocalData; }, "transactionDetail/saveTransactionDetailLocalData">, clearTransactionDetailLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ transactionId: TransactionID; }, "transactionDetail/clearTransactionDetailLocalData">, resetLineItemsCategoryClassInLocalData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, lineIdsForReplace: string[], lineIdsForUpdateAll: string[], replace: "class" | "account" | "both", updateAll?: boolean | undefined], { transactionId: TransactionID; transaction: SupportedTransaction; lineIdsForReplace: string[]; lineIdsForUpdateAll: string[]; replace: "class" | "account" | "both"; updateAll: boolean | undefined; }, "transactionDetail/resetLineItemsCategoryClassInLocalData", never, never>, setAllLineItemsToCategoryClassInLocalData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, isUpdateAll: boolean, chosenAccount?: { account: AccountBase; updateOrRetain: "update" | "retain"; } | undefined, chosenClass?: { classBase: ClassBase; updateOrRetain: "update" | "retain"; } | undefined, lineEntity?: Entity | undefined, recommendations?: Recommendation[] | undefined], { transactionId: TransactionID; transaction: SupportedTransaction; isUpdateAll: boolean; lineEntity: Entity | undefined; chosenAccount: { account: AccountBase; updateOrRetain: "update" | "retain"; } | undefined; chosenClass: { classBase: ClassBase; updateOrRetain: "update" | "retain"; } | undefined; recommendations: Recommendation[] | undefined; }, "transactionDetail/setAllLineItemsToCategoryClassInLocalData", never, never>, setAllLineItemsLocalDataIsUpdateAllChecked: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, isUpdateAll: boolean, entity?: Entity | undefined], { transactionId: TransactionID; transaction: SupportedTransaction; isUpdateAll: boolean; entity: Entity | undefined; }, "transactionDetail/setAllLineItemsLocalDataIsUpdateAllChecked", never, never>, setEntityRecommendationForLineIdsForTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, lineIds: string[], entity: Entity, amount: number, recommendationWithCOTByLineId: RecommendationWithCOTByLineId, uncategorizedIncomeExpense: UncategorizedAccounts], { transactionId: TransactionID; transaction: SupportedTransaction; lineIds: string[]; entity: Entity; amount: number; recommendationWithCOTByLineId: RecommendationWithCOTByLineId; uncategorizedIncomeExpense: UncategorizedAccounts; }, "transactionDetail/setEntityRecommendationForLineIdsForTransactionDetail", never, never>, markCategoryClassRecommendationsInProgressForTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, lineIds: string[]], { transactionId: TransactionID; lineIds: string[]; }, "transactionDetail/markCategoryClassRecommendationsInProgressForTransactionDetail", never, never>, markCategoryClassRecommendationsCompletedForTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, lineIds: string[]], { transactionId: TransactionID; lineIds: string[]; }, "transactionDetail/markCategoryClassRecommendationsCompletedForTransactionDetail", never, never>, markCategoryClassRecommendationsFailureForTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, lineIds: string[], error: ZeniAPIStatus>], { transactionId: TransactionID; lineIds: string[]; error: ZeniAPIStatus>; }, "transactionDetail/markCategoryClassRecommendationsFailureForTransactionDetail", never, never>, removeEntityRecommendationForLineIdForTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, lineId: string], { transactionId: TransactionID; transaction: SupportedTransaction; lineId: string; }, "transactionDetail/removeEntityRecommendationForLineIdForTransactionDetail", never, never>, updateSelectedVendor: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ transactionId: TransactionID; vendorUpdates: TransactionVendorUpdates; entity?: Entity; resetRecommendations?: boolean; }, "transactionDetail/updateSelectedVendor">, updateSelectedCustomer: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ customerUpdates: TransactionVendorUpdates; transactionId: TransactionID; entity?: Entity; resetRecommendations?: boolean; }, "transactionDetail/updateSelectedCustomer">, resetVendor: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ transactionId: TransactionID; }, "transactionDetail/resetVendor">, resetSelectedCustomer: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ transactionId: TransactionID; }, "transactionDetail/resetSelectedCustomer">, updateLocalDataWithTransactionsUpdateWithVendorCheckbox: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ isUpdateEnabled: boolean; transactionId: TransactionID; }, "transactionDetail/updateLocalDataWithTransactionsUpdateWithVendorCheckbox">, updateVendorToAllLineItems: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, entity: Entity], { transactionId: TransactionID; transaction: SupportedTransaction; entity: Entity; }, "transactionDetail/updateVendorToAllLineItems", never, never>, resetAllLineItemsToVendor: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, lineIdToRetainVendorSelection: string], { transactionId: TransactionID; transaction: SupportedTransaction; lineIdToRetainVendorSelection: string; }, "transactionDetail/resetAllLineItemsToVendor", never, never>, updateLatestSelectedEntity: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ entity: Entity; lineId: ID; transactionId: TransactionID; }, "transactionDetail/updateLatestSelectedEntity">, updateVendorBulkRecommendationsFetchStatus: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, fetchState: FetchState, error?: ZeniAPIStatus> | undefined], { transactionId: TransactionID; fetchState: FetchState; error: ZeniAPIStatus> | undefined; }, "transactionDetail/updateVendorBulkRecommendationsFetchStatus", never, never>, setIsVendorUpdateAllChecked: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, isEnabled: boolean], { transactionId: TransactionID; transaction: SupportedTransaction; isEnabled: boolean; }, "transactionDetail/setIsVendorUpdateAllChecked", never, never>, addSplitLine: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, newLine: TransactionDetailLineItemData], { transactionId: TransactionID; newLine: TransactionDetailLineItemData; }, "transactionDetail/addSplitLine", never, never>, deleteSplitLine: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, lineId: string], { transactionId: TransactionID; lineId: string; }, "transactionDetail/deleteSplitLine", never, never>, toggleSplitEditMode: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, editMode: boolean], { transactionId: TransactionID; editMode: boolean; }, "transactionDetail/toggleSplitEditMode", never, never>; declare const _default: import("redux").Reducer; export default _default;