import { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios'; /** * Common types used across the SDK */ interface EcontConfig { username: string; password: string; environment?: "production" | "demo"; timeout?: number; maxRetries?: number; } interface ApiResponse { success: boolean; data?: T; error?: ApiError$1; } interface ApiError$1 { code: string; message: string; details?: string; } interface PaginationParams { page?: number; pageSize?: number; } interface PaginatedResponse { items: T[]; totalCount: number; page: number; pageSize: number; } interface Address { id?: number | null; city?: City; fullAddress?: string; fullAddressEn?: string; quarter?: string | null; street?: string | null; num?: string; other?: string; location?: GeoLocation | null; zip?: string | null; hezid?: string | null; officeCode?: string; } interface GeoLocation { latitude: number; longitude: number; confidence: number; } interface City { id: number; country: Country; postCode: string; name: string; nameEn: string; regionName: string | null; regionNameEn: string | null; phoneCode: string | null; location: GeoLocation | null; expressCityDeliveries: boolean | null; monday: boolean | null; tuesday: boolean | null; wednesday: boolean | null; thursday: boolean | null; friday: boolean | null; saturday: boolean | null; sunday: boolean | null; serviceDays: number | null; zoneId: number | null; zoneName: string | null; zoneNameEn: string | null; servingOffices: ServingOffice[]; } interface Country { id: number | null; code2: string; code3: string; name: string; nameEn: string; isEU: boolean; } interface ServingOffice { officeCode: string; servingType: string; } interface PhoneNumber { number: string; type?: "mobile" | "landline"; } interface ContactPerson { name: string; phones: PhoneNumber[]; email?: string; } interface HttpClientConfig { baseURL: string; username: string; password: string; timeout?: number; maxRetries?: number; } declare class HttpClient { private client; constructor(config: HttpClientConfig); private setupInterceptors; request(config: AxiosRequestConfig): Promise>; get(url: string, config?: AxiosRequestConfig): Promise; post(url: string, data?: object, config?: AxiosRequestConfig): Promise; put(url: string, data?: object, config?: AxiosRequestConfig): Promise; delete(url: string, config?: AxiosRequestConfig): Promise; patch(url: string, data?: object, config?: AxiosRequestConfig): Promise; } /** * Base resource class that all resource classes extend from */ declare abstract class BaseResource { protected http: HttpClient; constructor(http: HttpClient); } /** * Office types */ interface Office { id: number; code: string; isMPS: boolean; isAPS: boolean; name: string; nameEn: string; phones: string[]; emails: string[]; address: OfficeAddress; info: string; currency: string; language: string | null; normalBusinessHoursFrom: number; normalBusinessHoursTo: number; halfDayBusinessHoursFrom: number; halfDayBusinessHoursTo: number; shipmentTypes: string[]; partnerCode: string; hubCode: string; hubName: string; hubNameEn: string; isDrive: boolean; } interface OfficeAddress { id: number | null; city: City; fullAddress: string; fullAddressEn: string; quarter: string | null; street: string | null; num: string; other: string; location: Location | null; zip: string | null; hezid: string | null; } interface Location { latitude: number; longitude: number; confidence: number; } interface GetOfficesRequest { countryCode?: string; cityId?: number; officeCode?: string; } interface GetOfficesResponse { offices: Office[]; } /** * Nomenclatures types - Street, Quarter, etc. */ interface Street { id?: number; cityID?: number; name?: string; nameEn?: string; } interface Quarter { id?: number; cityID?: number; name?: string; nameEn?: string; } interface GetStreetsRequest { cityID?: number; streetName?: string; } interface GetStreetsResponse { streets?: Street[]; } interface GetQuartersRequest { cityID?: number; } interface GetQuartersResponse { quarters?: Quarter[]; } /** * Offices resource - handles office-related operations */ declare class Offices extends BaseResource { /** * Get list of Econt offices * At least one filter is required to prevent huge responses */ list(params: GetOfficesRequest): Promise; /** * Get a specific office by code */ get(officeCode: string): Promise; /** * Get offices in a specific city */ getByCity(cityId: number): Promise; /** * Get offices in a specific country */ getByCountry(countryCode: string): Promise; /** * Get list of cities * countryCode is required to prevent huge responses */ getCities(params: { countryCode: string; cityId?: number; }): Promise; /** * Get list of countries * This endpoint returns all countries (~236) which is manageable */ getCountries(): Promise; /** * Search for streets in a city */ getStreets(cityID: number, streetName?: string): Promise; /** * Get quarters (neighborhoods) in a city */ getQuarters(cityID: number): Promise; } /** * Profile and client types */ interface ClientProfile { name?: string; nameEn?: string; phones?: string[]; email?: string; clientNumber?: string; personalIDNumber?: string; firmIDNumber?: string; address?: string; } interface CDPayOptions { paymentMethod?: string; cardNumber?: string; cardholderName?: string; expiryDate?: string; cvv?: string; } interface GetClientProfilesResponse { profiles?: ClientProfile[]; } interface CreateCDAgreementRequest { clientProfile?: ClientProfile; agreementDetails?: string; } interface CreateCDAgreementResponse { success?: boolean; agreementId?: string; } /** * Shipment types */ declare enum ShipmentType { DOCUMENT = "document", PACK = "pack", PALLET = "pallet", CARGO = "cargo", DOCUMENT_PALLET = "documentpallet", BIG_LETTER = "big_letter", SMALL_LETTER = "small_letter", MONEY_TRANSFER = "money_transfer", PP = "pp" } declare enum InstructionType { TAKE = "take", GIVE = "give", RETURN = "return", SERVICES = "services" } declare enum RequestCourierStatusType { UNPROCESS = "unprocess", PROCESS = "process", TAKEN = "taken", REJECT = "reject", REJECT_CLIENT = "reject_client" } interface HostedFile { url: string; filename?: string; contentType?: string; } interface ReturnInstructionParams { returnParcelDestination?: string; returnParcelIsDocument?: boolean; returnParcelIsEmptyPallet?: boolean; emptyPalletEuro: number; emptyPallet80: number; emptyPallet100: number; emptyPallet120: number; daysUntilReturn?: number; returnParcelPaymentSide?: string; returnParcelReceiverClient?: ClientProfile; returnParcelReceiverAgent?: ClientProfile; returnParcelReceiverOfficeCode?: string; returnParcelReceiverAddress?: Address; printReturnParcel?: boolean; rejectAction?: string; rejectInstruction?: string; rejectContact?: string; rejectReturnClient?: ClientProfile; rejectReturnAgent?: ClientProfile; rejectReturnOfficeCode?: string; rejectReturnAddress?: Address; rejectOriginalParcelPaySide?: string; rejectReturnParcelPaySide?: string; signatureDocuments: boolean; signaturePenColor: string; signatureCount: number; signaturePageNumbers: string; signatureOtherInstructions: string; executeIfRejectedWithoutReview?: boolean; useReturnAddressForInstruction?: boolean; executeIfNotTaken: number; } interface Instruction { id?: number; type?: InstructionType; title?: string; description?: string; attachments?: HostedFile[]; voiceDescription?: HostedFile; returnInstructionParams?: ReturnInstructionParams; name?: string; applyToAllParcels?: boolean; applyToReceivers?: string[]; } interface PackElement { width: number; height: number; length: number; weight: number; } interface PackingListElement { inventoryNum?: string; description?: string; weight?: number; count?: number; price?: number; file?: HostedFile; alternativeDepartment?: string; } interface CustomsListElement { cn: string; description: string; sum: number; currency: string; } interface CargoVehicleOptions { senderAddressTruckAccess?: boolean; receiverAddressTruckAccess?: boolean; senderAddressLiftingVehicleRequired?: boolean; receiverAddressLiftingVehicleRequired?: boolean; senderAddressTailLiftTruckRequired?: boolean; receiverAddressTailLiftTruckRequired?: boolean; } interface ShippingLabelServices { priorityTimeFrom?: string; priorityTimeTo?: string; deliveryReceipt?: boolean; digitalReceipt?: boolean; goodsReceipt?: boolean; twoWayShipment?: boolean; deliveryToFloor?: boolean; pack5?: number; pack6?: number; pack8?: number; pack9?: number; pack10?: number; pack12?: number; refrigeratedPack?: number; declaredValueAmount?: number; declaredValueCurrency?: string; moneyTransferAmount?: number; expressMoneyTransfer?: boolean; cdAmount?: number; cdType?: string; cdCurrency?: string; cdPayOptionsTemplate?: string; cdPayOptions?: CDPayOptions; invoiceBeforePayCD?: boolean; smsNotification?: boolean; invoiceNum?: string; } interface ShippingLabel { shipmentNumber?: string; previousShipmentNumber?: string; previousShipmentReceiverPhone?: string; senderClient?: ClientProfile; senderAgent?: ClientProfile; senderAddress?: Address; senderOfficeCode?: string; emailOnDelivery?: string; smsOnDelivery?: string; receiverClient?: ClientProfile; receiverAgent?: ClientProfile; receiverAddress?: Address; receiverOfficeCode?: string; receiverProviderID?: number; receiverBIC?: string; receiverIBAN?: string; envelopeNumbers?: string[]; packCount?: number; packs?: PackElement[]; shipmentType?: ShipmentType; weight?: number; sizeUnder60cm?: boolean; shipmentDimensionsL?: number; shipmentDimensionsW?: number; shipmentDimensionsH?: number; shipmentDescription?: string; orderNumber?: string; sendDate?: string; holidayDeliveryDay?: string; keepUpright?: boolean; services?: ShippingLabelServices; instructions?: Instruction[]; payAfterAccept?: boolean; payAfterTest?: boolean; packingListType?: string; packingList?: PackingListElement[]; partialDelivery?: boolean; paymentSenderMethod?: string; paymentReceiverMethod?: string; paymentReceiverAmount?: number; paymentReceiverAmountIsPercent?: boolean; paymentOtherClientNumber?: string; paymentOtherAmount?: number; paymentOtherAmountIsPercent?: boolean; mediator?: string; paymentToken?: string; customsList?: CustomsListElement[]; customsInvoice?: string; cargoVehicleOptions?: CargoVehicleOptions; } interface ShipmentStatusService { type?: string; description?: string; count?: number; paymentSide?: string; price?: number; currency?: string; } interface ShipmentTrackingEvent { isReceipt?: boolean; destinationType?: string; destinationDetails?: string; destinationDetailsEn?: string; officeName?: string; officeNameEn?: string; cityName?: string; cityNameEn?: string; countryCode?: string; officeCode: string; time?: string; } interface NextShipmentElement { shipmentNumber?: string; reason?: string; pdfURL?: string; } interface PreviousShipment { shipmentNumber: number; reason: string; pdfURL: string; } interface ShipmentEditionResponseElement { shipmentNum: number; editionNum: number; editionType: string; editionError: string; price: string; currency: string; } interface ShipmentStatus { shipmentNumber?: string; storageOfficeName?: string; storagePersonName?: string; createdTime?: string; sendTime?: string; deliveryTime?: string; shipmentType?: ShipmentType; packCount?: number; shipmentDescription?: string; weight?: number; senderDeliveryType?: string; senderClient?: ClientProfile; senderAgent?: ClientProfile; senderOfficeCode?: string; senderAddress?: Address; receiverDeliveryType?: string; receiverClient?: ClientProfile; receiverAgent?: ClientProfile; receiverOfficeCode?: string; receiverAddress?: Address; hubCode?: string; hubName?: string; hubNameEN?: string; cdCollectedAmount?: number; cdCollectedCurrency?: string; cdCollectedTime?: string; cdPaidAmount?: number; cdPaidCurrency?: string; cdPaidTime?: string; totalPrice?: number; currency?: string; discountPercent?: number; discountAmount?: number; discountDescription?: string; senderDueAmount?: number; receiverDueAmount?: number; otherDueAmount?: number; deliveryAttemptCount?: number; previousShipmentNumber?: string; services?: ShipmentStatusService[]; lastProcessedInstruction?: string; nextShipments?: NextShipmentElement[]; trackingEvents?: ShipmentTrackingEvent[]; pdfURL?: string; expectedDeliveryDate?: string; returnShipmentURL?: string; rejectOriginalParcelPaySide: string; rejectReturnParcelPaySide: string; shipmentEdition: ShipmentEditionResponseElement; previousShipment: PreviousShipment; warnings?: string; shortDeliveryStatus: string; shortDeliveryStatusEn: string; routingCode?: string; } interface PaymentAdditionPrice { side: string; shareAmount: number; method: string; otherClientNumber: string; } interface PaymentInstruction { method: string; } interface CreateLabelResultElement { label?: ShipmentStatus; error?: ApiError; payAfterAcceptIgnored: string; } interface DeleteLabelsResultElement { shipmentNum?: string; error?: ApiError; } interface ShipmentStatusResultElement { status?: ShipmentStatus; error?: ApiError; } interface RequestCourierStatus { id?: number; status?: RequestCourierStatusType; note?: string; reject_reason?: string; } interface RequestCourierStatusResultElement { status?: RequestCourierStatus; error?: ApiError; } interface GetMyAWBResultElement { shipmentNumber: string; senderName: string; status: string; createdDate: string; acceptedDate: string; cdAmount: number; courierServiceAmount: number; courierServiceMasterPayer: string; receiverPhone: string; cdCurrency: string; courierServiceCurrency: string; } interface CheckPossibleShipmentEditionsResultElement { possibleShipmentEditions?: string[]; shipmentNum: number; } interface UpdateLabelRequest { label: ShippingLabel; requestCourierTimeFrom: string; requestCourierTimeTo: string; destroy: boolean; paymentAdditionPrice: PaymentAdditionPrice; paymentInstruction: PaymentInstruction; } interface UpdateLabelsResultElement { error?: ApiError; labels: UpdateLabelResponse; } interface UpdateLabelResponse { label?: ShipmentStatus; } interface ApiError { code: string; message: string; details?: string; } interface CreateLabelRequest { label?: ShippingLabel; requestCourierTimeFrom?: string; requestCourierTimeTo?: string; mode?: "calculate" | "validate" | "create" | "calculate_with_block"; } interface CreateLabelResponse { label?: ShipmentStatus; blockingPaymentURL?: string; courierRequestID?: number; payAfterAcceptIgnored: string; } interface CreateLabelsRequest { labels?: ShippingLabel[]; runAsyncAndEmailResultTo?: string; mode?: "validate" | "calculate" | "create"; } interface CreateLabelsResponse { results?: CreateLabelResultElement[]; } interface DeleteLabelsRequest { shipmentNumbers?: string[]; } interface DeleteLabelsResponse { results?: DeleteLabelsResultElement[]; } interface UpdateLabelRequestData { label: ShippingLabel; requestCourierTimeFrom: string; requestCourierTimeTo: string; destroy: boolean; paymentAdditionPrice: PaymentAdditionPrice; paymentInstruction: PaymentInstruction; } interface UpdateLabelResponseData { label: ShipmentStatus; } interface UpdateLabelsRequest { labels: UpdateLabelRequest[]; } interface UpdateLabelsResponse { results?: UpdateLabelsResultElement[]; } interface CheckPossibleShipmentEditionsRequest { shipmentNums: number[]; } interface CheckPossibleShipmentEditionsResponse { possibleShipmentEditions?: CheckPossibleShipmentEditionsResultElement[]; } interface GroupingRequest { labels: number[]; } interface GroupingResponse { label: ShipmentStatus; } interface GroupingCancelationRequest { groupLabel: number; } interface GroupingCancelationResponse { status: string; } interface RequestCourierRequest { requestTimeFrom?: string; requestTimeTo?: string; shipmentType?: ShipmentType; shipmentPackCount?: number; shipmentWeight?: number; senderClient?: ClientProfile; senderAgent?: ClientProfile; senderAddress?: Address; attachShipments?: string[]; pack12?: number; cargoVehicleOptions?: CargoVehicleOptions; } interface RequestCourierResponse { courierRequestID?: string; warnings?: string; } interface GetShipmentStatusesRequest { shipmentNumbers?: string[]; } interface GetShipmentStatusesResponse { shipmentStatuses?: ShipmentStatusResultElement[]; } interface GetRequestCourierStatusRequest { requestCourierIds?: string[]; } interface GetRequestCourierStatusResponse { requestCourierStatus?: RequestCourierStatusResultElement[]; } interface GetMyAWBRequest { dateFrom: string; dateTo: string; page?: number; side: string; } interface GetMyAWBResponse { dateFrom: string; dateTo: string; page: number; totalPages: number; results?: GetMyAWBResultElement[]; } interface SetITUCodeRequest { awbBarcode: string; truckRegNum: string; ITU_code: string; } interface SetITUCodeResponse { } /** * Address Service types */ interface WorkingTime { start: string; end: string; } interface WorkingDateTime { dayType: DayType; day: string; start: string; end: string; } declare enum DayType { WORKDAY = "workday", HALFDAY = "halfday", HOLIDAY = "holiday" } interface ValidateAddressRequest { address?: Address; } interface ValidateAddressResponse { address?: Address; validationStatus?: string; } interface AddressServiceTimesRequest { city: number; address: string; date: string; shipmentType: ShipmentType; } interface AddressServiceTimesResponse { serviceOffice: Office; serviceOfficeLatitude: number; serviceOfficeLongitude: number; serviceOfficeClientsWorkTimes?: WorkingTime[]; serviceOfficeCourierWorkTimes?: WorkingTime[]; serviceOfficeTime?: WorkingDateTime; serviceOfficeNext30daysWorkTime?: WorkingDateTime[]; } interface GetNearestOfficesRequest { address?: Address; shipmentType?: ShipmentType; } interface GetNearestOfficesResponse { offices?: Office[]; } /** * Address resource - handles address-related operations */ declare class AddressService extends BaseResource { /** * Validate an address */ validateAddress(request: ValidateAddressRequest): Promise; /** * Get service times for an address */ addressServiceTimes(request: AddressServiceTimesRequest): Promise; /** * Find nearest offices to an address */ getNearestOffices(request: GetNearestOfficesRequest): Promise; } /** * Shipments resource - handles shipment-related operations */ declare class Shipments extends BaseResource { /** * Create a shipping label */ createLabel(label: ShippingLabel, options?: { requestCourierTimeFrom?: string; requestCourierTimeTo?: string; mode?: "calculate" | "validate" | "create" | "calculate_with_block"; }): Promise; /** * Calculate shipping cost (alias for createLabel with mode=calculate) */ calculate(label: ShippingLabel): Promise; /** * Validate label (alias for createLabel with mode=validate) */ validate(label: ShippingLabel): Promise; /** * Create multiple shipping labels */ createLabels(labels: ShippingLabel[], options?: { runAsyncAndEmailResultTo?: string; mode?: "validate" | "calculate" | "create"; }): Promise; /** * Delete/cancel labels */ deleteLabels(shipmentNumbers: string[]): Promise; /** * Update a label */ updateLabel(data: UpdateLabelRequestData): Promise; /** * Update multiple labels */ updateLabels(request: UpdateLabelsRequest): Promise; /** * Check if shipment can be edited */ checkPossibleShipmentEditions(shipmentNums: number[]): Promise; /** * Group shipments */ grouping(labels: number[]): Promise; /** * Cancel grouping */ groupingCancelation(groupLabel: number): Promise; /** * Request courier pickup */ requestCourier(request: RequestCourierRequest): Promise; /** * Get shipment statuses (tracking) */ getShipmentStatuses(shipmentNumbers: string[]): Promise; /** * Get courier request status */ getRequestCourierStatus(requestCourierIds: string[]): Promise; /** * Get AWB (Air Waybill) information */ getMyAWB(request: GetMyAWBRequest): Promise; /** * Set ITU Code for shipment */ setITUCode(awbBarcode: string, truckRegNum: string, ITU_code: string): Promise; } /** * Tracking resource - handles shipment tracking operations * Uses getShipmentStatuses endpoint */ declare class Tracking extends BaseResource { /** * Track shipments by shipment numbers */ track(shipmentNumbers: string[]): Promise; /** * Track a single shipment */ trackOne(shipmentNumber: string): Promise; } /** * Profile resource - handles profile-related operations */ declare class ProfileService extends BaseResource { /** * Get client profiles */ getClientProfiles(): Promise; /** * Create CD (Cash on Delivery) agreement */ createCDAgreement(request: CreateCDAgreementRequest): Promise; } /** * ThreeWayLogistics types * Note: These are placeholder types - need actual API documentation to complete */ interface ThreeWayLogisticsRequest { requestData?: string; } interface ThreeWayLogisticsResponse { resultData?: string; } /** * ThreeWayLogistics resource - handles 3PL operations */ declare class ThreeWayLogisticsService extends BaseResource { /** * ThreeWayLogistics operation */ threeWayLogistics(request: ThreeWayLogisticsRequest): Promise; } /** * PaymentReport types * Note: These are placeholder types - need actual API documentation to complete */ interface PaymentReportRequest { requestData?: string; } interface PaymentReportResponse { resultData?: string; } /** * PaymentReport resource - handles payment reporting operations */ declare class PaymentReportService extends BaseResource { /** * Get payment report */ getPaymentReport(request: PaymentReportRequest): Promise; } /** * Main Econt SDK client */ declare class EcontClient { private http; readonly offices: Offices; readonly address: AddressService; readonly shipments: Shipments; readonly tracking: Tracking; readonly profile: ProfileService; readonly threeWayLogistics: ThreeWayLogisticsService; readonly paymentReport: PaymentReportService; constructor(config: EcontConfig); } /** * API Error types from Econt documentation */ interface EcontApiError { type?: string; message?: string; fields?: string[]; innerErrors?: EcontApiError[]; } /** * Base error class for all Econt SDK errors */ declare class EcontError extends Error { constructor(message: string); } /** * Error thrown when API request fails */ declare class EcontAPIError extends EcontError { readonly statusCode?: number; readonly response?: EcontApiError; readonly requestId?: string; constructor(message: string, statusCode?: number, response?: EcontApiError, requestId?: string); static fromAxiosError(error: AxiosError): EcontAPIError; } /** * Error thrown when validation fails */ declare class EcontValidationError extends EcontError { readonly field?: string; readonly value?: string | number | boolean; constructor(message: string, field?: string, value?: string | number | boolean); } /** * Error thrown when authentication fails */ declare class EcontAuthenticationError extends EcontError { constructor(message?: string); } /** * Error thrown when rate limit is exceeded */ declare class EcontRateLimitError extends EcontError { readonly retryAfter?: number; constructor(message?: string, retryAfter?: number); } /** * Error thrown when network request fails */ declare class EcontNetworkError extends EcontError { constructor(message?: string); } export { type Address, AddressService, type AddressServiceTimesRequest, type AddressServiceTimesResponse, type ApiError$1 as ApiError, type ApiResponse, type CDPayOptions, type CargoVehicleOptions, type CheckPossibleShipmentEditionsRequest, type CheckPossibleShipmentEditionsResponse, type CheckPossibleShipmentEditionsResultElement, type City, type ClientProfile, type ContactPerson, type Country, type CreateCDAgreementRequest, type CreateCDAgreementResponse, type CreateLabelRequest, type CreateLabelResponse, type CreateLabelResultElement, type CreateLabelsRequest, type CreateLabelsResponse, type CustomsListElement, DayType, type DeleteLabelsRequest, type DeleteLabelsResponse, type DeleteLabelsResultElement, EcontAPIError, type EcontApiError, EcontAuthenticationError, EcontClient, type EcontConfig, EcontError, EcontNetworkError, EcontRateLimitError, EcontValidationError, type GeoLocation, type GetClientProfilesResponse, type GetMyAWBRequest, type GetMyAWBResponse, type GetMyAWBResultElement, type GetNearestOfficesRequest, type GetNearestOfficesResponse, type GetOfficesRequest, type GetOfficesResponse, type GetQuartersRequest, type GetQuartersResponse, type GetRequestCourierStatusRequest, type GetRequestCourierStatusResponse, type GetShipmentStatusesRequest, type GetShipmentStatusesResponse, type GetStreetsRequest, type GetStreetsResponse, type GroupingCancelationRequest, type GroupingCancelationResponse, type GroupingRequest, type GroupingResponse, type HostedFile, type Instruction, InstructionType, type Location, type NextShipmentElement, type Office, type OfficeAddress, Offices, type PackElement, type PackingListElement, type PaginatedResponse, type PaginationParams, type PaymentAdditionPrice, type PaymentInstruction, PaymentReportService, type PhoneNumber, type PreviousShipment, ProfileService, type Quarter, type RequestCourierRequest, type RequestCourierResponse, type RequestCourierStatus, type RequestCourierStatusResultElement, RequestCourierStatusType, type ReturnInstructionParams, type ServingOffice, type SetITUCodeRequest, type SetITUCodeResponse, type ShipmentEditionResponseElement, type ShipmentStatus, type ShipmentStatusResultElement, type ShipmentStatusService, type ShipmentTrackingEvent, ShipmentType, Shipments, type ShippingLabel, type ShippingLabelServices, type Street, ThreeWayLogisticsService, Tracking, type UpdateLabelRequest, type UpdateLabelRequestData, type UpdateLabelResponse, type UpdateLabelResponseData, type UpdateLabelsRequest, type UpdateLabelsResponse, type UpdateLabelsResultElement, type ValidateAddressRequest, type ValidateAddressResponse, type WorkingDateTime, type WorkingTime };