/// <reference types="node" />
import { CrmStatusReason, QuoteStatus, QuoteSubStatus, UtmParams } from '../constants/quote.constants';
import { Applicant, CrmDetails, CrossSell, Customer, Employees, HasLinkedCustomer, Lead, Order, Partner, PlanState, PolicyStatus, QuoteHash, QuoteOauth, QuoteRecurrenceDetails, QuoteRenewalDetails, QuoteSession, QuoteTaxInformation, Refund, ScoreForm, Voucher } from '../../modules/quotes/quote.service.interface';
import { Certificate } from 'crypto';
import { Document } from 'mongoose';
export declare type QuoteHashType = {
    h: string;
    x: string;
};
export declare type QuoteIdType = {
    quoteId: string;
};
export declare type QuoteType = Record<string, unknown>;
export declare type QuoteHashDocument = QuoteHash & Document;
export declare type QuoteDocument = Quote & Document;
export interface Quote {
    accountId?: string;
    addOn?: Record<string, unknown>;
    address?: string;
    address2?: string;
    address3?: string;
    address4?: string;
    adultsAmount?: number;
    age?: Record<string, unknown>;
    agentCode?: string;
    agentId?: string;
    ageOfDevice?: string;
    antiTheft?: string;
    applicant?: Applicant;
    applyAgentDiscountBeforeTaxes?: boolean;
    applyingAsCompany?: string;
    bankDepositEmail?: string;
    beneficiaryName?: string;
    block?: string;
    brand?: Record<string, unknown> | string;
    building?: string;
    car?: Record<string, unknown>;
    cardHolderName?: string;
    certificate?: Certificate;
    chassisNumber?: string;
    checkedValues?: any;
    childrenAmount?: number;
    claimsInPast3Years?: string;
    company?: string;
    country?: string;
    coverageEnd?: string;
    coverageStart?: string;
    coverageType?: string;
    coverNoteLink?: string;
    coverNoteNos?: string[];
    createUserAccount?: string;
    crmDetails?: CrmDetails[];
    crmStatusReason?: CrmStatusReason | number;
    crossSell?: CrossSell;
    currency?: string;
    currencySymbol?: string;
    customer?: Customer;
    customerPaymentEmail?: string;
    customerPaymentSendType?: string;
    customerPaymentSms?: string;
    customerReference?: string;
    dateBirth?: string;
    dateOfPurchase?: string;
    departureDate?: string;
    destination?: string;
    device?: Record<string, unknown>;
    diagnosticId?: string;
    district?: string;
    districtCode?: string;
    documentList?: Record<string, unknown> | Record<string, unknown>[];
    domesticInternational?: string;
    drivers_amount?: Record<string, unknown> | string;
    duty?: string;
    email?: string;
    employees?: Employees[];
    engineCapacityCC?: string;
    engineCc?: Record<string, unknown> | string;
    engineNumber?: string;
    enquiryType?: string;
    entityId?: string;
    entityReference?: string;
    entityUserId?: string;
    entityUserReference?: string;
    estate?: string;
    estimatedValue?: number;
    externalReferenceCode?: string;
    filters?: Record<string, unknown>;
    financeCompany?: string;
    firstName?: string;
    floor?: string;
    formattedInsuredDate?: string;
    formattedStartDate?: string;
    freeCovidVaccine?: Record<string, unknown>;
    fullName?: string;
    gender?: string;
    gtm?: Record<string, unknown>;
    hasLinkedCustomer?: HasLinkedCustomer;
    hire?: string;
    homeArea?: string;
    homeType?: string;
    idIssueDate?: string;
    idIssuePlace?: Record<string, unknown> | string;
    idNumber?: string;
    idType?: string;
    imei?: string;
    insuredHome?: Record<string, unknown>;
    insuredPersons?: Record<string, unknown>[];
    invoiceNo?: string;
    isCopyQuote?: boolean;
    isFromWaterfall?: boolean;
    landingDiscount?: boolean;
    lastName?: string;
    lead?: Lead;
    leadSourceType?: string;
    locale?: string;
    manufacturing_year?: Record<string, unknown> | string;
    maskedCardInfo?: string;
    mergeData?: boolean;
    message?: string;
    model?: Record<string, unknown> | string;
    monthlySalary?: string;
    mortgageProvider?: string;
    mortgageProviderOther?: string;
    motorcycle?: Record<string, unknown>;
    nationality?: string;
    numberOfFloors?: string;
    numberSeats?: string;
    oauth?: QuoteOauth;
    order?: Order<object>;
    orderRefCode?: string;
    othersAmount?: number;
    partner?: Partner;
    partnerCode?: string;
    paymentAction?: Record<string, unknown>;
    paymentMethod?: string;
    petDetails?: Record<string, unknown>;
    phoneNumber?: string;
    planId?: string;
    planState?: PlanState | any;
    planType?: string;
    policies?: string[];
    policiesStatuses?: PolicyStatus[];
    policyIssued?: boolean;
    postcode?: string | number;
    postcodeTo?: string;
    property?: Record<string, unknown>;
    proposal?: string;
    province?: string;
    provinceTo?: string;
    purchasePrice?: string;
    quoteHash?: QuoteHash;
    quoteId?: string;
    quoteRefCode?: string;
    recurrenceDetails?: QuoteRecurrenceDetails;
    referenceNumbers?: string[];
    refund?: Refund | Record<string, unknown>;
    registered?: string;
    registrationNumber?: string;
    renewalDetails?: QuoteRenewalDetails;
    renewalId?: string;
    renewalPolicyId?: string;
    returnDate?: string;
    room?: string;
    sameAddressQuestion?: string;
    scoreForm?: ScoreForm;
    sentMessages?: Record<string, unknown>;
    sessId?: string;
    session?: QuoteSession;
    source?: string;
    status?: QuoteStatus;
    street?: string;
    streetNumber?: string;
    studentRange?: string;
    subDistrict?: string;
    subStatus?: QuoteSubStatus;
    taxInformation?: QuoteTaxInformation;
    templateInsuredPersons?: Record<string, unknown>[];
    territory?: string;
    territoryCode?: string;
    title?: string;
    tokenSet?: Record<string, unknown>;
    totalClaimAmount?: string;
    transactionId?: string;
    travelPlan?: string;
    underMortgage?: string;
    uploadDocumentsNowLater?: string;
    url?: string;
    userAcceptedTerms?: boolean;
    usersAmount?: number;
    utm?: UtmParams;
    vehicleBusinessType?: Record<string, unknown>;
    vehicleInfo?: Record<string, unknown>;
    verificationCode?: string;
    vertical?: string;
    voucher?: Voucher;
    voucherAllowed?: boolean;
    yearBuilt?: string;
}
