/**
 * 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 { DeliveryOption1Enum } from '../models/deliveryOption1Enum';
import { DeliveryOptions1Enum } from '../models/deliveryOptions1Enum';
import { LocationResponse } from '../models/locationResponse';
import { LocationsResponse } from '../models/locationsResponse';
import { BaseController } from './baseController';
export declare class LocationsController extends BaseController {
    /**
     * Request example:
     * ```
     * curl -X GET "https://api-sandbox.postnl.nl/shipment/v2_1/locations/nearest?
     * CountryCode=NL&PostalCode=2132WT&City=Hoofddorp&Street=Siriusdreef&HouseNumber=42&HouseNumberExtensi
     * on=-60&DeliveryDate=24-12-2022&OpeningTime=09%3A00%3A00" \
     * -H "Accept: application/json" \
     * -H "apikey: APIKEY-HERE" \
     * ```
     *
     *
     * @param countryCode          The country of the recipient's address
     * @param postalCode           The zipcode of the recipient's address
     * @param city                 The city of the recipient's address
     * @param street               The street name of the recipient's address
     * @param houseNumber          The house number of the recipient's address
     * @param houseNumberExtension The house number extension of the recipient's address
     * @param deliveryDate         The date of the earliest delivery date at the pickup
     *                                                      location. Format:  dd-MM-yyyy. Note: this date cannot be in
     *                                                      the past, otherwise an error is returned. If not provided,
     *                                                      the present day is used as a default
     * @param openingTime          Opening time filter. Format: hh:mm:ss. This field will be
     *                                                      used to filter out locations that are closed at the time
     *                                                      provided. If no opening time is provided all locations will
     *                                                      be returned regardless of their opening times.
     * @param deliveryOptions      The pickup location types for which locations should be
     *                                                      filtered. By default all location types are returned (PG =
     *                                                      Retail points and parcel lockers). This can be used to filter
     *                                                      on only parcel lockers (PA) or specifically exclude parcel
     *                                                      lockers from the response (PG_EX).
     * @return Response from the API call
     */
    returnsPickupLocationsNearestToTheProvidedAddress(countryCode: CountryCode1Enum, postalCode: string, city?: string, street?: string, houseNumber?: number, houseNumberExtension?: string, deliveryDate?: string, openingTime?: string, deliveryOptions?: DeliveryOption1Enum[], requestOptions?: RequestOptions): Promise<ApiResponse<LocationsResponse>>;
    /**
     * Request example:
     * ```
     * curl -X GET "https://api-sandbox.postnl.nl/shipment/v2_1/locations/nearest/geocode?Latitude=52.
     * 2864669620795&Longitude=4.68239055845954&CountryCode=NL&DeliveryDate=24-12-
     * 2022&OpeningTime=09%3A00%3A00" \
     * -H "Accept: application/json" \
     * -H "apikey: APIKEY-HERE" \
     * ```
     *
     *
     * @param latitude        The latitude of the location
     * @param longitude       The longitude of the location
     * @param countryCode     The coutry for which the coordinates are provided
     * @param deliveryDate    The date of the earliest delivery date. Format:  dd-MM-yyyy.
     *                                                  Note: this date cannot be in the past, otherwise an error is
     *                                                  returned.
     * @param openingTime     Opening time filter. Format: hh:mm:ss. This field will be used
     *                                                  to filter out locations that are closed at the time provided.
     * @param deliveryOptions The pickup location types for which locations should be filtered.
     *                                                  By default all location types are returned (PG = Retail points
     *                                                  and parcel lockers). This can be used to filter on only parcel
     *                                                  lockers (PA) or specifically exclude parcel lockers from the
     *                                                  response (PG_EX).
     * @return Response from the API call
     */
    returnsPickupLocationsNearestToTheProvidedCoordinates(latitude: number, longitude: number, countryCode: CountryCode1Enum, deliveryDate?: string, openingTime?: string, deliveryOptions?: DeliveryOptions1Enum[], requestOptions?: RequestOptions): Promise<ApiResponse<LocationsResponse>>;
    /**
     * Request example:
     * ```
     * curl -X GET "https://api-sandbox.postnl.nl/shipment/v2_1/locations/area?LatitudeNorth=52.
     * 156439&LongitudeWest=5.015643&LatitudeSouth=52.017473&LongitudeEast=5.
     * 065254&CountryCode=NL&DeliveryDate=24-12-2023&OpeningTime=09%3A00%3A00" \
     * -H "Accept: application/json" \
     * -H "apikey: APIKEY-HERE" \
     * ```
     *
     *
     * @param latitudeNorth   The northmost coordinates of the area
     * @param longitudeWest   The westmost coordinates of the area
     * @param latitudeSouth   The southmost coordinates of the area
     * @param longitudeEast   The eastmost coordinates of the area
     * @param countryCode
     * @param deliveryDate    The date of the earliest delivery date. Format:  dd-MM-yyyy.
     *                                                  Note: this date cannot be in the past, otherwise an error is
     *                                                  returned.
     * @param openingTime     Opening time filter. Format: hh:mm:ss. This field will be used
     *                                                  to filter out locations that are closed at the time provided.
     * @param deliveryOptions The pickup location types for which locations should be filtered.
     *                                                  By default all location types are returned (PG = Retail points
     *                                                  and parcel lockers). This can be used to filter on only parcel
     *                                                  lockers (PA) or specifically exclude parcel lockers from the
     *                                                  response (PG_EX).
     * @return Response from the API call
     */
    returnsPickupLocationsWithinAProvidedArea(latitudeNorth: number, longitudeWest: number, latitudeSouth: number, longitudeEast: number, countryCode: CountryCode1Enum, deliveryDate?: string, openingTime?: string, deliveryOptions?: DeliveryOptions1Enum[], requestOptions?: RequestOptions): Promise<ApiResponse<LocationsResponse>>;
    /**
     * Request example:
     * ```
     * curl -X GET "https://api-sandbox.postnl.nl/shipment/v2_1/locations/lookup?LocationCode=216877" \
     * -H "Accept: application/json" \
     * -H "apikey: APIKEY-HERE"
     * ```
     *
     *
     * @param locationCode LocationCode information
     * @return Response from the API call
     */
    returnsASpecificPickupLocation(locationCode: string, requestOptions?: RequestOptions): Promise<ApiResponse<LocationResponse>>;
}
