import { AppliedLabel } from './appliedLabel';
import { BaseCustomFieldValue } from './baseCustomFieldValue';
import { BaseObject } from './baseObject';
import { BillingBase } from './billingBase';
import { BillingCap } from './billingCap';
import { BillingSchedule } from './billingSchedule';
import { BillingSource } from './billingSource';
import { BuyerRfp } from './buyerRfp';
import { DateTime } from './dateTime';
import { Money } from './money';
import { OfflineError } from './offlineError';
import { PricingModel } from './pricingModel';
import { ProposalApprovalStatus } from './proposalApprovalStatus';
import { ProposalCompanyAssociation } from './proposalCompanyAssociation';
import { ProposalLink } from './proposalLink';
import { ProposalMarketplaceInfo } from './proposalMarketplaceInfo';
import { ProposalStatus } from './proposalStatus';
import { ProposalTermsAndConditions } from './proposalTermsAndConditions';
import { RetractionDetails } from './retractionDetails';
import { SalespersonSplit } from './salespersonSplit';
import { WorkflowProgress } from './workflowProgress';
export interface Proposal extends BaseObject {
    id?: number;
    isProgrammatic?: boolean;
    dfpOrderId?: number;
    name?: string;
    pricingModel?: PricingModel;
    startDateTime?: DateTime;
    endDateTime?: DateTime;
    timeZoneId?: string;
    status?: ProposalStatus;
    isArchived?: boolean;
    advertiser?: ProposalCompanyAssociation;
    agencies?: ProposalCompanyAssociation[];
    probabilityOfClose?: number;
    billingCap?: BillingCap;
    billingSchedule?: BillingSchedule;
    billingSource?: BillingSource;
    billingBase?: BillingBase;
    poNumber?: string;
    internalNotes?: string;
    budget?: Money;
    primarySalesperson?: SalespersonSplit;
    secondarySalespeople?: SalespersonSplit[];
    salesPlannerIds?: number[];
    primaryTraffickerId?: number;
    secondaryTraffickerIds?: number[];
    sellerContactIds?: number[];
    appliedTeamIds?: number[];
    customFieldValues?: BaseCustomFieldValue[];
    appliedLabels?: AppliedLabel[];
    effectiveAppliedLabels?: AppliedLabel[];
    advertiserDiscount?: number;
    proposalDiscount?: number;
    currencyCode?: string;
    exchangeRate?: number;
    refreshExchangeRate?: boolean;
    agencyCommission?: number;
    valueAddedTax?: number;
    isSold?: boolean;
    approvalStatus?: ProposalApprovalStatus;
    workflowProgress?: WorkflowProgress;
    lastModifiedDateTime?: DateTime;
    resources?: ProposalLink[];
    actualExpiryTime?: DateTime;
    expectedExpiryTime?: DateTime;
    thirdPartyAdServerId?: number;
    customThirdPartyAdServerName?: string;
    termsAndConditions?: ProposalTermsAndConditions[];
    lastRetractionDetails?: RetractionDetails;
    marketplaceInfo?: ProposalMarketplaceInfo;
    offlineErrors?: OfflineError[];
    hasOfflineErrors?: boolean;
    buyerRfp?: BuyerRfp;
    hasBuyerRfp?: boolean;
}
