import { IPolicyRequest } from './policy-request.request.interface'; import { AgreementHolder, AgreementProducer, AgreementSponsor, Beneficiary, Clause, Coverage, Employer, FinancialOption, FinancialProvision, Insured, InsuredObject, Insurer, InvestmentVehicle, PolicyInvestmentAccount, PremiumBalance } from './shared'; export interface PolicyBase { quotationKey?: string | null; proposalKey?: string | null; policyKey?: string | null; versionDateTime?: string; policyClassCode: string; requestKey?: string | null; policyNumber?: string | null; subGroupNumber?: string | null; certificateNumber?: string | null; quotationNumber?: string | null; externalQuotationNumber?: string | null; proposalNumber?: string | null; externalProposalNumber?: string | null; producerAgreementKey?: string | null; customerAgreementKey?: string | null; quotationDateTime?: string | null; proposalDateTime?: string | null; issuedDateTime?: string | null; originalEffectiveDateTime?: string; effectiveStartDateTime?: string; effectiveEndDateTime?: string | null; currencyCode: string; statusCode: string; statusDateTime?: string; statusReasonCode?: string | null; renewalIndicator?: boolean; issueTypeCode?: string; completedDateTime?: string; productComponentKey?: string; productComponentPath?: string; productComponentMarketingName: string; planProductComponentKey?: string | null; planProductComponentPath?: string; planProductComponentMarketingName: string | null; insurerList: Insurer[]; agreementHolder?: AgreementHolder; agreementProducerList?: AgreementProducer[]; agreementSponsor?: AgreementSponsor | null; financialOptionList: FinancialOption[]; insuredList?: Insured[]; insuredObjectList?: InsuredObject[]; beneficiaryList?: Beneficiary[]; employerList?: Employer[]; policyInvestmentAccountList?: PolicyInvestmentAccount[]; investmentVehicleList?: InvestmentVehicle[]; coverageList?: Coverage[]; minimumPremium?: FinancialProvision | null; clauseList?: Clause[]; premiumBalance?: PremiumBalance | null; policyRequest?: IPolicyRequest; } export interface IPolicyV2 extends PolicyBase { policyKey: string; } export interface IPolicyProposal extends PolicyBase { proposalKey: string; } export interface IPolicyQuotation extends PolicyBase { quotationKey: string; }