import { AccountBase, Amount, BillableStatus, ClassBase, CustomerBase, Entity, ID, LineType, PlatformLineDetailType, ProductOrService, RecommendationWithCOT, RecommendedAccountBase, RecommendedClassBase, TransactionCategory, TransactionType, VendorBase } from '@zeniai/client-epic-state';
import { AutoCompleteActions, AutoCompleteData } from '../common/autoComplete/autoCompleteProps';
import { AutoCompleteGroupedCreatableSingleSelectCustomGroupFieldValueWithCOT, AutoCompleteGroupedOption } from '../formElements/autoCompleteGroupedCreatableSingleSelectCustomGroupFieldWithCOT/AutoCompleteGroupedCreatableSingleSelectCustomGroupFieldWithCOT';
import { GroupedSingleSelectFieldValueWithCOT } from '../formElements/labeledGroupedSingleSelectWithCOT/GroupedSingleSelectFieldWithCOT';
export declare const DEFAULT_LIST_ITEM_HEIGHT_REGULAR = 100;
export declare const DEFAULT_LIST_ITEM_HEIGHT_WITH_UPDATE_ALL = 440;
export declare const DEFAULT_LIST_ITEM_HEIGHT_WITH_UPDATE_ALL_SMALL_SCREEN = 500;
export declare const DEFAULT_LIST_ITEM_HEIGHT_SHOW_BOTH_RECOMMENDATION_CHECKBOX = 380;
export declare const DEFAULT_LIST_ITEM_HEIGHT_SHOW_ONE_RECOMMENDATION_CHECKBOX = 320;
export declare const DEFAULT_LIST_ITEM_HEIGHT_JOURNAL_ENTRY_REGULAR = 280;
export declare const transactionDetailPage = "transactionDetailPage";
export declare const transactionDetailLineCategory = "account";
export declare const transactionDetailLineClass = "class";
export declare const transactionDetailLineProject = "project";
export declare const transactionDetailLineDescription = "lineDescription";
export declare const transactionDetailLineCategoryRecommendation = "recommendedAccount";
export declare const transactionDetailLineClassRecommendation = "recommendedClass";
export declare const transactionDetailLineRetainedCategory = "retainedAccount";
export declare const transactionDetailLineRetainedClass = "retainedClass";
export declare const transactionDetailLineEntity = "lineEntity";
export declare const transactionDetaiLineEntitySelection = "lineEntitySelection";
export declare const transactionDetailLineIsUpdateCategorySelected = "isCategoryUpdateSelected";
export declare const transactionDetailLineIsUpdateClassSelected = "isClassUpdateSelected";
export declare const transactionDetailLineIsCategoryRetained = "isRetainedCategorySelected";
export declare const transactionDetailLineIsClassRetained = "isRetainedClassSelected";
export declare const transactionDetailUpdateAllChecked = "isUpdateAllChecked";
export declare const transactionDetailLineIsRecommendedCategorySelected = "isRecommendedCategorySelected";
export declare const transactionDetailLineIsRecommendedClassSelected = "isRecommendedClassSelected";
export declare const recommendationsWithCOT = "recommendationsWithCOT";
export declare const uniqueName: (sectionId: ID) => `${string}_form`;
export interface LineInfo {
    amount: Amount;
    billable: BillableStatus;
    id: ID;
    isCategoryMiscategorized: boolean;
    isClassMiscategorized: boolean;
    item: ProductOrService;
    lineDetailType: PlatformLineDetailType;
    lineTransactionType: TransactionType;
    platformLineDetailType: PlatformLineDetailType;
    postingType: TransactionCategory;
    postingTypeName: string;
    [transactionDetaiLineEntitySelection]: AutoCompleteGroupedCreatableSingleSelectCustomGroupFieldValueWithCOT;
    [transactionDetailLineCategory]: GroupedSingleSelectFieldValueWithCOT;
    [transactionDetailLineCategoryRecommendation]: RecommendedAccountBase;
    [transactionDetailLineClass]: GroupedSingleSelectFieldValueWithCOT;
    [transactionDetailLineClassRecommendation]: RecommendedClassBase;
    [transactionDetailLineDescription]: string;
    [transactionDetailLineEntity]: Entity;
    [transactionDetailLineIsCategoryRetained]: boolean;
    [transactionDetailLineIsClassRetained]: boolean;
    [transactionDetailLineIsRecommendedCategorySelected]: boolean;
    [transactionDetailLineIsRecommendedClassSelected]: boolean;
    [transactionDetailLineIsUpdateCategorySelected]: boolean;
    [transactionDetailLineIsUpdateClassSelected]: boolean;
    [transactionDetailLineRetainedCategory]: AccountBase;
    [transactionDetailLineRetainedClass]: ClassBase;
    [transactionDetailUpdateAllChecked]: boolean;
    type: LineType;
    customer?: CustomerBase;
    [recommendationsWithCOT]?: RecommendationWithCOT[];
    [transactionDetailLineProject]?: GroupedSingleSelectFieldValueWithCOT;
    vendor?: VendorBase;
}
export interface SearchAutoComplete {
    autoCompleteData: AutoCompleteData;
    autoCompleteActions?: AutoCompleteActions;
    loadOptions?: (inputValue: string, callback: (defaultOptions: AutoCompleteGroupedOption[]) => void) => void;
}
