import { ActiveLessLaravelModel, ApiModel, LaravelModel, Translations } from './api.models';
import { DocumentPayment } from './api-invoices.interfaces';
import { OperationType } from './api-catalog.interfaces';
export interface CollectionPayment extends LaravelModel {
    _id: number;
    country_code: string;
    country_id: number;
    country_name: string;
    company_id: number;
    company_name: string;
    company_country_id: number;
    installation_id: number;
    installation_number: number;
    location_facility_code: string;
    location_id: number;
    location_location_code: string;
    location_name: string;
    user_id: number;
    user_username: string;
    document_type_id: number;
    document_type: DocumentType;
    document_category_id: number;
    document_category: DocumentCategory;
    receipt_number: string;
    customer_name: string;
    account: string;
    amount: number;
    currency_id: number;
    currency_code: string;
    operation_type_id: number;
    operation_type: OperationType;
}
export interface DocumentType extends LaravelModel {
    _id: number;
    name: string;
    code: string;
    movement_type: number;
    local_code: string;
    translations: Translations;
}
export interface DocumentCategory extends LaravelModel {
    _id: number;
    name: string;
    is_electronic: true;
    taxable: number;
    created_at: string;
    updated_at: string;
    translations: Translations;
}
export interface Shipment extends LaravelModel {
    amount_1: number;
    amount_2: number;
    amount_collected: number;
    authorization_numbers: string[];
    commercial_invoice: boolean;
    company_country_id: number;
    company_id: number;
    company_name: string;
    country_code: string;
    country_id: number;
    country_name: string;
    currency_code: string | null;
    customer_email: string;
    customer_full_phone_number: string;
    customer_identification_number: string;
    customer_identification_type_id: number;
    date: string;
    date_og: string;
    declared_value: number;
    delivery_date_time: string;
    destination_facility_code: string;
    destination_service_area_code: string;
    document_id: number;
    document_payments?: DocumentPayment[];
    ein_number: string;
    installation_id: number;
    installation_number: number;
    insured_value: number;
    invoice?: string[];
    invoice_document_id?: number | null;
    is_document: boolean;
    is_kiosk: boolean;
    is_manual: boolean;
    is_marketing_consent: boolean;
    is_price_override: boolean;
    is_proforma: boolean;
    is_promotion_code: boolean;
    is_retail_rate: boolean;
    is_term_condition: boolean;
    itn_number: string;
    location_facility_code: string;
    location_id: number;
    location_name: string;
    origin_facility_code: string;
    origin_service_area_code: string;
    payment_code_1: string;
    payment_code_2: string;
    payment_type_1: string;
    payment_type_2: string;
    price_override_approver_id: number;
    price_override_approver_name: string;
    price_override_reason_id: number;
    price_override_reason_name: string;
    product_global_code: string;
    product_local_code: string;
    product_subtotal: number;
    product_tax: number;
    product_total: number;
    promotion_code: string;
    question_description: string;
    question_id: number;
    question_type: string;
    receiver_address_line1: string;
    receiver_address_line2: string;
    receiver_city_name: string;
    receiver_company_name: string;
    receiver_full_name: string;
    receiver_postal_code: string;
    receiver_state_code: string;
    receiver_state_name: string;
    reference_1: string;
    reference_2: string;
    retail_rate_adjustment: number;
    selected?: boolean;
    send_to_api_inventories: boolean;
    shipment?: string[];
    shipment_bill_weight: number;
    shipment_gmt_offset: string;
    shipment_id: number;
    shipment_pieces_number: number;
    shipment_pieces_tracking_numbers: string[];
    shipment_scope_name: string;
    shipment_status_code: string;
    shipment_status_description: string;
    shipment_status_id: number;
    shipment_tracking_number: string;
    shipment_type: string;
    shipment_value: number;
    shipper_account: string;
    shipper_address_line1: string;
    shipper_address_line2: string;
    shipper_city_name: string;
    shipper_company_name: string;
    shipper_email: string;
    shipper_full_name: string;
    shipper_full_phone_number: string;
    shipper_phone_code: string;
    shipper_phone_number: string;
    shipper_postal_code: string;
    shipper_state_code: string;
    shipper_state_name: string;
    subtotal: number;
    tax: number;
    to_landing: boolean;
    total: number;
    total_partner_account_value: number;
    total_published_value: number;
    transaction_id: string;
    user_id: number;
    user_username: string;
    additional_documents: {
        country_id: number;
        include_indemnity_letter: boolean;
        include_pdf: boolean;
        shipment_content_type_id: number;
        shipment_scope_id: number;
    };
    product_taxes: {
        code: string;
        percent: number;
        base_amount: number;
        amount: number;
    }[];
    shipment_company_country_extra_charges: {
        _id: number;
        subtotal: number;
        tax: number;
        total: number;
        extra_charge_id: number;
        taxes: {
            code: string;
            percent: number;
            base_amount: number;
            amount: number;
        }[];
        created_at: string;
        updated_at: string;
        global_service_code: string;
        local_service_code: string;
        global_service_name: string;
        local_service_name: string;
        is_discount: false;
    }[];
    shipment_status_translations: {
        description: {
            [key: string]: string;
        };
    };
}
export interface ReportExternalShipment extends ActiveLessLaravelModel {
    account_number: string;
    collection_date: string;
    document_id: number | null;
    document_number: string | null;
    external_shipment_addresses: ReportExternalShipmentAddress[];
    external_shipment_file_id: number;
    external_shipment_status_id: number;
    external_shipment_status_name: string;
    external_shipment_status_translations: Translations;
    installation_id: number;
    subtotal: number;
    tax: number;
    total: number;
    tracking_number: string;
    user_id: number;
}
export interface ReportExternalShipmentAddress extends ApiModel {
    address_line_1: string;
    address_line_2: string;
    city_name: string;
    company_name: string;
    country_id: number;
    email: string;
    full_name: string;
    identification_number: string | null;
    identification_type_id: number | null;
    phone_number: string;
    postal_code: string;
    role_type: string;
    service_area_code: string;
}
