import { ClientAnalytics } from '@zeniai/client-analytics';
import { AccountBase, ClassBase, ControllerUserDetails, EntityAutoCompleteView, ID, ScheduleAccruedDetailsView, ScheduleDetailsLocalDataAccruedExpenses, ScheduleTypes, TransactionID, VendorBase } from '@zeniai/client-epic-state';
import { AutoCompleteActions, AutoCompleteData } from '../../common/autoComplete/autoCompleteProps';
import { OptionType as AutoCompleteOptionType } from '../../formElements/autoCompleteSingleSelectField/AutoCompleteSingleSelectField';
import { ScheduleDetailsAccruedExpensesSectionFormData } from './sections/ScheduleDetailsAccruedExpensesSection';
import { ScheduleDetailsListSectionFormData } from './table/items/ScheduleSequenceTableRow';
export interface Props {
    accountList: AccountBase[];
    accruedAccountList: AccountBase[];
    analytics: ClientAnalytics;
    classList: ClassBase[];
    controllerUserDetails: ControllerUserDetails;
    isAccountingClassesEnabled: boolean;
    scheduleAccruedDetailsView: ScheduleAccruedDetailsView;
    shouldNavigateBack: boolean;
    vendorSearchAutoCompleteActions: AutoCompleteActions;
    vendorSearchAutoCompleteData: AutoCompleteData;
    scheduleDetailId?: ID;
    onCancelAccrual: (scheduleType: ScheduleTypes, jeScheduleID: ID, row?: number) => void;
    onDelete: (jeScheduleDetailId: ID) => void;
    onDetailPageChange: (formData: FormData, formDataPayload: ScheduleDetailsLocalDataAccruedExpenses, onlyAmountChangeInNewScheduleDetail: boolean) => void;
    onEditAmount: (row: number, jeScheduleId?: ID) => void;
    onJELinkClick: (row: number) => void;
    onNavigateBack: () => void;
    onSave: (jeScheduleDetailId?: ID) => void;
    onViewBillExpense: (transactionId: TransactionID) => void;
    onViewPostedJE: (transactionId: TransactionID) => void;
    onViewRecordedJE: (transactionId: TransactionID) => void;
}
declare const scheduleDetailsAccruedExpensesSectionId = "scheduleDetailsAccruedExpensesSection";
declare const scheduleDetailsListSectionId = "scheduleDetailsListSection";
export interface FormData {
    [scheduleDetailsAccruedExpensesSectionId]: ScheduleDetailsAccruedExpensesSectionFormData;
    [scheduleDetailsListSectionId]: ScheduleDetailsListSectionFormData[];
}
export declare function ScheduleDetailsAccruedExpensesPage({ accountList, accruedAccountList, analytics, classList, controllerUserDetails, isAccountingClassesEnabled, scheduleAccruedDetailsView, vendorSearchAutoCompleteActions, vendorSearchAutoCompleteData, shouldNavigateBack, scheduleDetailId, onDelete, onEditAmount, onJELinkClick, onCancelAccrual, onDetailPageChange, onNavigateBack, onSave, onViewBillExpense, onViewPostedJE, onViewRecordedJE, }: Readonly<Props>): import("react/jsx-runtime").JSX.Element;
export declare const getDefaultVendorOptions: (vendorSearchEntityAutoCompleteView?: EntityAutoCompleteView, selectedVendor?: VendorBase) => AutoCompleteOptionType[];
export {};
