import { Amount } from '../../../commonStateTypes/amount'; import { FetchStateAndError, ID } from '../../../commonStateTypes/common'; import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderTypes'; import { JEScheduleKey, ScheduleTypes } from '../../../entity/jeSchedules/jeSchedulesTypes'; import { VendorBase } from '../../../entity/vendor/vendorState'; import { ZeniDate } from '../../../zeniDayJS'; import { JEScheduleDetailsLocalData } from '../scheduleDetailView/scheduleDetailState'; import { ScheduleDetailSortKey } from '../scheduleDetailView/scheduleDetailTypes'; export interface ScheduleDetailUIState { scrollPosition: number; sortKey: ScheduleDetailSortKey; sortOrder: SortOrder; } export interface ScheduleDetailsLocalDataAccruedExpenses { jeScheduleDetails: JEScheduleDetailsLocalData[]; scheduleType: ScheduleTypes; estimatedMonthlyAmount?: Amount; memo?: string; selectedAccount?: ID; selectedAccruedExpenseCategory?: ID; selectedClass?: ID; selectedDate?: ZeniDate; selectedMonths?: number; selectedVendor?: VendorBase; startingBalance?: Amount; } export interface LinkBillExpenseLocalData { selectedTransaction?: ID; } export interface LinkBillExpenseAccruedSchedule extends FetchStateAndError { linkBillExpenseLocalData: LinkBillExpenseLocalData; transactionIds: ID[]; } export interface ScheduleAccruedDetailViewState extends FetchStateAndError { cancelScheduleStatus: FetchStateAndError; deleteStatus: FetchStateAndError; editScheduleStateByDetailId: Record; linkBillExpenseView: LinkBillExpenseAccruedSchedule; newScheduleState: ScheduleDetailsLocalDataAccruedExpenses; uiState: ScheduleDetailUIState; updateStatus: FetchStateAndError; selectedDetailScheduleType?: ScheduleTypes; selectedJEAccruedLinkRowIndex?: number; selectedJEAccruedScheduleKey?: JEScheduleKey; }