import { ClientAnalytics } from '@zeniai/client-analytics'; import { AccountBase, Amount, ClassBase, FetchState, ID, JEAccruedSchedule, ScheduleTypes, UncategorizedAccounts, VendorBase, ZeniDate } from '@zeniai/client-epic-state'; import { AutoCompleteData } from '../../../common/autoComplete/autoCompleteProps'; import { OptionType as AutoCompleteOptionType, AutoCompleteSingleSelectFieldValue } from '../../../formElements/autoCompleteSingleSelectField/AutoCompleteSingleSelectField'; import { DisableMode } from '../../../formElements/common/common'; import { GroupedOption, GroupedSingleSelectFieldValue } from '../../../formElements/labeledGroupSingleSelectFieldWithRecommendationCheckbox/GroupedSingleSelectField'; import { SingleSelectNumericFieldValue } from '../../../formElements/singleSelectNumericField/SingleSelectNumeric'; export interface VendorSearchAutoComplete { vendorSearchAutoCompleteData: AutoCompleteData; loadOptions?: (inputValue: string, callback: (defaultOptions: AutoCompleteOptionType[]) => void) => void; } export interface Props { allAccountList: AccountBase[]; allAccountOptions: GroupedOption[]; allAccruedExpenseList: AccountBase[]; allAccruedOptions: GroupedOption[]; allClassList: ClassBase[]; allClassOptions: GroupedOption[]; allMonthOptions: number[]; analytics: ClientAnalytics; cancelStatus: FetchState; controllerEmails: string[]; controllerUserIds: string[]; deleteStatus: FetchState; isAccountingClassesEnabled: boolean; sectionId: string; uncategorizedAccounts: UncategorizedAccounts; vendorSearchAutoComplete: VendorSearchAutoComplete; vendorSearchAutoCompleteData: AutoCompleteData; estimatedAmount?: Amount; isDisabled?: DisableMode; jeScheduledTransaction?: JEAccruedSchedule; memo?: string; selectedAccount?: ID; selectedAccruedExpenseCategory?: ID; selectedClass?: ID; selectedDate?: ZeniDate; selectedMonths?: number; selectedVendor?: VendorBase; startingBalance?: Amount; onCancelAccrual: (scheduleType: ScheduleTypes, jeScheduleID: ID, row?: number) => void; onDelete: (jeScheduleId: ID) => void; } export interface ScheduleDetailsAccruedExpensesSectionFormData { amount: number; memo: string; scheduleAccruedExpenseCategory: GroupedSingleSelectFieldValue; scheduleClass: GroupedSingleSelectFieldValue; scheduleExpenseCategory: GroupedSingleSelectFieldValue; startingBalance: number; vendor: AutoCompleteSingleSelectFieldValue; months?: SingleSelectNumericFieldValue; startDate?: ZeniDate; } type FormDataKeys = keyof ScheduleDetailsAccruedExpensesSectionFormData; declare const uniqueName: (sectionId: string, key: FormDataKeys) => `${string}.months` | `${string}.vendor` | `${string}.startDate` | `${string}.memo` | `${string}.amount` | `${string}.scheduleAccruedExpenseCategory` | `${string}.scheduleClass` | `${string}.scheduleExpenseCategory` | `${string}.startingBalance`; export type FormDataKeyUniqueNames = ReturnType; export declare function ScheduleDetailsAccruedExpensesSection({ analytics, sectionId, jeScheduledTransaction, deleteStatus, cancelStatus, allAccruedOptions, allAccruedExpenseList, allAccountOptions, allAccountList, allClassList, allClassOptions, allMonthOptions, controllerUserIds, controllerEmails, isAccountingClassesEnabled, memo, uncategorizedAccounts, estimatedAmount, startingBalance, selectedAccruedExpenseCategory, selectedAccount, selectedClass, selectedDate, selectedMonths, isDisabled, vendorSearchAutoComplete, onDelete, onCancelAccrual, }: Readonly): import("react/jsx-runtime").JSX.Element; export {};