import { FetchState, FetchStateAndError, ID, UpdateType } from '../../../commonStateTypes/common'; import { RecommendationWithCOT } from '../../../commonStateTypes/recommendationBase'; import { COTTransactionTrackingByTransactionId } from '../../../commonStateTypes/recommendationBaseCore'; import { MonthYearPeriod, TimePeriod } from '../../../commonStateTypes/timePeriod'; import { PageToken } from '../../../commonStateTypes/viewAndReport/viewAndReport'; import { AccountBase } from '../../../entity/account/accountState'; import { ClassBase } from '../../../entity/class/classState'; import { CustomerBase } from '../../../entity/customer/customerState'; import { Entity } from '../../../entity/genericEntity/entity'; import { ProjectBase } from '../../../entity/project/projectState'; import { RecommendationWithCOTByLineId } from '../../../entity/transaction/stateTypes/transaction'; import { TransactionID } from '../../../entity/transaction/stateTypes/transactionID'; import { SupportedTransaction, SupportedTransactionPayload, SupportedTransactionWithCOT } from '../../../entity/transaction/transactionState'; import { VendorBase } from '../../../entity/vendor/vendorState'; import { ZeniAPIStatus } from '../../../responsePayload'; import { UncategorizedAccounts } from '../../accountList/accountListSelector'; import { UpdateTransactionCategorizationResponsePayload } from '../payload/transactionCategorizationPayload'; import { TransactionFilters } from '../transactionFilterTypes'; import { SupportedTransactionCategorization, TransactionSaveUpdates, TransactionsTab, TransactionsTabViewState, TransactionsViewState, TransactionsViewUIState } from '../types/transactionsViewState'; export declare const initialUIState: TransactionsViewUIState; export declare const initialTransactionTabViewState: TransactionsTabViewState; export declare const initialState: TransactionsViewState; export declare const fetchTransactionCategorization: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", period: TimePeriod, cacheOverride?: any, keepExistingListItems?: any, searchString?: string | undefined, pageToken?: PageToken | undefined, refreshViewInBackground?: any, resetListItems?: boolean | undefined], { selectedTab: "review" | "autoCategorized"; period: TimePeriod; searchString: string | undefined; keepExistingListItems: any; pageToken: PageToken | undefined; cacheOverride: any; refreshViewInBackground: any; resetListItems: boolean | undefined; }, "expenseAutomationTransactionsView/fetchTransactionCategorization", never, never>, updateTransactionCategorizationUIState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ selectedTab: TransactionsTab; uiState: Partial; }, "expenseAutomationTransactionsView/updateTransactionCategorizationUIState">, updateTransactionFilters: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ filters: TransactionFilters; selectedTab: TransactionsTab; }, "expenseAutomationTransactionsView/updateTransactionFilters">, initializeTransactionCategorizationViewLocalData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionIds: string[], selectedPeriod: MonthYearPeriod, keepExistingListItems: any, pageToken: PageToken, totalCount: number, lineItemsByTransactionIds: Record, refreshViewInBackground?: any], { selectedTab: "review" | "autoCategorized"; transactionIds: string[]; selectedPeriod: MonthYearPeriod; keepExistingListItems: any; pageToken: PageToken; totalCount: number; lineItemsByTransactionIds: Record; refreshViewInBackground: any; }, "expenseAutomationTransactionsView/initializeTransactionCategorizationViewLocalData", never, never>, saveTransactionCategorizationLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ keepExistingListItems: boolean; pageToken: PageToken; selectedPeriod: MonthYearPeriod; selectedTab: TransactionsTab; totalCount: number; transactionIds: ID[]; transactionLocalData: Record; refreshViewInBackground?: boolean; }, "expenseAutomationTransactionsView/saveTransactionCategorizationLocalData">, fetchTransactionCategorizationFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ selectedPeriod: MonthYearPeriod; selectedTab: TransactionsTab; status: ZeniAPIStatus; }, "expenseAutomationTransactionsView/fetchTransactionCategorizationFailure">, saveTransactionCategorization: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionIds: string[], cotTrackingByTransactionId: COTTransactionTrackingByTransactionId], { selectedTab: "review" | "autoCategorized"; transactionIds: string[]; cotTrackingByTransactionId: COTTransactionTrackingByTransactionId; }, "expenseAutomationTransactionsView/saveTransactionCategorization", never, never>, updateTransactionCategorization: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionIds: string[], transactionSaveUpdates: TransactionSaveUpdates[], cotTrackingByTransactionId: COTTransactionTrackingByTransactionId], { selectedTab: "review" | "autoCategorized"; transactionIds: string[]; transactionSaveUpdates: TransactionSaveUpdates[]; cotTrackingByTransactionId: COTTransactionTrackingByTransactionId; }, "expenseAutomationTransactionsView/updateTransactionCategorization", never, never>, updateCurrentSelectedTransactionCategorizationTab: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[newSelectedTab: "review" | "autoCategorized"], { newSelectedTab: "review" | "autoCategorized"; }, "expenseAutomationTransactionsView/updateCurrentSelectedTransactionCategorizationTab", never, never>, updateTransactionCategorizationCompletedSubTab: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[newSubTab: "manual" | "all" | "ai_accountant"], { newSubTab: "manual" | "all" | "ai_accountant"; }, "expenseAutomationTransactionsView/updateTransactionCategorizationCompletedSubTab", never, never>, updateTransactionGroup: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[newGroup: "income" | "expense" | "all"], { newGroup: "income" | "expense" | "all"; }, "expenseAutomationTransactionsView/updateTransactionGroup", never, never>, updateTransactionCategorizationSaveStatus: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", fetchState: FetchState, error?: ZeniAPIStatus> | undefined], { selectedTab: "review" | "autoCategorized"; fetchState: FetchState; error: ZeniAPIStatus> | undefined; }, "expenseAutomationTransactionsView/updateTransactionCategorizationSaveStatus", never, never>, markTransactionAsNotMiscategorized: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionsInReview: UpdateTransactionCategorizationResponsePayload], { selectedTab: "review" | "autoCategorized"; transactionsInReview: UpdateTransactionCategorizationResponsePayload; }, "expenseAutomationTransactionsView/markTransactionAsNotMiscategorized", never, never>, updateStatusForTransactionNotMiscategorizedUpdateForCategorization: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", uncheckTransactionIds: string[], removeTransactionIdsFromSelectedPeriod: string[], selectedPeriod: MonthYearPeriod, fetchState: FetchState, error?: ZeniAPIStatus> | undefined, updateLineItemsByTransactionId?: Record | undefined], { removeTransactionIdsFromSelectedPeriod: string[]; selectedPeriod: MonthYearPeriod; uncheckTransactionIds: string[]; selectedTab: "review" | "autoCategorized"; fetchState: FetchState; error: ZeniAPIStatus> | undefined; updateLineItemsByTransactionId: Record | undefined; }, "expenseAutomationTransactionsView/updateStatusForTransactionNotMiscategorizedUpdateForCategorization", never, never>, updateSelectedVendorForTransaction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ lineId: ID; selectedTab: TransactionsTab; selectedTransaction: SupportedTransaction; transactionId: ID; uncategorizedAccounts: UncategorizedAccounts; isAccountingClassesEnabled?: boolean; selectedEntity?: Entity; updatedVendor?: VendorBase; }, "expenseAutomationTransactionsView/updateSelectedVendorForTransaction">, updateSelectedCustomerForTransaction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ lineId: ID; selectedTab: TransactionsTab; selectedTransaction: SupportedTransaction; transactionId: ID; uncategorizedAccounts: UncategorizedAccounts; isAccountingClassesEnabled?: boolean; selectedEntity?: Entity; updatedCustomer?: CustomerBase; }, "expenseAutomationTransactionsView/updateSelectedCustomerForTransaction">, setAllItemsToCategoryClassInLocalDataForCategorization: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionId: string, lineId: string, transactions: SupportedTransactionWithCOT[], uncategorizedAccounts: UncategorizedAccounts, vendorId?: string | undefined, customerId?: string | undefined, selectedAccount?: AccountBase | undefined, selectedClassBase?: ClassBase | undefined, lineEntity?: Entity | undefined, recommendations?: RecommendationWithCOT[] | undefined, isAccountingClassesEnabled?: boolean | undefined, selectedProjectBase?: ProjectBase | undefined], { selectedTab: "review" | "autoCategorized"; transactionId: string; lineId: string; transactions: SupportedTransactionWithCOT[]; vendorId: string | undefined; customerId: string | undefined; lineEntity: Entity | undefined; selectedAccount: AccountBase | undefined; selectedClassBase: ClassBase | undefined; selectedProjectBase: ProjectBase | undefined; recommendations: RecommendationWithCOT[] | undefined; uncategorizedAccounts: UncategorizedAccounts; isAccountingClassesEnabled: boolean | undefined; }, "expenseAutomationTransactionsView/setAllItemsToCategoryClassInLocalDataForCategorization", never, never>, updateTotalCountForTransactionCategorization: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ selectedPeriod: MonthYearPeriod; selectedTab: TransactionsTab; totalCount: number; }, "expenseAutomationTransactionsView/updateTotalCountForTransactionCategorization">, updateParentTotalCountForTab: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ parentTotalCount: number; selectedPeriod: MonthYearPeriod; selectedTab: TransactionsTab; }, "expenseAutomationTransactionsView/updateParentTotalCountForTab">, fetchTransactionCategorizationSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ selectedTab: TransactionsTab; status: ZeniAPIStatus; refreshViewInBackground?: boolean; }, "expenseAutomationTransactionsView/fetchTransactionCategorizationSuccess">, resetOtherTabsFetchState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ tabs: TransactionsTab[]; refreshViewInBackground?: boolean; }, "expenseAutomationTransactionsView/resetOtherTabsFetchState">, fetchTransactionCategorizationView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", period: TimePeriod, cacheOverride?: any, keepExistingListItems?: any, searchString?: string | undefined, pageToken?: PageToken | undefined, refreshViewInBackground?: any, resetListItems?: any], { selectedTab: "review" | "autoCategorized"; period: TimePeriod; searchString: string | undefined; keepExistingListItems: any; pageToken: PageToken | undefined; cacheOverride: any; refreshViewInBackground: any; resetListItems: any; }, "expenseAutomationTransactionsView/fetchTransactionCategorizationView", never, never>, updateSelectedCheckboxTransactionIds: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ selectedTab: TransactionsTab; transactionIds: ID[]; }, "expenseAutomationTransactionsView/updateSelectedCheckboxTransactionIds">, clearExpenseAutomationTransactionsViewPerTabView: import("@reduxjs/toolkit").ActionCreatorWithPayload<"review" | "autoCategorized", "expenseAutomationTransactionsView/clearExpenseAutomationTransactionsViewPerTabView">, clearExpenseAutomationTransactionsView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationTransactionsView/clearExpenseAutomationTransactionsView">, setEntityRecommendationForLineIdsForCategorization: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionId: TransactionID, transaction: SupportedTransactionWithCOT, lineIds: string[], entity: Entity, amount: number, recommendationWithCOTByLineId: RecommendationWithCOTByLineId, uncategorizedAccounts: UncategorizedAccounts, isAccountingClassesEnabled?: boolean | undefined], { selectedTab: "review" | "autoCategorized"; transactionId: TransactionID; transaction: SupportedTransactionWithCOT; lineIds: string[]; entity: Entity; amount: number; recommendationWithCOTByLineId: RecommendationWithCOTByLineId; uncategorizedAccounts: UncategorizedAccounts; isAccountingClassesEnabled: boolean | undefined; }, "expenseAutomationTransactionsView/setEntityRecommendationForLineIdsForCategorization", never, never>, markCategoryClassRecommendationsInProgressForCategorization: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionId: TransactionID, lineIds: string[]], { selectedTab: "review" | "autoCategorized"; transactionId: TransactionID; lineIds: string[]; }, "expenseAutomationTransactionsView/markCategoryClassRecommendationsInProgressForCategorization", never, never>, markCategoryClassRecommendationsCompletedForCategorization: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionId: TransactionID, lineIds: string[]], { selectedTab: "review" | "autoCategorized"; transactionId: TransactionID; lineIds: string[]; }, "expenseAutomationTransactionsView/markCategoryClassRecommendationsCompletedForCategorization", never, never>, markCategoryClassRecommendationsFailureForCategorization: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionId: TransactionID, lineIds: string[], error: ZeniAPIStatus>], { selectedTab: "review" | "autoCategorized"; transactionId: TransactionID; lineIds: string[]; error: ZeniAPIStatus>; }, "expenseAutomationTransactionsView/markCategoryClassRecommendationsFailureForCategorization", never, never>, updateSelectedTransactionId: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ lineId: ID; selectedTab: TransactionsTab; transactionId: ID; }, "expenseAutomationTransactionsView/updateSelectedTransactionId">, syncTransactionCategorizationFromDetailSave: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, updatedTransaction: SupportedTransactionWithCOT, pendingReviewLineIds: string[]], { transactionId: TransactionID; updatedTransaction: SupportedTransactionWithCOT; pendingReviewLineIds: string[]; }, "expenseAutomationTransactionsView/syncTransactionCategorizationFromDetailSave", never, never>, backgroundRefetchReviewTab: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod], { period: TimePeriod; }, "expenseAutomationTransactionsView/backgroundRefetchReviewTab", never, never>, removeTransactionFromAllTabs: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: string], { transactionId: string; }, "expenseAutomationTransactionsView/removeTransactionFromAllTabs", never, never>, updateTransactionCategorizationUploadReceiptState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionId: string, fetchStatus: FetchStateAndError], { selectedTab: "review" | "autoCategorized"; transactionId: string; fetchStatus: FetchStateAndError; }, "expenseAutomationTransactionsView/updateTransactionCategorizationUploadReceiptState", never, never>, uploadTransactionCategorizationReceiptSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionPayload: SupportedTransactionPayload, updateType?: UpdateType | undefined], { selectedTab: "review" | "autoCategorized"; transactionPayload: SupportedTransactionPayload; updateType: UpdateType; }, "expenseAutomationTransactionsView/uploadTransactionCategorizationReceiptSuccess", never, never>; declare const _default: import("redux").Reducer; export default _default;