import { AxiosInstance } from 'axios';
import { Coordinates, Route } from '../../../types';
type RequestFilter = 'dirt_road' | 'toll_road' | 'ferry' | 'highway' | 'ban_car_road' | 'ban_stairway';
type RouteMode = 'fastest' | 'shortest';
type TrafficMode = 'jam' | 'statistics';
type Transport = 'driving' | 'walking' | 'taxi' | 'bicycle' | 'scooter' | 'emergency' | 'truck';
type Output = 'summary' | 'detailed';
type Locale = 'en' | 'ru' | 'uk' | 'es' | 'it' | 'cs' | 'ar' | 'az' | 'uz' | 'kk' | 'hy' | 'ka';
type PointType = 'stop' | 'walking' | 'pref';
export interface GetRouteParams {
    points: {
        type?: PointType;
        start?: boolean;
        azimuth?: number;
        lon: number;
        lat: number;
        zlevel?: number;
        distance_direction?: number;
        object_id?: string;
        floor_id?: string;
    }[];
    route_mode?: RouteMode;
    traffic_mode?: TrafficMode;
    transport?: Transport;
    output?: Output;
    utc?: number;
    filters?: RequestFilter | RequestFilter[];
    allow_locked_roads?: boolean;
    exclude?: {
        type: 'point' | 'polyline' | 'polygon';
        points: Coordinates[];
        severity: 'soft' | 'hard';
        extent?: number;
    }[];
    locale?: Locale;
    params?: {
        pedestrian?: {
            use_indoor?: boolean;
            use_instructions?: boolean;
        };
    };
    alternative?: number;
    need_altitudes?: boolean;
}
export declare const getRoute: (http: AxiosInstance, signal?: AbortSignal) => (params: GetRouteParams) => Promise<Route>;
export {};
