import { StylesConfig } from 'react-select';
import { AccountBase, AuthParams, ClassBase, ExpenseAutomationTransactionsTab, FetchStateAndError, ID, NestedAccountHierarchyForReport, NestedClassHierarchyForReport, Project, RecommendationWithCOT, SupportedTransactionWithCOT, TransactionCategorizationLineItemData, TransactionLineRecommendationFieldTypes, TransactionReviewLocalDataSelectorView } from '@zeniai/client-epic-state';
import { WindowSize } from '../../../../../context/windowSizeProvider/WindowSizeProvider';
import { TransactionCategorizationCOTTrackingProps } from '../../../../../types/cotTracking';
import { AutoCompleteActions, AutoCompleteData } from '../../../../common/autoComplete/autoCompleteProps';
import { AutoCompleteGroupedOption } from '../../../../formElements/autoCompleteGroupedCreatableSingleSelectCustomGroupFieldWithCOT/AutoCompleteGroupedCreatableSingleSelectCustomGroupFieldWithCOT';
import { OptionType } from '../../../../formElements/labeledGroupedSingleSelectWithCOT/GroupedSingleSelectFieldWithCOT';
import { TransactionActionProps, TransactionCategorizationListRowProps, TransferDrawerTransactionData } from '../transactionCategorizationTypes';
/**
 * Component & its Props
 */
export declare const TransactionCategorizationListRow: ({ transactionView, transaction, sectionId, vendorSearchAutoCompleteData, vendorSearchAutoCompleteActions, selectedTab, containerRef: _containerRef, listContainerRef, isAccountingClassesEnabled, showProjectField, isCOTEnabled, isCreateTransferEntryFromExpenseEnabled, isPanelSelected, cotTracking, onTransactionCategorizationRowClick, setCurrentTransactionInAction, vendorLoadOptions, openTooltipId, setOpenTooltipId, isUncategorizedExpenseCategoryEnabled, onOpenTransferDrawer, authParams, onUploadTransactionReceipt, rowCommenting, }: TransactionCategorizationListRowProps) => import("react/jsx-runtime").JSX.Element;
export declare const TransactionCategorizationListItemRow: ({ accountsHierarchyList, allAccountList, allClassList, allProjectList, showProjectField, classHierarchyList, customStyle, customStyleAutoComplete, line, lineIndex, transaction, currentTransaction, windowSize, uncategorizedAccounts, isHovered, isQuickViewMode, sectionId, recommendations, vendorSearchAutoCompleteData, selectedTab, isCOTEnabled, menuPlacement, cotTracking, openTooltipId, setCurrentTransactionInAction, vendorLoadOptions, setOpenTooltipId, isUncategorizedExpenseCategoryEnabled, isAccountingClassesEnabled, isCreateTransferEntryFromExpenseEnabled, onDropdownClose, onDropdownOpen, authParams, onOpenTransferDrawer, uploadReceiptStatus, onUploadTransactionReceipt, }: {
    accountsHierarchyList: NestedAccountHierarchyForReport[];
    allAccountList: AccountBase[];
    allClassList: ClassBase[];
    allProjectList: Project[];
    authParams: AuthParams;
    classHierarchyList: NestedClassHierarchyForReport[];
    customStyle: StylesConfig<OptionType, false>;
    customStyleAutoComplete: StylesConfig<OptionType, false>;
    isAccountingClassesEnabled: boolean;
    isCOTEnabled: boolean;
    line: TransactionCategorizationLineItemData;
    lineIndex: number;
    menuPlacement: "top" | "bottom" | "auto";
    sectionId: string;
    selectedTab: ExpenseAutomationTransactionsTab;
    showProjectField: boolean;
    transaction: TransactionReviewLocalDataSelectorView;
    uncategorizedAccounts: {
        expense: AccountBase | undefined;
        income: AccountBase | undefined;
    };
    vendorSearchAutoCompleteActions: AutoCompleteActions;
    vendorSearchAutoCompleteData: AutoCompleteData;
    windowSize: WindowSize;
    cotTracking?: TransactionCategorizationCOTTrackingProps;
    currentTransaction?: SupportedTransactionWithCOT;
    isCreateTransferEntryFromExpenseEnabled?: boolean;
    isHovered?: boolean;
    isQuickViewMode?: boolean;
    isSelected?: boolean;
    isUncategorizedExpenseCategoryEnabled?: boolean;
    openTooltipId?: ID;
    recommendations?: RecommendationWithCOT[];
    uploadReceiptStatus?: FetchStateAndError;
    onUploadTransactionReceipt: (selectedTab: ExpenseAutomationTransactionsTab, transactionId: ID, transactionType: string, files: Blob[], fileNames: string[]) => void;
    setCurrentTransactionInAction: (transaction: Partial<TransactionActionProps>) => void;
    setOpenTooltipId: (tooltipId: ID | undefined) => void;
    vendorLoadOptions: (inputValue: string, callback: (allOptions: AutoCompleteGroupedOption[]) => void) => void;
    onDropdownClose?: () => void;
    onDropdownOpen?: () => void;
    onOpenTransferDrawer?: (data: TransferDrawerTransactionData) => void;
}) => import("react/jsx-runtime").JSX.Element;
interface RecommendationIconProps {
    existingOption: {
        label?: string;
        value?: string;
    };
    isCOTEnabled: boolean;
    isReviewTab: boolean;
    lineId: ID;
    recommendations: RecommendationWithCOT[];
    transactionId: ID;
    type: TransactionLineRecommendationFieldTypes;
    cotTracking?: TransactionCategorizationCOTTrackingProps;
    isEnabled?: boolean;
    isMisCategorized?: boolean;
    openTooltipId?: ID;
    selectedValue?: ID;
    selectedValueLabel?: string;
    isAccountOptionDisabled: (option: ID) => boolean;
    onRecommendationClick: (recommendationId: ID, type: TransactionLineRecommendationFieldTypes) => void;
    setOpenTooltipId: (tooltipId: ID | undefined) => void;
}
export declare const RecommendationIcon: ({ recommendations, isCOTEnabled, type, isReviewTab, selectedValueLabel, isEnabled, isMisCategorized, selectedValue, existingOption, cotTracking, lineId, openTooltipId, transactionId, isAccountOptionDisabled, onRecommendationClick, setOpenTooltipId, }: RecommendationIconProps) => import("react/jsx-runtime").JSX.Element;
export declare const TransactionCategorizationListEmptyRow: ({ isAccountingClassesEnabled, showProjectField, }: {
    isAccountingClassesEnabled: boolean;
    showProjectField: boolean;
}) => import("react/jsx-runtime").JSX.Element;
export {};
