import { Amount, BillableStatus, CustomerBase, ID, LineType, PlatformLineDetailType, ProductOrService, RecommendationWithCOT, TransactionCategory, TransactionType, VendorBase } from '@zeniai/client-epic-state'; import { AutoCompleteGroupedCreatableSingleSelectCustomGroupFieldValueWithCOT } from '../../../formElements/autoCompleteGroupedCreatableSingleSelectCustomGroupFieldWithCOT/AutoCompleteGroupedCreatableSingleSelectCustomGroupFieldWithCOT'; import { GroupedSingleSelectFieldValueWithCOT } from '../../../formElements/labeledGroupedSingleSelectWithCOT/GroupedSingleSelectFieldWithCOT'; export declare const expenseAutomationTransactionsPage = "expenseAutomationTransactionsPage"; export declare const transactionCategorizationListTableSectionId = "transactionCategorizationListTable"; export declare const transactionCategorizationPage = "transactionCategorizationPage"; export declare const transactionDetailLineCategory = "account"; export declare const transactionDetailLineClass = "class"; export declare const transactionDetailLineProject = "project"; export declare const transactionDetailLineDescription = "lineDescription"; export declare const transactionDetailLineEntitySelection = "lineEntitySelection"; export declare const transactionDetailLineEntity = "lineEntity"; export declare const recommendations = "recommendations"; export declare const lineInfo = "lineInfo"; export declare const transactionType = "transactionType"; export declare const transactionDate = "transactionDate"; export declare const transactionAmount = "transactionAmount"; export declare const vendorDetails = "vendorDetails"; export declare const customerDetails = "customerDetails"; export declare const sectionId = "transactionCategorizationSectionId"; export declare const selectedTransactionIds = "selectedTransactionIds"; export declare const transactionId = "transactionId"; export interface LineInfo { amount: Amount; billable: BillableStatus; isCategoryMiscategorized: boolean; isClassMiscategorized: boolean; lineId: ID; [recommendations]: RecommendationWithCOT[]; [transactionDetailLineCategory]: GroupedSingleSelectFieldValueWithCOT; [transactionDetailLineClass]: GroupedSingleSelectFieldValueWithCOT; [transactionDetailLineEntitySelection]: AutoCompleteGroupedCreatableSingleSelectCustomGroupFieldValueWithCOT; transactionId: ID; type: LineType; customer?: CustomerBase; item?: ProductOrService; lineDetailType?: PlatformLineDetailType; lineTransactionType?: TransactionType; platformLineDetailType?: PlatformLineDetailType; postingType?: TransactionCategory; postingTypeName?: string; [transactionDetailLineProject]?: GroupedSingleSelectFieldValueWithCOT; vendor?: VendorBase; } export interface TransactionCategorizationContentFormData { [lineInfo]: LineInfo[]; transactionId: ID; [customerDetails]?: { id: ID; name: string; qboId: string; }; [vendorDetails]?: { id: ID; name: string; qboId: string; }; } export declare const uniqueName: (sectionId: string, key: string, lineId: string) => `${string}.${string}.${string}`; export type FormDataKeyUniqueNames = ReturnType; export interface FormData { [selectedTransactionIds]: ID[]; [transactionCategorizationListTableSectionId]: TransactionCategorizationContentFormData[]; } export type FormDataKeys = keyof FormData;