import { Request, Location as AWSLocation } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSLocation> = AWSLocation[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSLocation, Extras> = AWSLocation[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Location {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "geo";
    readonly global: false;
    readonly category: "Front-End Web & Mobile";
    readonly topLevelCalls: readonly ["listGeofenceCollections", "listMaps", "listPlaceIndexes", "listRouteCalculators", "listTrackers"];
    associateTrackerConsumer: (params: ParamsFrom<'associateTrackerConsumer', Record<string, never>>) => Promise<ReturnTypeFrom<'associateTrackerConsumer'>>;
    batchDeleteDevicePositionHistory: (params: ParamsFrom<'batchDeleteDevicePositionHistory', Record<string, never>>) => Promise<ReturnTypeFrom<'batchDeleteDevicePositionHistory'>>;
    batchDeleteGeofence: (params: ParamsFrom<'batchDeleteGeofence', Record<string, never>>) => Promise<ReturnTypeFrom<'batchDeleteGeofence'>>;
    batchEvaluateGeofences: (params: ParamsFrom<'batchEvaluateGeofences', Record<string, never>>) => Promise<ReturnTypeFrom<'batchEvaluateGeofences'>>;
    batchGetDevicePosition: (params: ParamsFrom<'batchGetDevicePosition', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetDevicePosition'>>;
    batchPutGeofence: (params: ParamsFrom<'batchPutGeofence', Record<string, never>>) => Promise<ReturnTypeFrom<'batchPutGeofence'>>;
    batchUpdateDevicePosition: (params: ParamsFrom<'batchUpdateDevicePosition', Record<string, never>>) => Promise<ReturnTypeFrom<'batchUpdateDevicePosition'>>;
    calculateRoute: (params: ParamsFrom<'calculateRoute', Record<string, never>>) => Promise<ReturnTypeFrom<'calculateRoute'>>;
    calculateRouteMatrix: (params: ParamsFrom<'calculateRouteMatrix', Record<string, never>>) => Promise<ReturnTypeFrom<'calculateRouteMatrix'>>;
    createGeofenceCollection: (params: ParamsFrom<'createGeofenceCollection', Record<string, never>>) => Promise<ReturnTypeFrom<'createGeofenceCollection'>>;
    createMap: (params: ParamsFrom<'createMap', Record<string, never>>) => Promise<ReturnTypeFrom<'createMap'>>;
    createPlaceIndex: (params: ParamsFrom<'createPlaceIndex', Record<string, never>>) => Promise<ReturnTypeFrom<'createPlaceIndex'>>;
    createRouteCalculator: (params: ParamsFrom<'createRouteCalculator', Record<string, never>>) => Promise<ReturnTypeFrom<'createRouteCalculator'>>;
    createTracker: (params: ParamsFrom<'createTracker', Record<string, never>>) => Promise<ReturnTypeFrom<'createTracker'>>;
    deleteGeofenceCollection: (params: ParamsFrom<'deleteGeofenceCollection', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteGeofenceCollection'>>;
    deleteMap: (params: ParamsFrom<'deleteMap', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteMap'>>;
    deletePlaceIndex: (params: ParamsFrom<'deletePlaceIndex', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePlaceIndex'>>;
    deleteRouteCalculator: (params: ParamsFrom<'deleteRouteCalculator', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRouteCalculator'>>;
    deleteTracker: (params: ParamsFrom<'deleteTracker', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteTracker'>>;
    describeGeofenceCollection: (params: ParamsFrom<'describeGeofenceCollection', Record<string, never>>) => Promise<ReturnTypeFrom<'describeGeofenceCollection'>>;
    describeMap: (params: ParamsFrom<'describeMap', Record<string, never>>) => Promise<ReturnTypeFrom<'describeMap'>>;
    describePlaceIndex: (params: ParamsFrom<'describePlaceIndex', Record<string, never>>) => Promise<ReturnTypeFrom<'describePlaceIndex'>>;
    describeRouteCalculator: (params: ParamsFrom<'describeRouteCalculator', Record<string, never>>) => Promise<ReturnTypeFrom<'describeRouteCalculator'>>;
    describeTracker: (params: ParamsFrom<'describeTracker', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTracker'>>;
    disassociateTrackerConsumer: (params: ParamsFrom<'disassociateTrackerConsumer', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateTrackerConsumer'>>;
    getDevicePosition: (params: ParamsFrom<'getDevicePosition', Record<string, never>>) => Promise<ReturnTypeFrom<'getDevicePosition'>>;
    getDevicePositionHistory(params: {
        [K in keyof ParamsFrom<'getDevicePositionHistory', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getDevicePositionHistory', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getDevicePositionHistory'>]-?: ReturnTypeFrom<'getDevicePositionHistory'>[K];
        }['DevicePositions'];
    }>;
    getGeofence: (params: ParamsFrom<'getGeofence', Record<string, never>>) => Promise<ReturnTypeFrom<'getGeofence'>>;
    getMapGlyphs: (params: ParamsFrom<'getMapGlyphs', Record<string, never>>) => Promise<ReturnTypeFrom<'getMapGlyphs'>>;
    getMapSprites: (params: ParamsFrom<'getMapSprites', Record<string, never>>) => Promise<ReturnTypeFrom<'getMapSprites'>>;
    getMapStyleDescriptor: (params: ParamsFrom<'getMapStyleDescriptor', Record<string, never>>) => Promise<ReturnTypeFrom<'getMapStyleDescriptor'>>;
    getMapTile: (params: ParamsFrom<'getMapTile', Record<string, never>>) => Promise<ReturnTypeFrom<'getMapTile'>>;
    getPlace: (params: ParamsFrom<'getPlace', Record<string, never>>) => Promise<ReturnTypeFrom<'getPlace'>>;
    listDevicePositions(params: {
        [K in keyof ParamsFrom<'listDevicePositions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDevicePositions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDevicePositions'>]-?: ReturnTypeFrom<'listDevicePositions'>[K];
        }['Entries'];
    }>;
    listGeofenceCollections(params: {
        [K in keyof ParamsFrom<'listGeofenceCollections', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listGeofenceCollections', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listGeofenceCollections'>]-?: ReturnTypeFrom<'listGeofenceCollections'>[K];
        }['Entries'];
    }>;
    listGeofences(params: {
        [K in keyof ParamsFrom<'listGeofences', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listGeofences', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listGeofences'>]-?: ReturnTypeFrom<'listGeofences'>[K];
        }['Entries'];
    }>;
    listMaps(params: {
        [K in keyof ParamsFrom<'listMaps', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listMaps', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listMaps'>]-?: ReturnTypeFrom<'listMaps'>[K];
        }['Entries'];
    }>;
    listPlaceIndexes(params: {
        [K in keyof ParamsFrom<'listPlaceIndexes', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPlaceIndexes', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPlaceIndexes'>]-?: ReturnTypeFrom<'listPlaceIndexes'>[K];
        }['Entries'];
    }>;
    listRouteCalculators(params: {
        [K in keyof ParamsFrom<'listRouteCalculators', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listRouteCalculators', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listRouteCalculators'>]-?: ReturnTypeFrom<'listRouteCalculators'>[K];
        }['Entries'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    listTrackerConsumers(params: {
        [K in keyof ParamsFrom<'listTrackerConsumers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listTrackerConsumers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTrackerConsumers'>]-?: ReturnTypeFrom<'listTrackerConsumers'>[K];
        }['ConsumerArns'];
    }>;
    listTrackers(params: {
        [K in keyof ParamsFrom<'listTrackers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listTrackers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTrackers'>]-?: ReturnTypeFrom<'listTrackers'>[K];
        }['Entries'];
    }>;
    putGeofence: (params: ParamsFrom<'putGeofence', Record<string, never>>) => Promise<ReturnTypeFrom<'putGeofence'>>;
    searchPlaceIndexForPosition: (params: ParamsFrom<'searchPlaceIndexForPosition', Record<string, never>>) => Promise<ReturnTypeFrom<'searchPlaceIndexForPosition'>>;
    searchPlaceIndexForSuggestions: (params: ParamsFrom<'searchPlaceIndexForSuggestions', Record<string, never>>) => Promise<ReturnTypeFrom<'searchPlaceIndexForSuggestions'>>;
    searchPlaceIndexForText: (params: ParamsFrom<'searchPlaceIndexForText', Record<string, never>>) => Promise<ReturnTypeFrom<'searchPlaceIndexForText'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateGeofenceCollection: (params: ParamsFrom<'updateGeofenceCollection', Record<string, never>>) => Promise<ReturnTypeFrom<'updateGeofenceCollection'>>;
    updateMap: (params: ParamsFrom<'updateMap', Record<string, never>>) => Promise<ReturnTypeFrom<'updateMap'>>;
    updatePlaceIndex: (params: ParamsFrom<'updatePlaceIndex', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePlaceIndex'>>;
    updateRouteCalculator: (params: ParamsFrom<'updateRouteCalculator', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRouteCalculator'>>;
    updateTracker: (params: ParamsFrom<'updateTracker', Record<string, never>>) => Promise<ReturnTypeFrom<'updateTracker'>>;
    static fromClient(client: AWSLocation): Location;
    static client(options?: AWSLocation.Types.ClientConfiguration): Location;
}
export {};
