import type * as Merge from "../../../index";
/**
 * # The ItemFulfillment Object
 * ### Description
 * The `ItemFulfillment` object represents the recorded shipment or delivery of some or all items on an associated sales order.
 *
 * ### Usage Example
 * Fetch from the `LIST ItemFulfillments` endpoint and view a company's item fulfillments.
 */
export interface ItemFulfillment {
    id?: string;
    /** The third-party API ID of the matching object. */
    remoteId?: string;
    /** The datetime that this object was created by Merge. */
    createdAt?: Date;
    /** The datetime that this object was modified by Merge. */
    modifiedAt?: Date;
    /** The ID of the sales order that the item fulfillment originated from. */
    salesOrder?: Merge.accounting.ItemFulfillmentSalesOrder;
    /** The date the fulfillment was created. */
    fulfillmentDate?: Date;
    /** The customer associated with the item fulfillment. */
    customer?: Merge.accounting.ItemFulfillmentCustomer;
    /** The subsidiary associated with the fulfillment. */
    company?: Merge.accounting.ItemFulfillmentCompany;
    /**
     * The status of the item fulfillment.
     *
     * * `DRAFT` - DRAFT
     * * `IN_PROGRESS` - IN_PROGRESS
     * * `SHIPPED` - SHIPPED
     * * `CANCELLED` - CANCELLED
     */
    status?: Merge.accounting.ItemFulfillmentStatus;
    /** Comment attached to the fulfillment. */
    memo?: string;
    lines?: Merge.accounting.ItemFulfillmentLinesItem[];
    /** When the third party's item fulfillment was created. */
    remoteCreatedAt?: Date;
    /** When the third party's item fulfillment was updated. */
    remoteUpdatedAt?: Date;
    /** Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). */
    remoteWasDeleted?: boolean;
    fieldMappings?: Record<string, unknown>;
    remoteData?: Merge.accounting.RemoteData[];
    remoteFields?: Merge.accounting.RemoteField[];
}
