import { ID } from '../../commonStateTypes/common'; import { Recommendation } from '../../commonStateTypes/recommendationBase'; import { Entity, EntityType } from '../../entity/genericEntity/entity'; import { TransactionID } from '../../entity/transaction/stateTypes/transactionID'; import { SupportedTransaction } from '../../entity/transaction/transactionState'; import { ZeniAPIStatus } from '../../responsePayload'; import { TransactionsTab } from '../expenseAutomationView/types/transactionsViewState'; import { SubmitRecommendationFeedbackPayload } from './recommendationPayload'; import { EntityRecommendationState } from './recommendationState'; export type RecommendationLineUpdateFlowType = 'categorization' | 'detail'; type FetchEntityRecommendationsForLineUpdateCommonPayload = { amount: number; entity: Entity; transactionDetails: { lineIds: ID[]; transaction: SupportedTransaction; transactionId: TransactionID; }; isBulkFetch?: boolean; isFetchCOT?: boolean; }; export type FetchEntityRecommendationsForLineUpdatePayload = (FetchEntityRecommendationsForLineUpdateCommonPayload & { flowType: 'categorization'; selectedTab: TransactionsTab; }) | (FetchEntityRecommendationsForLineUpdateCommonPayload & { flowType: 'detail'; }); export declare const initialState: EntityRecommendationState; export declare const fetchEntityRecommendationsByTransactionId: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[entity: Entity, amount: number, transactionDetails: { lineIds: ID[]; transaction: SupportedTransaction; transactionId: TransactionID; }, isBulkFetch: boolean, isTransactionCategorizationFlow?: any, isFetchCOT?: any], { entity: Entity; amount: number; transactionDetails: { lineIds: ID[]; transaction: SupportedTransaction; transactionId: TransactionID; }; isBulkFetch: boolean; isTransactionCategorizationFlow: any; isFetchCOT: any; }, "recommendation/fetchEntityRecommendationsByTransactionId", never, never>, fetchEntityRecommendationsForLineUpdate: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[args: FetchEntityRecommendationsForLineUpdatePayload], FetchEntityRecommendationsForLineUpdatePayload, "recommendation/fetchEntityRecommendationsForLineUpdate", never, never>, fetchRecommendationByEntityName: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[entityName: string, entityType: EntityType], { entityName: string; entityType: EntityType; }, "recommendation/fetchRecommendationByEntityName", never, never>, fetchRecommendationByEntityId: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[entityId: string, entityType: EntityType], { entityId: string; entityType: EntityType; }, "recommendation/fetchRecommendationByEntityId", never, never>, updateRecommendationForEntity: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ entityId: ID; entityType: EntityType; recommendations?: Recommendation[]; }, "recommendation/updateRecommendationForEntity">, updateRecommendationForEntityFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ entityId: ID; entityType: EntityType; status: ZeniAPIStatus; }, "recommendation/updateRecommendationForEntityFailure">, indicateReadyToInitializeRecommendation: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[entityIdOrName: string, entityType: EntityType], { entityIdOrName: string; entityType: EntityType; }, "recommendation/indicateReadyToInitializeRecommendation", never, never>, submitRecommendationFeedback: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[args: SubmitRecommendationFeedbackPayload], SubmitRecommendationFeedbackPayload, "recommendation/submitRecommendationFeedback", never, never>; declare const _default: import("redux").Reducer; export default _default;