import { LaravelModel } from './api.models';
import { BoardingProcessStatus, Currency, IdentificationType, State } from './api-catalog.interfaces';
export interface Account extends LaravelModel {
    number: string;
    description: string;
    account_type_id: number;
    country_id: number;
    is_default: boolean;
}
export interface Company extends LaravelModel {
    id: number;
    created_at: string;
    updated_at: string;
    name: string;
    contact_name: string;
    contact_email: string;
    contact_phone: string;
    state: string;
    city: string;
    county_name: string;
    zip_code: string;
    address1: string;
    address2: string;
    address3: string;
    is_active: boolean;
}
export interface CompanyCountry extends LaravelModel {
    company_id: number;
    country_id: number;
    headquarters_city_code: string;
    lp_code: string;
    company: Company;
    contact_name: string;
    contact_email: string;
    contact_phone_code: string;
    contact_phone_number: string;
    state: string;
    city: string;
    zip_code: string;
    county_name: string;
    address1: string;
    address2: string;
    address3: string;
}
export interface CompanyCountryTax extends LaravelModel {
    code: string;
    name: string;
    percentage: number;
    company_country_id: number;
    shipment_scopes: number[];
    base_percentage: number;
    tax_type: string;
}
export interface CountryCurrencyRate extends CountryReferenceCurrency {
    rate: string;
}
export interface CountryReference extends LaravelModel {
    language_id: number;
    decimal_point: number;
    decimal_separator: string;
    thousands_separator: string;
    use_billing: boolean;
    use_payments: boolean;
    restricted_import_countries: number[];
    currency_id: number;
    max_quantity_document_piece: number;
    max_quantity_package_piece: number;
    weight_restriction_piece: number;
    restriction_shipment: number;
    restriction_dimension: number;
    max_declared_value: number;
    territories: number[];
    some_openings: boolean;
    locale: string;
    country_id: number;
    label_printer_name: string;
    receipt_printer_name: string;
    others_printer_name: string;
}
export interface CountryReferenceCurrency extends LaravelModel {
    country_id: number;
    currency_id: number;
    is_local: boolean;
    can_transact: boolean;
    code: string;
    name: string;
    is_default: boolean;
    is_declared_insured: boolean;
    currency: Currency;
}
export interface Employee extends LaravelModel {
    name: string;
    last_name: string;
    number: string;
    company_id: number;
    country_id: number;
    external: boolean;
    phone_code: string;
    phone_number: string;
    is_active: boolean;
    password: string;
    roles: string[];
    locations: Location[];
}
export interface Exchange extends LaravelModel {
    company_country_currency_id: number;
    valid_since: string;
    valid_until: string | null;
    value: string;
    type: string;
}
export interface CountryExchange extends Exchange {
    currency: Currency;
    country_reference_currency: CountryReferenceCurrency;
}
export interface Installation extends LaravelModel {
    system_id: number;
    mac_address: string;
    ip_address: string;
    location_id: number;
}
export interface Location extends LaravelModel {
    name: string;
    contact_name: string;
    email: string;
    facility_code: string;
    location_code: string;
    type: string;
    state_name: string;
    state_id: number;
    state_code: string;
    city_name: string;
    zip_code: string;
    county_name: string;
    address1: string;
    address2: string;
    address3: string;
    service_area_code: string;
    iata_code: string;
    phone_code: string;
    phone_number: string;
    gmt_offset: string;
    company_country_id: number;
    country_zone_id: number;
    country_region_id: number;
    management_area_id: number;
    google_maps_id: string;
    route_number: string;
    locker_enabled: boolean;
    queue_manager_enabled: boolean;
    commission_account: string;
    service_point_id: string;
    is_occurs: boolean;
    accounts: Account[];
    company_country: CompanyCountry;
    state: State;
}
export interface LocationEmployee extends LaravelModel {
    location_id: number;
    employee_id: number;
    is_active: boolean;
    is_supervisor: boolean;
    employee: Employee;
    location: Location;
}
export interface Parameter {
    name: string;
    value: any;
    status?: string;
}
export interface SupplyEntity extends LaravelModel {
    name: string;
    description: string;
    country_id: number;
    enabled_for_dropoff: boolean;
    supply_type: SupplyType;
    supply_packing: SupplyPacking;
}
export interface SupplyPacking extends LaravelModel {
    value: number;
    weight: number;
    height: number;
    depth: number;
    width: number;
    emobile_code: string | null;
}
export interface SupplyType extends LaravelModel {
    name: string;
}
export interface Workflow {
    page: string;
    enabled: boolean;
}
export interface EmployeeCustomerDhl extends LaravelModel {
    identification_type_id: number;
    identification_type_value: string;
    name: string;
    last_name: string;
    address: string;
    phone_code: string;
    phone_number: string;
    email: string;
    country_id: number;
    employee_id: number | null;
    identification_type: IdentificationType;
}
export interface BoardingProcess {
    id: number;
    boarding_process_type_id: number;
    status_id: number;
    is_finished: boolean;
    start_date_time: string;
    end_date_time: string;
    created_at: string;
    updated_at: string;
    status: BoardingProcessStatus;
    boarding_process_histories: BoardingProcessHistory[];
}
export interface BoardingProcessHistory {
    id: number;
    boarding_process_id: number;
    status_id: number;
    messages: string[];
    created_at: string;
    updated_at: string;
}
