import { AccountBase, AccountReconciliationEntity, ClassBase, FetchStateAndError, ID, NestedAccountHierarchyForReport, NestedClassHierarchyForReport, RecommendedActionCodeType, ReconReviewSortKey, ReconciliationReviewTabLocalData, SaveExpenseAutomationReconciliationActionType, SortOrder, Vendor } from '@zeniai/client-epic-state';
import { AutoCompleteActions, AutoCompleteData } from '../../../../common/autoComplete/autoCompleteProps';
import { AutoCompleteSingleSelectFieldValue } from '../../../../formElements/autoCompleteSingleSelectField/AutoCompleteSingleSelectField';
import { GroupedSingleSelectFieldValue } from '../../../../formElements/labeledGroupSingleSelectFieldWithRecommendationCheckbox/GroupedSingleSelectField';
declare const accountReconReviewTableSectionId = "accountReconReviewTableSection";
interface StickyInnerElementContextType {
    sortConfig: {
        sortKey: ReconReviewSortKey;
        sortOrder: SortOrder;
    };
    onColumnSortConfigChanged: (sortKey: ReconReviewSortKey, sortOrder: SortOrder) => void;
}
export interface FormData {
    [accountReconReviewTableSectionId]: Record<ID, {
        bankAccount: GroupedSingleSelectFieldValue;
        category: GroupedSingleSelectFieldValue;
        class: GroupedSingleSelectFieldValue;
        creditCard: GroupedSingleSelectFieldValue;
        customer: AutoCompleteSingleSelectFieldValue;
        memo: string;
        recommendedActionType: RecommendedActionCodeType;
        vendor: AutoCompleteSingleSelectFieldValue;
        matchedTransaction?: ID;
    }>;
}
export declare const uniqueFormName: (sectionId: ID) => `accountReconReviewTableSection_${string}_form`;
export interface AccountReconReviewTableProps {
    accountListNestedAccountHierarchy: NestedAccountHierarchyForReport[];
    accountReconEntity: AccountReconciliationEntity;
    allAccountList: AccountBase[];
    bankAccounts: AccountBase[];
    classList: ClassBase[];
    classListNestedAccountHierarchy: NestedClassHierarchyForReport[];
    creditCards: AccountBase[];
    entitySearchAutoCompleteActions: AutoCompleteActions;
    entitySearchAutoCompleteData: AutoCompleteData;
    excludeFetchById: Record<ID, FetchStateAndError>;
    isAccountingClassesEnabled: boolean;
    localData: Record<ID, ReconciliationReviewTabLocalData>;
    refreshStatus: FetchStateAndError;
    reviewTabSelectedVendorByTransactionId: Record<ID, Vendor>;
    saveFetchById: Record<ID, FetchStateAndError>;
    selectedAccountId: ID;
    sortKey: ReconReviewSortKey;
    sortOrder: SortOrder;
    onColumnSortConfigChanged: (sortKey: ReconReviewSortKey, sortOrder: SortOrder) => void;
    onReconMatchedTransactionClick: (transactionId: ID) => void;
    onSaveReconciliation: (action: SaveExpenseAutomationReconciliationActionType) => void;
    onSaveReconciliationReview: (transactionId: ID) => void;
    updateLocalData: (localData: ReconciliationReviewTabLocalData, transactionId: ID, shouldFetchVendor: boolean) => void;
}
export declare const AccountReconReviewTable: (props: Readonly<AccountReconReviewTableProps>) => import("react/jsx-runtime").JSX.Element;
export declare const StickyInnerElementContext: import('react').Context<StickyInnerElementContextType | undefined>;
export {};
