import { ReimbursementTypeCode, ZeniDate } from '@zeniai/client-epic-state'; import { CreatableSingleSelectFieldValue } from '../../creatableSingleSelect/CreatableSingleSelectField'; import { AutoCompleteSingleSelectFieldValue } from '../../formElements/autoCompleteSingleSelectField/AutoCompleteSingleSelectField'; import { GroupedSingleSelectFieldValue } from '../../formElements/labeledGroupSingleSelectFieldWithRecommendationCheckbox/GroupedSingleSelectField'; export interface MileageFormData { amount: { amount: number; currencyCode: string; currencySymbol: string; }; reimbursementType: ReimbursementTypeCode; class?: GroupedSingleSelectFieldValue; customer?: AutoCompleteSingleSelectFieldValue; distanceInMiles?: number; memo?: string; transactionDate?: ZeniDate; } export type MileageFormDataKeys = keyof MileageFormData; export interface OutOfPocketFormData { account: GroupedSingleSelectFieldValue; amount: { amount: number; currencyCode: string; currencySymbol: string; }; isCategoryUpdateSelected: boolean; isRetainedCategorySelected: boolean; reimbursementType: ReimbursementTypeCode; class?: GroupedSingleSelectFieldValue; customer?: AutoCompleteSingleSelectFieldValue; memo?: string; merchant?: CreatableSingleSelectFieldValue; transactionDate?: ZeniDate; } export type OutOfPocketFormDataKeys = keyof OutOfPocketFormData; export declare const whatForSectionId = "whatFor"; export declare const lineInfoSectionId = "lineInfo"; export declare const paymentAtSectionId = "paymentTo"; export type SectionIdKeys = typeof whatForSectionId | typeof paymentAtSectionId; export declare const uniqueReimbursementTabKey: (key: OutOfPocketFormDataKeys | MileageFormDataKeys | SectionIdKeys, index?: number, reimbursementType?: ReimbursementTypeCode) => "class" | "customer" | "merchant" | "account" | "paymentTo" | "memo" | "isCategoryUpdateSelected" | "isRetainedCategorySelected" | "amount" | `${number}.class` | `${number}.customer` | `${number}.account` | `${number}.paymentTo` | `${number}.memo` | `${number}.isCategoryUpdateSelected` | `${number}.isRetainedCategorySelected` | `${number}.amount` | "whatFor" | "reimbursementType" | "transactionDate" | "distanceInMiles" | `${number}.out_of_pocket.class` | `${number}.out_of_pocket.customer` | `${number}.out_of_pocket.merchant` | `${number}.out_of_pocket.account` | `${number}.out_of_pocket.paymentTo` | `${number}.out_of_pocket.memo` | `${number}.out_of_pocket.isCategoryUpdateSelected` | `${number}.out_of_pocket.isRetainedCategorySelected` | `${number}.out_of_pocket.amount` | `${number}.out_of_pocket.whatFor` | `${number}.out_of_pocket.reimbursementType` | `${number}.out_of_pocket.transactionDate` | `${number}.out_of_pocket.distanceInMiles` | `${number}.mileage.class` | `${number}.mileage.customer` | `${number}.mileage.merchant` | `${number}.mileage.account` | `${number}.mileage.paymentTo` | `${number}.mileage.memo` | `${number}.mileage.isCategoryUpdateSelected` | `${number}.mileage.isRetainedCategorySelected` | `${number}.mileage.amount` | `${number}.mileage.whatFor` | `${number}.mileage.reimbursementType` | `${number}.mileage.transactionDate` | `${number}.mileage.distanceInMiles` | "out_of_pocket.class" | "out_of_pocket.customer" | "out_of_pocket.merchant" | "out_of_pocket.account" | "out_of_pocket.paymentTo" | "out_of_pocket.memo" | "out_of_pocket.isCategoryUpdateSelected" | "out_of_pocket.isRetainedCategorySelected" | "out_of_pocket.amount" | "out_of_pocket.whatFor" | "out_of_pocket.reimbursementType" | "out_of_pocket.transactionDate" | "out_of_pocket.distanceInMiles" | "mileage.class" | "mileage.customer" | "mileage.merchant" | "mileage.account" | "mileage.paymentTo" | "mileage.memo" | "mileage.isCategoryUpdateSelected" | "mileage.isRetainedCategorySelected" | "mileage.amount" | "mileage.whatFor" | "mileage.reimbursementType" | "mileage.transactionDate" | "mileage.distanceInMiles" | `${number}.merchant` | `${number}.whatFor` | `${number}.reimbursementType` | `${number}.transactionDate` | `${number}.distanceInMiles`; export type ReimbursementTabKeys = ReturnType;