import { DispatcherType } from '../merchant/strategies/speed/dispatcherType';
import { RateResponse } from '../rate/rateResponse';
import { Address } from './address';
import { CustomField } from './customField';
import { DeliveryClassificationType } from './deliveryClassificationType';
import { DTOAddress } from './dtoAddress';
import { EmailTrigger } from './emailTrigger';
import { GoboltTrackingEvent } from './goboltTrackingEvent';
import { OrderItem } from './OrderItem';
import { OrderSourceType } from './orderSourceType';
import { OtherScans } from './otherScans';
import { Package } from './package';
import { PackageReceived } from './packageReceived';
import { Recipient } from './recipient';
import { ScanEvent } from './scanEvent';
import { OrderStatusType } from './status';
import { Task } from './task';
import { TimeChangeEvent } from './timeChangeEvent';
import { TimelineEvent } from './timelineEvent';
export declare class Order {
    id: string;
    createdAt: Date;
    version: number;
    merchantId: string;
    merchantDisplayName?: string;
    recipient: Recipient;
    dtoRecipientAddress?: DTOAddress | undefined;
    recipientAddress?: Address | undefined;
    createdBy: string;
    dtoOriginAddress?: DTOAddress | undefined;
    originAddress?: Address | undefined;
    orderStatus: OrderStatusType;
    deliveryType?: DeliveryClassificationType;
    signatureRequired: boolean;
    scanningRequired: boolean;
    validAddress: boolean;
    completeAfter?: number;
    completeBefore?: number;
    tasks: Task[];
    notes?: string;
    labelUrl?: string;
    pdfLabelUrl?: string;
    completionNotes?: string;
    completionPhotos?: string[];
    failureNotes?: string;
    pickedUpAt?: Date;
    packageReceivedAt?: Date;
    packagesReceivedAt?: PackageReceived[];
    outForDeliveryAt?: Date;
    pickupReadyAt?: Date;
    completedAt?: Date;
    failedAt?: Date;
    packages?: Package[];
    packageCount: number;
    refNumber?: string;
    freeSearch?: string;
    saveAddress?: boolean;
    rateChoice?: RateResponse;
    availableRates?: RateResponse[];
    useCoordinate?: boolean;
    scanEvents?: ScanEvent[];
    orderItems?: OrderItem[];
    pickupId?: string;
    shipstationId?: string;
    otherScans?: OtherScans[];
    source?: OrderSourceType;
    customFields?: CustomField[];
    timeChangeEvents?: TimeChangeEvent[];
    originalCompleteAfter?: number;
    originalCompleteBefore?: number;
    tags?: string[];
    freshFood?: boolean;
    emailsSent?: EmailTrigger[];
    retailerEmailsSent?: EmailTrigger[];
    adjustedOriginalCompleteAfter?: number;
    adjustedOriginalCompleteBefore?: number;
    completionDelay?: number;
    lateCompletion?: boolean;
    latestScanMontreal?: number;
    latestScanToronto?: number;
    latestScanQuebecCity?: number;
    latestScanOttawa?: number;
    latestScanVancouver?: number;
    minimumAge?: number;
    dispatcher?: DispatcherType;
    goboltTrackingEvents?: GoboltTrackingEvent[];
    timelineEvents?: TimelineEvent[];
    goboltOrderCreate?: boolean;
    destinationTimezone?: string;
    originTimezone?: string;
    sortCode?: string;
}
