/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export declare type CreateLabelRequestBody = Label;
export declare type Shipment = PartialShipment;
export declare type OrderSourceName = "amazon_ca" | "amazon_us" | "brightpearl" | "channel_advisor" | "cratejoy" | "ebay" | "etsy" | "jane" | "groupon_goods" | "magento" | "paypal" | "seller_active" | "shopify" | "stitch_labs" | "squarespace" | "three_dcart" | "tophatter" | "walmart" | "woo_commerce" | "volusion";
export declare type TaxableEntityType = "shipper" | "recipient";
export declare type IdentifierType = "vat" | "eori" | "ssn" | "ein" | "tin" | "ioss" | "pan" | "voec";
export declare type Address = PartialAddress;
export declare type PostalCode = string;
export declare type CountryCode = string;
export declare type AddressResidentialIndicator = "unknown" | "yes" | "no";
export declare type Address1 = PartialAddress1;
export declare type PostalCode1 = string;
export declare type CountryCode1 = string;
export declare type AddressResidentialIndicator1 = "unknown" | "yes" | "no";
export declare type SeId = string;
export declare type Address2 = PartialAddress2;
export declare type PostalCode2 = string;
export declare type CountryCode2 = string;
export declare type AddressResidentialIndicator2 = "unknown" | "yes" | "no";
export declare type DeliveryConfirmation = "none" | "delivery" | "signature" | "adult_signature" | "direct_signature" | "delivery_mailed";
export declare type PackageContents = "merchandise" | "documents" | "gift" | "returned_goods" | "sample";
export declare type NonDelivery = "return_to_sender" | "treat_as_abandoned";
export declare type Currency = "usd" | "cad" | "aud" | "gbp" | "eur" | "nzd";
export declare type CountryCode3 = string;
export declare type CountryCode4 = string;
export declare type BillToParty = "recipient" | "third_party";
export declare type WeightUnit = "pound" | "ounce" | "gram" | "kilogram";
export declare type OriginType = "pickup" | "drop_off";
export declare type CollectOnDeliveryPaymentType = "any" | "cash" | "cash_equivalent" | "none";
export declare type Currency1 = "usd" | "cad" | "aud" | "gbp" | "eur" | "nzd";
export declare type OriginType1 = "pickup" | "drop_off";
export declare type InsuranceProvider = "none" | "shipsurance" | "carrier" | "third_party";
export declare type OrderSourceName1 = "amazon_ca" | "amazon_us" | "brightpearl" | "channel_advisor" | "cratejoy" | "ebay" | "etsy" | "jane" | "groupon_goods" | "magento" | "paypal" | "seller_active" | "shopify" | "stitch_labs" | "squarespace" | "three_dcart" | "tophatter" | "walmart" | "woo_commerce" | "volusion";
export declare type LabelChargeEvent = "carrier_default" | "on_creation" | "on_carrier_acceptance";
export declare type SeId1 = string;
export declare type ValidateAddress = "no_validation" | "validate_only" | "validate_and_clean";
export declare type LabelDownloadType = "url" | "inline";
export declare type LabelFormat = "pdf" | "png" | "zpl";
export declare type DisplayScheme = "label" | "qr_code";
export declare type LabelLayout = "4x6" | "letter";
export declare type ImageId = string;
export interface Label {
    shipment?: Shipment;
    is_return_label?: boolean;
    rma_number?: string;
    charge_event?: LabelChargeEvent;
    outbound_label_id?: SeId1;
    test_label?: boolean;
    validate_address?: ValidateAddress & string;
    label_download_type?: LabelDownloadType & string;
    label_format?: LabelFormat & string;
    display_scheme?: DisplayScheme & string;
    label_layout?: LabelLayout & string;
    label_image_id?: ImageId;
}
export interface PartialShipment {
    external_order_id?: string;
    items?: ShipmentItem[];
    tax_identifiers?: TaxIdentifier[];
    external_shipment_id?: string;
    ship_to?: Address;
    ship_from?: Address1;
    warehouse_id?: SeId;
    return_to?: Address2;
    confirmation?: DeliveryConfirmation & string;
    customs?: InternationalShipmentOptions;
    advanced_options?: AdvancedShipmentOptions;
    origin_type?: OriginType1;
    insurance_provider?: InsuranceProvider & string;
    order_source_code?: OrderSourceName1;
}
export interface ShipmentItem {
    name?: string;
    sales_order_id?: string;
    sales_order_item_id?: string;
    quantity?: number;
    sku?: string;
    external_order_id?: string;
    external_order_item_id?: string;
    asin?: string;
    order_source_code?: OrderSourceName;
}
export interface TaxIdentifier {
    taxable_entity_type: TaxableEntityType;
    identifier_type: IdentifierType;
    issuing_authority: string;
    value: string;
}
export interface PartialAddress {
    name?: string;
    phone?: string;
    company_name?: string;
    address_line1?: string;
    address_line2?: string;
    address_line3?: string;
    city_locality?: string;
    state_province?: string;
    postal_code?: PostalCode;
    country_code?: CountryCode;
    address_residential_indicator?: AddressResidentialIndicator & string;
}
export interface PartialAddress1 {
    name?: string;
    phone?: string;
    company_name?: string;
    address_line1?: string;
    address_line2?: string;
    address_line3?: string;
    city_locality?: string;
    state_province?: string;
    postal_code?: PostalCode1;
    country_code?: CountryCode1;
    address_residential_indicator?: AddressResidentialIndicator1 & string;
}
export interface PartialAddress2 {
    name?: string;
    phone?: string;
    company_name?: string;
    address_line1?: string;
    address_line2?: string;
    address_line3?: string;
    city_locality?: string;
    state_province?: string;
    postal_code?: PostalCode2;
    country_code?: CountryCode2;
    address_residential_indicator?: AddressResidentialIndicator2 & string;
}
export interface InternationalShipmentOptions {
    contents: PackageContents & string;
    non_delivery: NonDelivery & string;
    customs_items?: CustomsItem[];
}
export interface CustomsItem {
    quantity?: number;
    value?: MonetaryValue;
    harmonized_tariff_code?: string;
    country_of_origin?: CountryCode3;
    unit_of_measure?: string;
    sku?: string;
    sku_description?: string;
}
export interface MonetaryValue {
    currency: Currency;
    amount: number;
}
export interface AdvancedShipmentOptions {
    bill_to_account?: string;
    bill_to_country_code?: CountryCode4;
    bill_to_party?: BillToParty;
    bill_to_postal_code?: string;
    contains_alcohol?: boolean;
    delivered_duty_paid?: boolean;
    dry_ice?: boolean;
    dry_ice_weight?: Weight;
    non_machinable?: boolean;
    saturday_delivery?: boolean;
    use_ups_ground_freight_pricing?: boolean;
    freight_class?: string;
    custom_field1?: string;
    custom_field2?: string;
    custom_field3?: string;
    origin_type?: OriginType;
    shipper_release?: boolean;
    collect_on_delivery?: CollectOnDelivery;
}
export interface Weight {
    value: number;
    unit: WeightUnit;
}
export interface CollectOnDelivery {
    payment_type?: CollectOnDeliveryPaymentType;
    payment_amount?: PaymentAmount;
    [k: string]: unknown;
}
export interface PaymentAmount {
    currency?: Currency1;
    amount?: number;
    [k: string]: unknown;
}
