/**
 * PostNL Ecommerce APIsLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { ApiResponse, RequestOptions } from '../core';
import { CountryCode1Enum } from '../models/countryCode1Enum';
import { Option3Enum } from '../models/option3Enum';
import { OriginCountryCodeEnum } from '../models/originCountryCodeEnum';
import { ShipmentV22CalculateDateDeliveryResponse } from '../models/shipmentV22CalculateDateDeliveryResponse';
import { ShipmentV22CalculateDateShippingResponse } from '../models/shipmentV22CalculateDateShippingResponse';
import { BaseController } from './baseController';
export declare class DeliverydateController extends BaseController {
    /**
     * Request example:
     * ```
     * curl -X GET "https://api-sandbox.postnl.nl/shipment/v2_2/calculate/date/delivery?ShippingDate=29-05-
     * 2022+14%3A00%3A00&amp;ShippingDuration=1&amp;CutOffTime=17%3A00%3A00&amp;PostalCode=2132WT&amp;
     * CountryCode=NL&amp;City=Hoofddorp&amp;Street=Siriusdreef&amp;HouseNumber=42&amp;HouseNrExt=A" \
     * -H "Accept: application/json" \
     * -H "apikey: APIKEY-HERE"
     * ```
     *
     *
     * @param shippingDate        Date/time of preparing the shipment for sending. Format: dd-
     *                                                     MM-yyyy hh:mm:ss
     * @param shippingDuration    The duration it takes for the shipment to be delivered to
     *                                                     PostNL in days. A value of 1 means that the parcel will be
     *                                                     delivered to PostNL on the same day as the date specified in
     *                                                     ShippingDate. A value of 2 means the parcel will arrive at
     *                                                     PostNL a day later etc.
     * @param cutOffTime          Default cutoff time
     * @param postalCode          Zipcode of the destination address
     * @param countryCode         The ISO2 destination country code
     * @param options             The delivery options that you want to take into account when
     *                                                     calculating the expected delivery date
     * @param originCountryCode   The ISO2 origin country code
     * @param city                City of the destination address
     * @param street              The street name of the destination address.
     * @param houseNumber         The house number of the destination address
     * @param houseNrExt          House number extension of the delivery address
     * @param cutOffTimeMonday    Overrides default cutoff time specified in the CutOffTime
     *                                                     parameter for mondays specifically
     * @param availableMonday     Specifies if you are available to ship to PostNL on mondays
     * @param cutOffTimeTuesday   Overrides default cutoff time specified in the CutOffTime
     *                                                     parameter for tuesdays specifically
     * @param availableTuesday    Specifies if you are available to ship to PostNL on tuesdays
     * @param cutOffTimeWednesday Overrides default cutoff time specified in the CutOffTime
     *                                                     parameter for wednesdays specifically
     * @param availableWednesday  Specifies if you are available to ship to PostNL on
     *                                                     wednesdays
     * @param cutOffTimeThursday  Overrides default cutoff time specified in the CutOffTime
     *                                                     parameter for thursdays specifically
     * @param availableThursday   Specifies if you are available to ship to PostNL on
     *                                                     thursdays
     * @param cutOffTimeFriday    Overrides default cutoff time specified in the CutOffTime
     *                                                     parameter for fridays specifically
     * @param availableFriday     Specifies if you are available to ship to PostNL on fridays
     * @param cutOffTimeSaturday  Overrides default cutoff time specified in the CutOffTime
     *                                                     parameter for saturdays specifically
     * @param availableSaturday   Specifies if you are available to ship to PostNL on
     *                                                     saturdays
     * @param cutOffTimeSunday    Overrides default cutoff time specified in the CutOffTime
     *                                                     parameter for sundays specifically
     * @param availableSunday     Specifies if you are available to ship to PostNL on sundays
     * @return Response from the API call
     */
    calculateExpectedDeliveryDate(shippingDate: string, shippingDuration: number, cutOffTime: string, postalCode: string, countryCode: CountryCode1Enum, options: Option3Enum[], originCountryCode?: OriginCountryCodeEnum, city?: string, street?: string, houseNumber?: number, houseNrExt?: string, cutOffTimeMonday?: string, availableMonday?: boolean, cutOffTimeTuesday?: string, availableTuesday?: boolean, cutOffTimeWednesday?: string, availableWednesday?: boolean, cutOffTimeThursday?: string, availableThursday?: boolean, cutOffTimeFriday?: string, availableFriday?: boolean, cutOffTimeSaturday?: string, availableSaturday?: boolean, cutOffTimeSunday?: string, availableSunday?: boolean, requestOptions?: RequestOptions): Promise<ApiResponse<ShipmentV22CalculateDateDeliveryResponse>>;
    /**
     * Request example:
     * ```
     * curl -X GET "https://api-sandbox.postnl.nl/shipment/v2_2/calculate/date/shipping?DeliveryDate=30-05-
     * 2022&amp;ShippingDuration=1&amp;PostalCode=2132WT&amp;CountryCode=NL&amp;City=Hoofddorp&amp;
     * Street=Siriusdreef&amp;HouseNumber=42&amp;HouseNrExt=A" \
     * -H "Accept: application/json" \
     * -H "apikey: APIKEY-HERE" \
     *
     * ```
     *
     *
     * @param deliveryDate      Date of the expected delivery (to the final destination) of the
     *                                                   shipment.
     * @param shippingDuration  The duration it takes for the shipment to be delivered to
     *                                                   PostNL in days. A value of 1 means that the parcel will be
     *                                                   delivered to PostNL on the same day as the date specified in
     *                                                   ShippingDate. A value of 2 means the parcel will arrive at
     *                                                   PostNL a day later etc.
     * @param postalCode        Zipcode of the address
     * @param countryCode       The ISO2 destination country code
     * @param originCountryCode The ISO2 country code of the origin country
     * @param city              City of the destination address
     * @param street            The street name of the destination address
     * @param houseNumber       The house number of the destination address
     * @param houseNrExt        House number extension of the destination address
     * @return Response from the API call
     */
    calculateRequiredShippingDate(deliveryDate: string, shippingDuration: number, postalCode: string, countryCode: CountryCode1Enum, originCountryCode?: OriginCountryCodeEnum, city?: string, street?: string, houseNumber?: number, houseNrExt?: string, requestOptions?: RequestOptions): Promise<ApiResponse<ShipmentV22CalculateDateShippingResponse>>;
}
