import { FetchStateAndError } from '../../../commonStateTypes/common'; import { Address } from '../../../entity/address/addressState'; import { CompanyWithSchema } from '../../../entity/company/companyState'; import { AccountingSummary } from '../../../entity/portfolio/accountingSummary/accountingSummaryState'; import { SubscriptionSummaryWithSchema } from '../../../entity/subscription/subscriptionSummary/subscriptionSummarySelector'; import { TaskSummary } from '../../../entity/taskSummary/taskSummaryState'; import { SubscriptionView } from '../../subscriptionView/types/subscriptionView'; import { UserAndRole } from './userAndRole'; export interface PrimarySubscription { subscription: SubscriptionView; summary: SubscriptionSummaryWithSchema; } export interface CompanyView { accountingSummary: AccountingSummary; apAnalysts: UserAndRole[]; company: CompanyWithSchema; companyOfficers: UserAndRole[]; controllers: UserAndRole[]; customerSuccessManagers: UserAndRole[]; preparers: UserAndRole[]; reviewers: UserAndRole[]; subscriptions: SubscriptionView[]; taxLeads: UserAndRole[]; companyAddress?: Address; companyContact?: UserAndRole; noteLastUpdatedBy?: UserAndRole; primaryContact?: UserAndRole; primarySubscription?: PrimarySubscription; registeredAddress?: Address; taskSummary?: TaskSummary; } export interface CompanyWithUpdateStatusView extends CompanyView { hasMonthEndEmailHistory: boolean; updateStatus: FetchStateAndError; }