import { GoogleDirectionsClient } from './google-directions.client';
import { GoogleRoadsClient } from './google-roads.client';
import { type LatLng } from './map-matching.util';
export type AlignPathInputPoint = {
    lat: number;
    lng: number;
    timestamp?: Date | null;
};
export type AlignPathResult = {
    engine: string;
    points: LatLng[];
    distanceMeters: number;
    distanceKm: number;
    rawPointCount: number;
    cleanedPointCount: number;
    gapsFilled: number;
    snapStatus: string;
};
export declare class PathAlignService {
    private readonly directions;
    private readonly roads;
    constructor(directions: GoogleDirectionsClient, roads: GoogleRoadsClient);
    align(points: AlignPathInputPoint[]): Promise<AlignPathResult>;
    private directionsCorridorAlongGps;
    private cleanGps;
    private fillKillGaps;
    private shouldFillKillGap;
    private pickSaneRoute;
    private isSaneVsRaw;
    private dtSeconds;
}
