import { AlignPathDto } from './dto/align-path.dto';
import { DirectionsRouteDto } from './dto/directions-route.dto';
import { SnapPathDto } from './dto/snap-path.dto';
import { GoogleDirectionsClient } from './google-directions.client';
import { GoogleRoadsClient } from './google-roads.client';
import { PathAlignService } from './path-align.service';
export declare class DirectionsController {
    private readonly directions;
    private readonly roads;
    private readonly pathAlign;
    constructor(directions: GoogleDirectionsClient, roads: GoogleRoadsClient, pathAlign: PathAlignService);
    route(body: DirectionsRouteDto): Promise<{
        engine: string;
        routes: {
            routeIndex: number;
            distanceMeters: number;
            distanceKm: number;
            durationSeconds: number;
            durationMinutes: number;
            polylineEncoded: string;
            points: import("./map-matching.util").LatLng[];
        }[];
    }>;
    snapPath(body: SnapPathDto): Promise<{
        engine: string;
        interpolate: boolean;
        points: {
            lat: number;
            lng: number;
        }[];
    }>;
    alignPath(body: AlignPathDto): Promise<import("./path-align.service").AlignPathResult>;
    private parseTime;
}
