import { Amount } from '../../commonStateTypes/amount'; import { Balance } from '../../commonStateTypes/balance'; import { FetchState, ID } from '../../commonStateTypes/common'; import { EntityOrder } from '../../commonStateTypes/selectorTypes/entityOrder'; import { SelectorReport } from '../../commonStateTypes/viewAndReport/viewAndReport'; import { AccountType } from '../../entity/account/accountState'; import { ZeniDate } from '../../zeniDayJS'; import { ZeniUrl as Url } from '../../zeniUrl'; import { TopExTimePeriod } from './topExState'; export interface TopExAccount { accountDescription: string; accountId: ID; accountName: string; balance: Balance; accountSubType?: string; accountType?: AccountType; logo?: Url; } export interface TopExTimePeriodWithMetaData { timePeriod: TopExTimePeriod; endDate?: ZeniDate; startDate?: ZeniDate; timePeriodLabel?: string; } export interface TopExpenses extends TopExTimePeriodWithMetaData { accountsOrdered: TopExAccount[]; itemOrder: EntityOrder; total?: Amount; } export interface TopExReport extends SelectorReport { allTimePeriods: TopExTimePeriodWithMetaData[]; downloadState: FetchState; topExpenses: TopExpenses; topExTimePeriod: TopExTimePeriod; }