import { type StrideSex } from './strideModel'; export interface PedometerMetricsInput { steps: number; /** Session duration (ms) */ durationMs: number; /** Measured distance (m) — if from native CMPedometer, preferred over stride estimate */ measuredDistanceM?: number; /** User mass (kg) — required for calories */ massKg: number; /** Stature (m) — for stride-based distance */ heightM: number; sex?: StrideSex; /** Age (years) — reserved for future HR-zone models */ ageYears?: number; } export interface PedometerMetricsResult { steps: number; durationMs: number; durationMinutes: number; /** Distance (m): native measurement or stride model */ distanceM: number; distanceSource: 'measured' | 'stride_model'; cadenceSpm: number; speedMps: number; strideM: number; met: number; intensityBand: 'sedentary' | 'light' | 'moderate' | 'vigorous'; /** Gross energy at estimated MET (kcal) */ grossKcal: number; /** Net above resting 1-MET (kcal) */ netKcal: number; /** Moderate/vigorous minutes in session */ activeMinutes: number; /** Google Fit–style Heart Points */ heartPoints: number; /** Progress toward WHO / Google weekly goals (0–1) if applied to this session only */ whoWeeklyProgress: number; heartPointsWeeklyProgress: number; } /** * Compute science-backed pedometer metrics from steps + duration + anthropometrics. * Pure functions — no native calls, fully testable / replayable. */ export declare function computePedometerMetrics(input: PedometerMetricsInput): PedometerMetricsResult; //# sourceMappingURL=computePedometerMetrics.d.ts.map