export interface MetricsV2Point { latitude: number; longitude: number; accuracy?: number; altitude?: number; timestamp: number; speed?: number; } export interface MetricsV2Summary { sessionId: string; pointCount: number; totalDistance2d: number; correctedDistance2d: number; movingDistance2d: number; maxSpeedMps: number; averageSpeedMps: number; droppedPoints: number; notes: string[]; } /** * Haversine distance (2D) in meters. * Complexity: O(1) */ export declare function distance2dMeters(a: MetricsV2Point, b: MetricsV2Point): number; /** * Corrected distance pipeline (V2) * * Pipeline: * - timestamp sanity * - accuracy gating (optional) * - outlier rejection by implied speed (meters / second) * - sum remaining segments * * Complexity: O(n) */ export declare function computeMetricsV2(sessionId: string, points: MetricsV2Point[], options?: { maxAccuracyM?: number; maxImpliedSpeedMps?: number; movingSpeedThresholdMps?: number; }): MetricsV2Summary; //# sourceMappingURL=computeMetricsV2.d.ts.map