export interface DevicePositionUpdate {
    /** The device associated to the position update. */
    DeviceId: string;
    /** The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ */
    SampleTime: string;
    /** The latest device position defined in WGS 84 format: [X or longitude, Y or latitude]. */
    Position: any[];
    /** The accuracy of the device position. */
    Accuracy?: any;
    /** Associates one of more properties with the position update. A property is a key-value pair stored with the position update and added to any geofence event the update may trigger. Format: "key" : "valu */
    PositionProperties?: Record<string, any>;
}
export interface BatchPutGeofenceRequestEntry {
    /** The identifier for the geofence to be stored in a given geofence collection. */
    GeofenceId: string;
    /** Contains the details to specify the position of the geofence. Can be a circle, a polygon, or a multipolygon. Polygon and MultiPolygon geometries can be defined using their respective parameters, or en */
    Geometry: any;
    /** Associates one of more properties with the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence. Format: "key" : "value" */
    GeofenceProperties?: Record<string, any>;
}
export interface CalculateRouteCarModeOptions {
    /** Avoids ferries when calculating routes. Default Value: false Valid Values: false | true */
    AvoidFerries?: boolean;
    /** Avoids tolls when calculating routes. Default Value: false Valid Values: false | true */
    AvoidTolls?: boolean;
}
export interface TruckDimensions {
    /** The length of the truck. For example, 15.5. For routes calculated with a HERE resource, this value must be between 0 and 300 meters. */
    Length?: number;
    /** The height of the truck. For example, 4.5. For routes calculated with a HERE resource, this value must be between 0 and 50 meters. */
    Height?: number;
    /** The width of the truck. For example, 4.5. For routes calculated with a HERE resource, this value must be between 0 and 50 meters. */
    Width?: number;
    /** Specifies the unit of measurement for the truck dimensions. Default Value: Meters */
    Unit?: 'Meters' | 'Feet';
}
export interface TruckWeight {
    /** The total weight of the truck. For example, 3500. */
    Total?: number;
    /** The unit of measurement to use for the truck weight. Default Value: Kilograms */
    Unit?: 'Kilograms' | 'Pounds';
}
export interface CalculateRouteTruckModeOptions {
    /** Avoids ferries when calculating routes. Default Value: false Valid Values: false | true */
    AvoidFerries?: boolean;
    /** Avoids tolls when calculating routes. Default Value: false Valid Values: false | true */
    AvoidTolls?: boolean;
    /** Specifies the truck's dimension specifications including length, height, width, and unit of measurement. Used to avoid roads that can't support the truck's dimensions. */
    Dimensions?: TruckDimensions;
    /** Specifies the truck's weight specifications including total weight and unit of measurement. Used to avoid roads that can't support the truck's weight. */
    Weight?: TruckWeight;
}
export interface ForecastGeofenceEventsDeviceState {
    /** The device's position. */
    Position: number[];
    /** The device's speed. */
    Speed?: number;
}
export interface TrackingFilterGeometry {
    /** The set of arrays which define the polygon. A polygon can have between 4 and 1000 vertices. */
    Polygon?: any[][];
}
export interface ApiKeyFilter {
    /** Filter on Active or Expired API keys. */
    KeyStatus?: 'Active' | 'Expired';
}
export interface Circle {
    /** A single point geometry, specifying the center of the circle, using WGS 84 coordinates, in the form [longitude, latitude]. */
    Center: any[];
    /** The radius of the circle in meters. Must be greater than zero and no larger than 100,000 (100 kilometers). */
    Radius: number;
}
export interface GeofenceGeometry {
    /** A Polygon is a list of up to 250 linear rings which represent the shape of a geofence. This list must include 1 exterior ring (representing the outer perimeter of the geofence), and can optionally inc */
    Polygon?: any[][];
    /** A circle on the earth, as defined by a center point and a radius. */
    Circle?: Circle;
    /** Geobuf is a compact binary encoding for geographic data that provides lossless compression of GeoJSON polygons. The Geobuf must be Base64-encoded. This parameter can contain a Geobuf-encoded GeoJSON g */
    Geobuf?: string;
    /** A MultiPolygon is a list of up to 250 Polygon elements which represent the shape of a geofence. The Polygon components of a MultiPolygon geometry can define separate geographical areas that are consid */
    MultiPolygon?: any[][];
}
export interface ApiKeyRestrictions {
    /** A list of allowed actions that an API key resource grants permissions to perform. You must have at least one action for each type of resource. For example, if you have a place resource, you must inclu */
    AllowActions: string[];
    /** A list of allowed resource ARNs that a API key bearer can perform actions on. The ARN must be the correct ARN for a map, place, or route ARN. You may include wildcards in the resource-id to match mult */
    AllowResources: string[];
    /** An optional list of allowed HTTP referers for which requests must originate from. Requests using this API key from other domains will not be allowed. Requirements: Contain only alphanumeric characters */
    AllowReferers?: string[];
    /** An optional list of allowed Android applications for which requests must originate from. Requests using this API key from other sources will not be allowed. */
    AllowAndroidApps?: any[];
    /** An optional list of allowed Apple applications for which requests must originate from. Requests using this API key from other sources will not be allowed. */
    AllowAppleApps?: any[];
}
export interface MapConfigurationUpdate {
    /** Specifies the political view for the style. Set to an empty string to not use a political view, or, for styles that support specific political views, you can choose a view, such as IND for the Indian  */
    PoliticalView?: string;
    /** Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigatio */
    CustomLayers?: string[];
}
export interface DataSourceConfiguration {
    /** Specifies how the results of an operation will be stored by the caller. Valid values include: SingleUse specifies that the results won't be stored. Storage specifies that the result can be cached or s */
    IntendedUse?: 'SingleUse' | 'Storage';
}
export interface PositionalAccuracy {
    /** Estimated maximum distance, in meters, between the measured position and the true position of a device, along the Earth's surface. */
    Horizontal: number;
}
export interface CellSignals {
    /** Information about the Long-Term Evolution (LTE) network the device is connected to. */
    LteCellDetails: any[];
}
export interface DeviceState {
    /** The device identifier. */
    DeviceId: string;
    /** The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. */
    SampleTime: string;
    /** The last known device position. */
    Position: number[];
    Accuracy?: PositionalAccuracy;
    /** The device's Ipv4 address. */
    Ipv4Address?: string;
    /** The Wi-Fi access points the device is using. */
    WiFiAccessPoints?: any[];
    /** The cellular network infrastructure that the device is connected to. */
    CellSignals?: CellSignals;
}
export interface AssociateTrackerConsumerInput {
    /** The Amazon Resource Name (ARN) for the geofence collection to be associated to tracker resource. Used when you need to specify a resource across all Amazon Web Services. Format example: arn:aws:geo:re */
    ConsumerArn: string;
    /** The name of the tracker resource to be associated with a geofence collection. */
    TrackerName: string;
}
export interface BatchDeleteDevicePositionHistoryInput {
    /** Devices whose position history you want to delete. For example, for two devices: “DeviceIds” : [DeviceId1,DeviceId2] */
    DeviceIds: string[];
    /** The name of the tracker resource to delete the device position history from. */
    TrackerName: string;
}
export interface BatchDeleteGeofenceInput {
    /** The geofence collection storing the geofences to be deleted. */
    CollectionName: string;
    /** The batch of geofences to be deleted. */
    GeofenceIds: string[];
}
export interface BatchEvaluateGeofencesInput {
    /** The geofence collection used in evaluating the position of devices against its geofences. */
    CollectionName: string;
    /** Contains device details for each device to be evaluated against the given geofence collection. */
    DevicePositionUpdates: DevicePositionUpdate[];
}
export interface BatchGetDevicePositionInput {
    /** Devices whose position you want to retrieve. For example, for two devices: device-ids=DeviceId1&amp;device-ids=DeviceId2 */
    DeviceIds: string[];
    /** The tracker resource retrieving the device position. */
    TrackerName: string;
}
export interface BatchPutGeofenceInput {
    /** The geofence collection storing the geofences. */
    CollectionName: string;
    /** The batch of geofences to be stored in a geofence collection. */
    Entries: BatchPutGeofenceRequestEntry[];
}
export interface BatchUpdateDevicePositionInput {
    /** The name of the tracker resource to update. */
    TrackerName: string;
    /** Contains the position update details for each device, up to 10 devices. */
    Updates: DevicePositionUpdate[];
}
export interface CalculateRouteInput {
    /** The name of the route calculator resource that you want to use to calculate the route. */
    CalculatorName: string;
    /** The start position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude]. For example, [-123.115, 49.285] If you specify a departure that's not located on a road, Amaz */
    DeparturePosition: number[];
    /** The finish position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude]. For example, [-122.339, 47.615] If you specify a destination that's not located on a road, A */
    DestinationPosition: number[];
    /** Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route. ArrivalTim */
    ArrivalTime?: string;
    /** Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls. Requirements: TravelMode must be specified as Car. */
    CarModeOptions?: CalculateRouteCarModeOptions;
    /** Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route. D */
    DepartNow?: boolean;
    /** Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route. In ISO 8 */
    DepartureTime?: string;
    /** Set the unit system to specify the distance. Default Value: Kilometers */
    DistanceUnit?: 'Kilometers' | 'Miles';
    /** Set to include the geometry details in the result for each path between a pair of positions. Default Value: false Valid Values: false | true */
    IncludeLegGeometry?: boolean;
    /** The optional API key to authorize the request. */
    Key?: string;
    /** Specifies the distance to optimize for when calculating a route. */
    OptimizeFor?: 'FastestRoute' | 'ShortestRoute';
    /** Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. You can choose Car, Truck, Walking, Bicycle or Motorcycle as options for the Tr */
    TravelMode?: 'Car' | 'Truck' | 'Walking' | 'Bicycle' | 'Motorcycle';
    /** Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road. Requirements: TravelMode mus */
    TruckModeOptions?: CalculateRouteTruckModeOptions;
    /** Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure position and destination position. For example, from the DeparturePosition [-123.115, 49.285 */
    WaypointPositions?: number[][];
}
export interface CalculateRouteMatrixInput {
    /** The name of the route calculator resource that you want to use to calculate the route matrix. */
    CalculatorName: string;
    /** The list of departure (origin) positions for the route matrix. An array of points, each of which is itself a 2-value array defined in WGS 84 format: [longitude, latitude]. For example, [-123.115, 49.2 */
    DeparturePositions: number[][];
    /** The list of destination positions for the route matrix. An array of points, each of which is itself a 2-value array defined in WGS 84 format: [longitude, latitude]. For example, [-122.339, 47.615] Dep */
    DestinationPositions: number[][];
    /** Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls. Requirements: TravelMode must be specified as Car. */
    CarModeOptions?: CalculateRouteCarModeOptions;
    /** Sets the time of departure as the current time. Uses the current time to calculate the route matrix. You can't set both DepartureTime and DepartNow. If neither is set, the best time of day to travel w */
    DepartNow?: boolean;
    /** Specifies the desired time of departure. Uses the given time to calculate the route matrix. You can't set both DepartureTime and DepartNow. If neither is set, the best time of day to travel with the b */
    DepartureTime?: string;
    /** Set the unit system to specify the distance. Default Value: Kilometers */
    DistanceUnit?: 'Kilometers' | 'Miles';
    /** The optional API key to authorize the request. */
    Key?: string;
    /** Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. The TravelMode you specify also determines how you specify route preferences: I */
    TravelMode?: 'Car' | 'Truck' | 'Walking' | 'Bicycle' | 'Motorcycle';
    /** Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road. Requirements: TravelMode mus */
    TruckModeOptions?: CalculateRouteTruckModeOptions;
}
export interface DeleteGeofenceCollectionInput {
    /** The name of the geofence collection to be deleted. */
    CollectionName: string;
}
export interface DeleteKeyInput {
    /** The name of the API key to delete. */
    KeyName: string;
    /** ForceDelete bypasses an API key's expiry conditions and deletes the key. Set the parameter true to delete the key or to false to not preemptively delete the API key. Valid values: true, or false. Requ */
    ForceDelete?: boolean;
}
export interface DeleteMapInput {
    /** The name of the map resource to be deleted. */
    MapName: string;
}
export interface DeletePlaceIndexInput {
    /** The name of the place index resource to be deleted. */
    IndexName: string;
}
export interface DeleteRouteCalculatorInput {
    /** The name of the route calculator resource to be deleted. */
    CalculatorName: string;
}
export interface DeleteTrackerInput {
    /** The name of the tracker resource to be deleted. */
    TrackerName: string;
}
export interface DescribeGeofenceCollectionInput {
    /** The name of the geofence collection. */
    CollectionName: string;
}
export interface DescribeKeyInput {
    /** The name of the API key resource. */
    KeyName: string;
}
export interface DescribeMapInput {
    /** The name of the map resource. */
    MapName: string;
}
export interface DescribePlaceIndexInput {
    /** The name of the place index resource. */
    IndexName: string;
}
export interface DescribeRouteCalculatorInput {
    /** The name of the route calculator resource. */
    CalculatorName: string;
}
export interface DescribeTrackerInput {
    /** The name of the tracker resource. */
    TrackerName: string;
}
export interface DisassociateTrackerConsumerInput {
    /** The Amazon Resource Name (ARN) for the geofence collection to be disassociated from the tracker resource. Used when you need to specify a resource across all Amazon Web Services. Format example: arn:a */
    ConsumerArn: string;
    /** The name of the tracker resource to be dissociated from the consumer. */
    TrackerName: string;
}
export interface ForecastGeofenceEventsInput {
    /** The name of the geofence collection. */
    CollectionName: string;
    /** Represents the device's state, including its current position and speed. When speed is omitted, this API performs a containment check. The containment check operation returns IDLE events for geofences */
    DeviceState: ForecastGeofenceEventsDeviceState;
    /** The distance unit used for the NearestDistance property returned in a forecasted event. The measurement system must match for DistanceUnit and SpeedUnit; if Kilometers is specified for DistanceUnit, t */
    DistanceUnit?: 'Kilometers' | 'Miles';
    /** An optional limit for the number of resources returned in a single call. Default value: 20 */
    MaxResults?: number;
    /** The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page. Default value: null */
    NextToken?: string;
    /** The speed unit for the device captured by the device state. The measurement system must match for DistanceUnit and SpeedUnit; if Kilometers is specified for DistanceUnit, then SpeedUnit must be Kilome */
    SpeedUnit?: 'KilometersPerHour' | 'MilesPerHour';
    /** The forward-looking time window for forecasting, specified in minutes. The API only returns events that are predicted to occur within this time horizon. When no value is specified, this API performs a */
    TimeHorizonMinutes?: number;
}
export interface GetDevicePositionInput {
    /** The device whose position you want to retrieve. */
    DeviceId: string;
    /** The tracker resource receiving the position update. */
    TrackerName: string;
}
export interface GetDevicePositionHistoryInput {
    /** The device whose position history you want to retrieve. */
    DeviceId: string;
    /** The tracker resource receiving the request for the device position history. */
    TrackerName: string;
    /** Specify the end time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the time that the request is made. Requirement: The time specified for EndTime */
    EndTimeExclusive?: string;
    /** An optional limit for the number of device positions returned in a single call. Default value: 100 */
    MaxResults?: number;
    /** The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page. Default value: null */
    NextToken?: string;
    /** Specify the start time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 hours prior to the time that the request is made. Requirement: The time s */
    StartTimeInclusive?: string;
}
export interface GetGeofenceInput {
    /** The geofence collection storing the target geofence. */
    CollectionName: string;
    /** The geofence you're retrieving details for. */
    GeofenceId: string;
}
export interface GetMapGlyphsInput {
    /** A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode. Valid font stacks for Esri styles: VectorEsriDarkGrayCanvas – Ubuntu Medium I */
    FontStack: string;
    /** A Unicode range of characters to download glyphs for. Each response will contain 256 characters. For example, 0–255 includes all characters from range U+0000 to 00FF. Must be aligned to multiples of 2 */
    FontUnicodeRange: string;
    /** The map resource associated with the glyph ﬁle. */
    MapName: string;
    /** The optional API key to authorize the request. */
    Key?: string;
}
export interface GetMapSpritesInput {
    /** The name of the sprite ﬁle. Use the following ﬁle names for the sprite sheet: sprites.png sprites@2x.png for high pixel density displays For the JSON document containing image offsets. Use the followi */
    FileName: string;
    /** The map resource associated with the sprite ﬁle. */
    MapName: string;
    /** The optional API key to authorize the request. */
    Key?: string;
}
export interface GetMapStyleDescriptorInput {
    /** The map resource to retrieve the style descriptor from. */
    MapName: string;
    /** The optional API key to authorize the request. */
    Key?: string;
}
export interface GetMapTileInput {
    /** The map resource to retrieve the map tiles from. */
    MapName: string;
    /** The X axis value for the map tile. */
    X: string;
    /** The Y axis value for the map tile. */
    Y: string;
    /** The zoom value for the map tile. */
    Z: string;
    /** The optional API key to authorize the request. */
    Key?: string;
}
export interface GetPlaceInput {
    /** The name of the place index resource that you want to use for the search. */
    IndexName: string;
    /** The identifier of the place to find. */
    PlaceId: string;
    /** The optional API key to authorize the request. */
    Key?: string;
    /** The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English. This setting affects the languages used in the results, but not the results t */
    Language?: string;
}
export interface ListDevicePositionsInput {
    /** The tracker resource containing the requested devices. */
    TrackerName: string;
    /** The geometry used to filter device positions. */
    FilterGeometry?: TrackingFilterGeometry;
    /** An optional limit for the number of entries returned in a single call. Default value: 100 */
    MaxResults?: number;
    /** The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page. Default value: null */
    NextToken?: string;
}
export interface ListGeofenceCollectionsInput {
    /** An optional limit for the number of resources returned in a single call. Default value: 100 */
    MaxResults?: number;
    /** The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page. Default value: null */
    NextToken?: string;
}
export interface ListGeofencesInput {
    /** The name of the geofence collection storing the list of geofences. */
    CollectionName: string;
    /** An optional limit for the number of geofences returned in a single call. Default value: 100 */
    MaxResults?: number;
    /** The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page. Default value: null */
    NextToken?: string;
}
export interface ListKeysInput {
    /** Optionally filter the list to only Active or Expired API keys. */
    Filter?: ApiKeyFilter;
    /** An optional limit for the number of resources returned in a single call. Default value: 100 */
    MaxResults?: number;
    /** The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page. Default value: null */
    NextToken?: string;
}
export interface ListMapsInput {
    /** An optional limit for the number of resources returned in a single call. Default value: 100 */
    MaxResults?: number;
    /** The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page. Default value: null */
    NextToken?: string;
}
export interface ListPlaceIndexesInput {
    /** An optional limit for the maximum number of results returned in a single call. Default value: 100 */
    MaxResults?: number;
    /** The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page. Default value: null */
    NextToken?: string;
}
export interface ListRouteCalculatorsInput {
    /** An optional maximum number of results returned in a single call. Default Value: 100 */
    MaxResults?: number;
    /** The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page. Default Value: null */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve. Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource */
    ResourceArn: string;
}
export interface ListTrackerConsumersInput {
    /** The tracker resource whose associated geofence collections you want to list. */
    TrackerName: string;
    /** An optional limit for the number of resources returned in a single call. Default value: 100 */
    MaxResults?: number;
    /** The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page. Default value: null */
    NextToken?: string;
}
export interface ListTrackersInput {
    /** An optional limit for the number of resources returned in a single call. Default value: 100 */
    MaxResults?: number;
    /** The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page. Default value: null */
    NextToken?: string;
}
export interface PutGeofenceInput {
    /** The geofence collection to store the geofence in. */
    CollectionName: string;
    /** An identifier for the geofence. For example, ExampleGeofence-1. */
    GeofenceId: string;
    /** Contains the details to specify the position of the geofence. Can be a circle, a polygon, or a multipolygon. Polygon and MultiPolygon geometries can be defined using their respective parameters, or en */
    Geometry: GeofenceGeometry;
    /** Associates one of more properties with the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence. Format: "key" : "value" */
    GeofenceProperties?: Record<string, string>;
}
export interface SearchPlaceIndexForPositionInput {
    /** The name of the place index resource you want to use for the search. */
    IndexName: string;
    /** Specifies the longitude and latitude of the position to query. This parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents t */
    Position: number[];
    /** The optional API key to authorize the request. */
    Key?: string;
    /** The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English. This setting affects the languages used in the results, but not the results t */
    Language?: string;
    /** An optional parameter. The maximum number of results returned per request. Default value: 50 */
    MaxResults?: number;
}
export interface SearchPlaceIndexForSuggestionsInput {
    /** The name of the place index resource you want to use for the search. */
    IndexName: string;
    /** The free-form partial text to use to generate place suggestions. For example, eiffel tow. */
    Text: string;
    /** An optional parameter that indicates a preference for place suggestions that are closer to a specified position. If provided, this parameter must contain a pair of numbers. The first number represents */
    BiasPosition?: number[];
    /** An optional parameter that limits the search results by returning only suggestions within a specified bounding box. If provided, this parameter must contain a total of four consecutive numbers in two  */
    FilterBBox?: number[];
    /** A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match any of the categories listed. For mor */
    FilterCategories?: string[];
    /** An optional parameter that limits the search results by returning only suggestions within the provided list of countries. Use the ISO 3166 3-digit country code. For example, Australia uses three upper */
    FilterCountries?: string[];
    /** The optional API key to authorize the request. */
    Key?: string;
    /** The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English. This setting affects the languages used in the results. If no language is spe */
    Language?: string;
    /** An optional parameter. The maximum number of results returned per request. The default: 5 */
    MaxResults?: number;
}
export interface SearchPlaceIndexForTextInput {
    /** The name of the place index resource you want to use for the search. */
    IndexName: string;
    /** The address, name, city, or region to be used in the search in free-form text format. For example, 123 Any Street. */
    Text: string;
    /** An optional parameter that indicates a preference for places that are closer to a specified position. If provided, this parameter must contain a pair of numbers. The first number represents the X coor */
    BiasPosition?: number[];
    /** An optional parameter that limits the search results by returning only places that are within the provided bounding box. If provided, this parameter must contain a total of four consecutive numbers in */
    FilterBBox?: number[];
    /** A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match any of the categories listed. For mor */
    FilterCategories?: string[];
    /** An optional parameter that limits the search results by returning only places that are in a specified list of countries. Valid values include ISO 3166 3-digit country codes. For example, Australia use */
    FilterCountries?: string[];
    /** The optional API key to authorize the request. */
    Key?: string;
    /** The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English. This setting affects the languages used in the results, but not the results t */
    Language?: string;
    /** An optional parameter. The maximum number of results returned per request. The default: 50 */
    MaxResults?: number;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource whose tags you want to update. Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource */
    ResourceArn: string;
    /** Applies one or more tags to specific resource. A tag is a key-value pair that helps you manage, identify, search, and filter your resources. Format: "key" : "value" Restrictions: Maximum 50 tags per r */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource from which you want to remove tags. Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource */
    ResourceArn: string;
    /** The list of tag keys to remove from the specified resource. */
    TagKeys: string[];
}
export interface UpdateGeofenceCollectionInput {
    /** The name of the geofence collection to update. */
    CollectionName: string;
    /** Updates the description for the geofence collection. */
    Description?: string;
    /** No longer used. If included, the only allowed value is RequestBasedUsage. */
    PricingPlan?: 'RequestBasedUsage' | 'MobileAssetTracking' | 'MobileAssetManagement';
    /** This parameter is no longer used. */
    PricingPlanDataSource?: string;
}
export interface UpdateKeyInput {
    /** The name of the API key resource to update. */
    KeyName: string;
    /** Updates the description for the API key resource. */
    Description?: string;
    /** Updates the timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. */
    ExpireTime?: string;
    /** The boolean flag to be included for updating ExpireTime or Restrictions details. Must be set to true to update an API key resource that has been used in the past 7 days. False if force update is not p */
    ForceUpdate?: boolean;
    /** Whether the API key should expire. Set to true to set the API key to have no expiration time. */
    NoExpiry?: boolean;
    /** Updates the API key restrictions for the API key resource. */
    Restrictions?: ApiKeyRestrictions;
}
export interface UpdateMapInput {
    /** The name of the map resource to update. */
    MapName: string;
    /** Updates the parts of the map configuration that can be updated, including the political view. */
    ConfigurationUpdate?: MapConfigurationUpdate;
    /** Updates the description for the map resource. */
    Description?: string;
    /** No longer used. If included, the only allowed value is RequestBasedUsage. */
    PricingPlan?: 'RequestBasedUsage' | 'MobileAssetTracking' | 'MobileAssetManagement';
}
export interface UpdatePlaceIndexInput {
    /** The name of the place index resource to update. */
    IndexName: string;
    /** Updates the data storage option for the place index resource. */
    DataSourceConfiguration?: DataSourceConfiguration;
    /** Updates the description for the place index resource. */
    Description?: string;
    /** No longer used. If included, the only allowed value is RequestBasedUsage. */
    PricingPlan?: 'RequestBasedUsage' | 'MobileAssetTracking' | 'MobileAssetManagement';
}
export interface UpdateRouteCalculatorInput {
    /** The name of the route calculator resource to update. */
    CalculatorName: string;
    /** Updates the description for the route calculator resource. */
    Description?: string;
    /** No longer used. If included, the only allowed value is RequestBasedUsage. */
    PricingPlan?: 'RequestBasedUsage' | 'MobileAssetTracking' | 'MobileAssetManagement';
}
export interface UpdateTrackerInput {
    /** The name of the tracker resource to update. */
    TrackerName: string;
    /** Updates the description for the tracker resource. */
    Description?: string;
    /** Whether to enable position UPDATE events from this tracker to be sent to EventBridge. You do not need enable this feature to get ENTER and EXIT events for geofences with this tracker. Those events are */
    EventBridgeEnabled?: boolean;
    /** Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key. This parameter is only used if you are using a KMS customer managed key. */
    KmsKeyEnableGeospatialQueries?: boolean;
    /** Updates the position filtering for the tracker resource. Valid values: TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your  */
    PositionFiltering?: 'TimeBased' | 'DistanceBased' | 'AccuracyBased';
    /** No longer used. If included, the only allowed value is RequestBasedUsage. */
    PricingPlan?: 'RequestBasedUsage' | 'MobileAssetTracking' | 'MobileAssetManagement';
    /** This parameter is no longer used. */
    PricingPlanDataSource?: string;
}
export interface VerifyDevicePositionInput {
    /** The device's state, including position, IP address, cell signals and Wi-Fi access points. */
    DeviceState: DeviceState;
    /** The name of the tracker resource to be associated with verification request. */
    TrackerName: string;
    /** The distance unit for the verification request. Default Value: Kilometers */
    DistanceUnit?: 'Kilometers' | 'Miles';
}
/** Location service binding for Step Functions SDK integrations. */
export declare class Location {
    constructor();
    associateTrackerConsumer<T>(params: AssociateTrackerConsumerInput): Promise<T>;
    batchDeleteDevicePositionHistory<T>(params: BatchDeleteDevicePositionHistoryInput): Promise<T>;
    batchDeleteGeofence<T>(params: BatchDeleteGeofenceInput): Promise<T>;
    batchEvaluateGeofences<T>(params: BatchEvaluateGeofencesInput): Promise<T>;
    batchGetDevicePosition<T>(params: BatchGetDevicePositionInput): Promise<T>;
    batchPutGeofence<T>(params: BatchPutGeofenceInput): Promise<T>;
    batchUpdateDevicePosition<T>(params: BatchUpdateDevicePositionInput): Promise<T>;
    calculateRoute<T>(params: CalculateRouteInput): Promise<T>;
    calculateRouteMatrix<T>(params: CalculateRouteMatrixInput): Promise<T>;
    deleteGeofenceCollection<T>(params: DeleteGeofenceCollectionInput): Promise<T>;
    deleteKey<T>(params: DeleteKeyInput): Promise<T>;
    deleteMap<T>(params: DeleteMapInput): Promise<T>;
    deletePlaceIndex<T>(params: DeletePlaceIndexInput): Promise<T>;
    deleteRouteCalculator<T>(params: DeleteRouteCalculatorInput): Promise<T>;
    deleteTracker<T>(params: DeleteTrackerInput): Promise<T>;
    describeGeofenceCollection<T>(params: DescribeGeofenceCollectionInput): Promise<T>;
    describeKey<T>(params: DescribeKeyInput): Promise<T>;
    describeMap<T>(params: DescribeMapInput): Promise<T>;
    describePlaceIndex<T>(params: DescribePlaceIndexInput): Promise<T>;
    describeRouteCalculator<T>(params: DescribeRouteCalculatorInput): Promise<T>;
    describeTracker<T>(params: DescribeTrackerInput): Promise<T>;
    disassociateTrackerConsumer<T>(params: DisassociateTrackerConsumerInput): Promise<T>;
    forecastGeofenceEvents<T>(params: ForecastGeofenceEventsInput): Promise<T>;
    getDevicePosition<T>(params: GetDevicePositionInput): Promise<T>;
    getDevicePositionHistory<T>(params: GetDevicePositionHistoryInput): Promise<T>;
    getGeofence<T>(params: GetGeofenceInput): Promise<T>;
    getMapGlyphs<T>(params: GetMapGlyphsInput): Promise<T>;
    getMapSprites<T>(params: GetMapSpritesInput): Promise<T>;
    getMapStyleDescriptor<T>(params: GetMapStyleDescriptorInput): Promise<T>;
    getMapTile<T>(params: GetMapTileInput): Promise<T>;
    getPlace<T>(params: GetPlaceInput): Promise<T>;
    listDevicePositions<T>(params: ListDevicePositionsInput): Promise<T>;
    listGeofenceCollections<T>(params: ListGeofenceCollectionsInput): Promise<T>;
    listGeofences<T>(params: ListGeofencesInput): Promise<T>;
    listKeys<T>(params: ListKeysInput): Promise<T>;
    listMaps<T>(params: ListMapsInput): Promise<T>;
    listPlaceIndexes<T>(params: ListPlaceIndexesInput): Promise<T>;
    listRouteCalculators<T>(params: ListRouteCalculatorsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listTrackerConsumers<T>(params: ListTrackerConsumersInput): Promise<T>;
    listTrackers<T>(params: ListTrackersInput): Promise<T>;
    putGeofence<T>(params: PutGeofenceInput): Promise<T>;
    searchPlaceIndexForPosition<T>(params: SearchPlaceIndexForPositionInput): Promise<T>;
    searchPlaceIndexForSuggestions<T>(params: SearchPlaceIndexForSuggestionsInput): Promise<T>;
    searchPlaceIndexForText<T>(params: SearchPlaceIndexForTextInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateGeofenceCollection<T>(params: UpdateGeofenceCollectionInput): Promise<T>;
    updateKey<T>(params: UpdateKeyInput): Promise<T>;
    updateMap<T>(params: UpdateMapInput): Promise<T>;
    updatePlaceIndex<T>(params: UpdatePlaceIndexInput): Promise<T>;
    updateRouteCalculator<T>(params: UpdateRouteCalculatorInput): Promise<T>;
    updateTracker<T>(params: UpdateTrackerInput): Promise<T>;
    verifyDevicePosition<T>(params: VerifyDevicePositionInput): Promise<T>;
}
//# sourceMappingURL=Location.d.ts.map