// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import { Coordinates, DeleteGeofencesResults, Geofence, GeofenceId, GeofenceInput, GeofenceOptions, ListGeofenceOptions, ListGeofenceResults, MapStyle, Place, SaveGeofencesResults, SearchByCoordinatesOptions, SearchByTextOptions, SearchForSuggestionsResults, searchByPlaceIdOptions, } from './Geo'; export interface GeoProvider { // get the category name for the provider getCategory(): string; // get provider name getProviderName(): string; // get the available map resources getAvailableMaps(): MapStyle[]; // get the map resource listed as default getDefaultMap(): MapStyle; // search by a text string and return a list of places searchByText(text: string, options?: SearchByTextOptions): Promise; // search by coordinates and return a matching place searchByCoordinates( coordinates: Coordinates, options?: SearchByCoordinatesOptions, ): Promise; searchForSuggestions( text: string, options?: SearchByTextOptions, ): Promise; searchByPlaceId( placeId: string, options?: searchByPlaceIdOptions, ): Promise; // create geofences saveGeofences( geofences: GeofenceInput[], options?: GeofenceOptions, ): Promise; // get a single geofence getGeofence( geofenceId: GeofenceId, options?: ListGeofenceOptions, ): Promise; // list all geofences listGeofences(options?: ListGeofenceOptions): Promise; // Delete geofences deleteGeofences( geofenceIds: string[], options?: GeofenceOptions, ): Promise; }