import { Amount } from '../../commonStateTypes/amount'; import { ID } from '../../commonStateTypes/common'; import { ScheduleDaysOfMonth } from '../../commonStateTypes/timePeriod'; import { RootState } from '../../rootStateTypes'; import { ZeniDate } from '../../zeniDayJS'; import { AccountBase } from '../account/accountState'; import { Class } from '../class/classState'; import { ScheduleTransaction } from '../transaction/stateTypes/scheduleTransaction'; import { TransactionID } from '../transaction/stateTypes/transactionID'; import { User } from '../user/userState'; import { Vendor } from '../vendor/vendorState'; import { JEOneTimeAccrualState, JEScheduleAISummaries, JEScheduleOtherAttributes, JEScheduleRecommendations, JESchedulesState, ScheduleJournalStatusCode, ScheduleStatus } from './jeSchedulesState'; import { JEOneTimeAccrualKey, JEScheduleKey, JEScheduleTransactionKey, JournalEntryErrorCodeType, ScheduleTypes } from './jeSchedulesTypes'; export interface ScheduledJournalEntry { error: JournalEntryErrorCodeType[]; expectedPostDate: ZeniDate; memo: string; scheduledJournalEntryID: ID; status: ScheduleJournalStatusCode; actualPostDate?: ZeniDate; amount?: Amount; createTime?: ZeniDate; currencyCode?: string; currencySymbol?: string; isPlatformGenerated?: boolean; jeScheduleId?: ID; recommendedTransactionID?: TransactionID; reversalThirdPartyID?: ID; reversalTransactionDetails?: TransactionID; reversalTransactionID?: ID; runningBalance?: Amount; syncToken?: string; thirdPartyID?: ID; transactionID?: ID; updateTime?: ZeniDate; } export interface JEAccruedSchedule extends Omit { createTime: ZeniDate; jeAccruedScheduleKey: JEScheduleKey; jeScheduleId: ID; memo: string; otherAttributes: JEScheduleOtherAttributes; recurringAmount: Amount; } export interface JEScheduledTransaction { baseTransaction: ScheduleTransaction; currencyCode: string; currencySymbol: string; jeCredit: { account?: AccountBase; accountingClass?: Class; }; jeDebit: { account?: AccountBase; accountingClass?: Class; }; jeScheduleTransactionKey: JEScheduleTransactionKey; lifecycleTotal: number; otherAttributes: JEScheduleOtherAttributes; postedCount: number; scheduledJournalEntry: ScheduledJournalEntry[]; status: ScheduleStatus; vendor: Vendor; aiSummaries?: JEScheduleAISummaries; balanceAsOfToday?: Amount; confidenceScore?: number; createdByUser?: User; createTime?: ZeniDate; dayOfPostingDate?: ScheduleDaysOfMonth; endDate?: ZeniDate; jeScheduleId?: ID; jeScheduleType?: ScheduleTypes; lastDayOfMonth?: boolean; period?: number; recommendations?: JEScheduleRecommendations; recurringAmount?: Amount; startDate?: ZeniDate; updatedAt?: ZeniDate; updatedByUser?: User; } export interface JEOneTimeAccrual extends JEOneTimeAccrualState { jeOneTimeAccrualKey: JEOneTimeAccrualKey; } export declare const getJEOneTimeAccrualByKey: (jeOneTimeAccrualKey: JEOneTimeAccrualKey, jeSchedulesState: JESchedulesState) => JEOneTimeAccrual | undefined; export declare const getJEAccruedScheduleByJEScheduleKey: (JEScheduleKey: JEScheduleKey, state: RootState) => JEAccruedSchedule | undefined; export declare const getJEScheduledTransactionByJEScheduleTransactionKey: (jeScheduleTransactionKey: JEScheduleTransactionKey, state: RootState) => JEScheduledTransaction;