import { ContractPaymentMethods, ContractPaymentStatus, ContractPhasesOptions, ShelfShareGainReviewers } from '../enums'; import { BaseModel } from './BaseModel'; import { ContractPhase } from './ContractPhase'; import { ContractSetup } from './ContractSetup'; export interface Contract extends BaseModel { companyId: string; end: Date; monthlyBillingDay: number; monthlyPaymentDay: number; paymentMethod?: ContractPaymentMethods; price?: number; products?: string[]; start: Date; status?: ContractPaymentStatus; shelfShareGainReviewer?: ShelfShareGainReviewers; currentStage?: ContractPhasesOptions; setupInstallmentsCharged?: number; phases?: ContractPhase[]; setup?: ContractSetup; lastTransactionCreatedDate?: Date; nextBillingDate?: Date; dueDateGracePeriod?: number; observations?: string; googleDriveLink?: string; }