import { SymfonyModel, Translations } from './api.models';
export interface Country extends SymfonyModel {
    name: string;
    code: string;
    codeAndName: string;
    isoCode: string;
    codePhone: string;
    locale: string;
    locationType: LocationType;
    unit: Unit;
    timezone: string;
    hasImportService: boolean;
    phoneDigits: number;
    locationTypeFields: LocationTypeFields;
    postalCodeSuffixRegex: string;
    decimalPoint: 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;
    decimal_separator: string;
    thousands_separator: string;
    label_printer_name: string;
    receipt_printer_name: string;
    others_printer_name: string;
    territories: number[];
    use_billing?: boolean;
}
export interface LocationType extends SymfonyModel {
    code: string;
    name: string;
    priority: number;
}
export interface Unit extends SymfonyModel {
    name: string;
    weight: string;
    dimension: string;
}
export interface LocationTypeFields {
    city: City;
    postalCode: PostalCode;
    suburb: Suburb;
}
export interface City {
    enabled: boolean;
    required: boolean;
}
export interface PostalCode {
    enabled: boolean;
    required: boolean;
}
export interface Suburb {
    enabled: boolean;
    required: boolean;
}
export interface Language extends SymfonyModel {
    code: string;
    name: string;
}
export interface State extends SymfonyModel {
    country: Country;
    code: string;
    name: string;
}
export interface Currency extends SymfonyModel {
    code: string;
    name: string;
    symbol: string;
}
export interface IdentificationType extends SymfonyModel {
    code: string;
    countryId: number;
    identificationType: number | null;
    name: string;
    viewSection?: {
        [key: string]: boolean;
    };
}
export interface OperationType extends SymfonyModel {
    code: string;
    name: string;
    translations?: Translations;
}
export interface BoardingProcessStatus {
    id: number;
    code: string;
    createdAt: string;
    updatedAt: string;
}
export interface ExtraCharge extends SymfonyModel {
    code: string;
    name: string;
    isDiscount: boolean;
}
export interface PostalLocation extends SymfonyModel {
    city: string | null;
    postalCode: string | null;
    suburb: string | null;
    stateCode: string | null;
    iata: string;
    state: State | null;
}
export interface Region extends SymfonyModel {
    code: string;
    name: string;
    country: Country;
}
export interface Zone extends SymfonyModel {
    code: string;
    name: string;
    country: Country;
}
export interface ManagementArea extends SymfonyModel {
    name: string;
    country: Country;
}
export interface CancellationReason extends SymfonyModel {
    code: string;
    name: string;
    eventReasonCode: string;
    countryId: number;
}
export interface Currency extends SymfonyModel {
    code: string;
    name: string;
    symbol: string;
}
export interface Unit extends SymfonyModel {
    name: string;
    weight: string;
    dimension: string;
}
export interface ShipmentScope extends SymfonyModel {
    name: string;
}
export interface ShipmentContentType extends SymfonyModel {
    code: string;
    name: string;
}
export interface GenericFolio extends SymfonyModel {
    countryId: number;
    code: string;
    customer: string;
    accountNumber: string;
    content: string;
    packaging: true;
    destinationFullName: string;
    destinationAddressLine1: string;
    destinationAddressLine2: string;
    destinationAddressLine3: string;
    destinationCountryId: number;
    destinationCountryCode: string;
    destinationPostalCode: string;
    destinationCityName: string;
    destinationCountyName: string;
    destinationStateCode: string;
    destinationPhoneCode: string;
    destinationPhoneNumber: string;
    destinationEmail: string;
    countryReferenceProductIds: number[];
    productLocalCodes: string;
}
export interface Product extends SymfonyModel {
    globalCode: number;
    localCode: string;
    globalName: string;
    localName: string;
    isDocument: string;
    restrictedAccounts: {
        id: string;
        number: string;
        isActive: boolean;
    }[];
    discounts: [];
}
export interface ShipmentIncomeType extends SymfonyModel {
    countryId: number;
    code: string;
    name: string;
}
export interface UniqueFolio extends SymfonyModel {
    code: number;
    customer: string;
    content: string;
    kad: string | null;
    executive: string;
}
