/**
 * Shell EVLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { ApiResponse, RequestOptions } from '../core';
import { GetEVLocationsAuthorizationMethodsEnum } from '../models/getEVLocationsAuthorizationMethodsEnum';
import { GetEVLocationsConnectorTypesEnum } from '../models/getEVLocationsConnectorTypesEnum';
import { GetEVLocationsEvseStatusEnum } from '../models/getEVLocationsEvseStatusEnum';
import { NearbyLocationsConnectorTypesEnum } from '../models/nearbyLocationsConnectorTypesEnum';
import { Response } from '../models/response';
import { SingleLocationMarkerResponse } from '../models/singleLocationMarkerResponse';
import { BaseController } from './baseController';
export declare class LocationsController extends BaseController {
    /**
     * This API provides the list of all Shell Recharge locations. The list includes all Shell Recharge
     * network and all locations available through our roaming partners. The end point provides flexible
     * search criteria in order to get the list of Shell Recharge Network. The end point provides the
     * details such as the exact location/address of the site along with the up-to-date status information
     * of all the charging units in the site.
     *
     * Supported Search Options
     *
     * * Based on status of the Charging units. Eg : Available or Occupied
     * * Based on available connector types.
     * * Based on minimum Power output (in kW) available
     * * Based on a specific charging unit ID (EVSE ID)
     *
     * @param requestId            RequestId must be unique identifier value
     *                                                                       that can be used by the consumer to
     *                                                                       correlate each request /response .<br>Format.
     *                                                                       <br> Its canonical textual representation,
     *                                                                       the 16 octets of a UUID are represented as
     *                                                                       32 hexadecimal (base-16) digits, displayed
     *                                                                       in five groups separated by hyphens, in the
     *                                                                       form 8-4-4-4-12 for a total of 36 characters
     *                                                                       (32 hexadecimal characters and 4 hyphens)
     *                                                                       <br>
     * @param evseStatus           Filter by Locations that have the given
     *                                                                       status
     * @param connectorTypes       Filter by Locations that have Connectors
     *                                                                       with the set of Connector Types
     * @param connectorMinPower    Filter by Locations that have a Connector
     *                                                                       with at least this power output (in kW)
     * @param authorizationMethods Filter by Locations that support the given
     *                                                                       Authorization Methods
     * @param withOperatorName     Return operator name in marker response
     *                                                                       object
     * @param evseId               optional Standard EVSE (Electric Vehicle
     *                                                                       Supply Equipment) Id identifier (ISO-IEC-
     *                                                                       15118)
     * @param locationExternalId   Filter by Locations with the given
     *                                                                       externalId. (Unique Location externalID
     *                                                                       provided by Shell Recharge)
     * @param evseExternalId       Filter by Locations that have an Evse with
     *                                                                       the given External Id. (Unique individual
     *                                                                       EVSE externalID provided by Shell Recharge)
     * @param pageNumber           Restrict the response list by providing a
     *                                                                       specific set of page Number. Set perPage
     *                                                                       parameter also when page Number is used.
     * @param perPage              Restrict the number of sites in response
     *                                                                       per page.
     * @param updatedSince         ZonedDateTime as string
     * @param country              Filter by Locations that are at least in
     *                                                                       one of the given countries (specified using
     *                                                                       ISO 3166-1 alpha-3 codes)
     * @param excludeCountry       Filter by Locations that are not in one of
     *                                                                       the given countries (specified using ISO
     *                                                                       3166-1 alpha-3 codes)
     * @return Response from the API call
     */
    getEVLocations(requestId: string, evseStatus?: GetEVLocationsEvseStatusEnum, connectorTypes?: GetEVLocationsConnectorTypesEnum, connectorMinPower?: number, authorizationMethods?: GetEVLocationsAuthorizationMethodsEnum, withOperatorName?: boolean, evseId?: string, locationExternalId?: string, evseExternalId?: string, pageNumber?: number, perPage?: number, updatedSince?: string, country?: string[], excludeCountry?: string[], requestOptions?: RequestOptions): Promise<ApiResponse<Response>>;
    /**
     * This API provides the details on a single Shell Recharge location.
     * The query for a single location is to be made using the Unique Internal identifier used to refer to
     * this Location by Shell Recharge. (Uid from List of locations API)
     *
     * @param requestId  RequestId must be unique identifier value that can be used by the consumer to
     *                             correlate each request /response .<br>Format.<br> Its canonical textual representation,
     *                             the 16 octets of a UUID are represented as 32 hexadecimal (base-16) digits, displayed
     *                             in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36
     *                             characters (32 hexadecimal characters and 4 hyphens) <br>
     * @param id         Unique Uid of the location from List of locations API
     * @param providerId The provider id that you wish to see locations and tariffs for
     * @param since      to get the locations modified after a date
     * @return Response from the API call
     */
    evLocationsByID(requestId: string, id: string, providerId?: string, since?: string, requestOptions?: RequestOptions): Promise<ApiResponse<Response>>;
    /**
     * This API provides the list of all nearby Shell Recharge locations based on the latitude and
     * longitude provided in the request.
     * The list includes all Shell Recharge network and all sites available through our roaming partners.
     * The end point provides the details such as the exact location/address of the site along with the up-
     * to-date status information of all the charging units in the site.
     *
     * Supported Search Options
     *
     * * Based on latitude and longitude of the location. (Mandatory)
     * * Based on status of the Charging units. Eg : Available or Occupied
     * * Based on available connector types.
     * * Based on minimum Power output (in kW) available
     *
     * @param requestId            RequestId must be unique identifier value
     *                                                                       that can be used by the consumer to
     *                                                                       correlate each request /response .<br>Format.
     *                                                                       <br> Its canonical textual representation,
     *                                                                       the 16 octets of a UUID are represented as
     *                                                                       32 hexadecimal (base-16) digits, displayed
     *                                                                       in five groups separated by hyphens, in the
     *                                                                       form 8-4-4-4-12 for a total of 36 characters
     *                                                                       (32 hexadecimal characters and 4 hyphens)
     *                                                                       <br>
     * @param latitude             Latitude to get Shell Recharge Locations
     *                                                                       nearby
     * @param longitude            Longitude to get Shell Recharge Locations
     *                                                                       nearby
     * @param limit                Maximum number of Locations to retrieve
     * @param locationExternalId   Filter by Locations with the given
     *                                                                       externalId Identifier as given by the Shell
     *                                                                       Recharge Operator, unique for that Operator
     * @param evseId               Filter by Locations that have an Evse with
     *                                                                       the given Evse Id
     * @param evseExternalId       Filter by Locations that have an Evse with
     *                                                                       the given External Id Identifier of the Evse
     *                                                                       as given by the Operator, unique for that
     *                                                                       Operator
     * @param operatorName         Filter by Locations that have the given
     *                                                                       operator
     * @param evseStatus           Filter by Locations that have the given
     *                                                                       status
     * @param connectorTypes       Filter by Locations that have Connectors
     *                                                                       with these Connector Types
     * @param connectorMinPower    Filter by Locations that have a Connector
     *                                                                       with at least this power output (in kW)
     * @param authorizationMethods Filter by Locations that support the given
     *                                                                       Authorization Methods
     * @param withOperatorName     Return operator name in marker object (only
     *                                                                       for marker type Single ChargePoint)
     * @param withMaxPower         Return maximum power in kW across all
     *                                                                       locations grouped in this marker
     *                                                                       (disregarding availability)
     * @param country              Filter by Locations that are at least in
     *                                                                       one of the given countries (specified using
     *                                                                       ISO 3166-1 alpha-3 codes)
     * @param excludeCountry       Filter by Locations that are not in one of
     *                                                                       the given countries (specified using ISO
     *                                                                       3166-1 alpha-3 codes)
     * @return Response from the API call
     */
    nearbyLocations(requestId: string, latitude: number, longitude: number, limit?: number, locationExternalId?: string, evseId?: string, evseExternalId?: string, operatorName?: string, evseStatus?: GetEVLocationsEvseStatusEnum, connectorTypes?: NearbyLocationsConnectorTypesEnum, connectorMinPower?: number, authorizationMethods?: GetEVLocationsAuthorizationMethodsEnum, withOperatorName?: boolean, withMaxPower?: boolean, country?: string[], excludeCountry?: string[], requestOptions?: RequestOptions): Promise<ApiResponse<Response>>;
    /**
     * This API, when given a set of bounds on the geographical front (East,West, North, South) will return
     * a set of Markers that fall within the requested bounds. The API will automatically group locations
     * at the same position on the map into one Marker.
     *
     * The API also provide further search options to filter the result set.
     *
     * * Based on status of the Charging units. Eg : Available or Occupied
     * * Based on available connector types.
     * * Based on minimum Power output (in kW) available
     *
     * @param requestId            RequestId must be unique identifier value
     *                                                                       that can be used by the consumer to
     *                                                                       correlate each request /response .<br>Format.
     *                                                                       <br> Its canonical textual representation,
     *                                                                       the 16 octets of a UUID are represented as
     *                                                                       32 hexadecimal (base-16) digits, displayed
     *                                                                       in five groups separated by hyphens, in the
     *                                                                       form 8-4-4-4-12 for a total of 36 characters
     *                                                                       (32 hexadecimal characters and 4 hyphens)
     *                                                                       <br>
     * @param west                 Longitude of the western bound to get the
     *                                                                       Shell Recharge Locations
     * @param south                Latitude of the southern bound to get the
     *                                                                       Shell Recharge Locations
     * @param east                 Longitude of the eastern bound to get the
     *                                                                       Shell Recharge Locations
     * @param north                Latitude of the northern bound to get the
     *                                                                       Shell Recharge Locations
     * @param zoom                 Zoom level to show ex: (1: World, 5:
     *                                                                       Landmass/continent, 10: City, 15: Streets,
     *                                                                       20: Buildings)
     * @param evseStatus           Filter by Locations that have the given
     *                                                                       status
     * @param connectorTypes       Filter by Locations that have Connectors
     *                                                                       with the set of Connector Types
     * @param connectorMinPower    Filter by Locations that have a Connector
     *                                                                       with at least this power output (in kW)
     * @param authorizationMethods Filter by Locations that support the given
     *                                                                       Authorization Methods
     * @param withOperatorName     Return operator name in marker object (only
     *                                                                       for marker type SingleChargePoint)
     * @param withMaxPower         Return maximum power in kW across all
     *                                                                       locations grouped in this marker
     *                                                                       (disregarding availability)
     * @param locationExternalId   Filter by Locations with the given
     *                                                                       externalId. (Unique Location externalID
     *                                                                       provided by Shell Recharge)
     * @param evseId               Filter by Locations that have an Evse with
     *                                                                       the given Evse Id
     * @param evseExternalId       Filter by Locations that have an Evse with
     *                                                                       the given External Id Identifier of the Evse
     *                                                                       as given by the Operator, unique for that
     *                                                                       Operator
     * @param operatorName         Filter by Locations that have the given
     *                                                                       operator
     * @param country              Filter by Locations that are at least in
     *                                                                       one of the given countries (specified using
     *                                                                       ISO 3166-1 alpha-3 codes)
     * @param excludeCountry       Filter by Locations that are not in one of
     *                                                                       the given countries (specified using ISO
     *                                                                       3166-1 alpha-3 codes)
     * @return Response from the API call
     */
    locationsMarkers(requestId: string, west: number, south: number, east: number, north: number, zoom: string, evseStatus?: GetEVLocationsEvseStatusEnum, connectorTypes?: GetEVLocationsConnectorTypesEnum, connectorMinPower?: number, authorizationMethods?: GetEVLocationsAuthorizationMethodsEnum, withOperatorName?: boolean, withMaxPower?: boolean, locationExternalId?: string, evseId?: string, evseExternalId?: string, operatorName?: string, country?: string[], excludeCountry?: string[], requestOptions?: RequestOptions): Promise<ApiResponse<SingleLocationMarkerResponse>>;
}
