enum MetricType {
heartrateMax = "heartrate_max",
heartrateMin = "heartrate_min",
heartrate = "heartrate",
heartrateResting = "heartrate_resting",
hrvRmssd = "hrv_rmssd",
hrvSdnn = "hrv_sdnn",
elevationMax = "elevation_max",
elevationMin = "elevation_min",
elevationGain = "elevation_gain",
elevationLoss = "elevation_loss",
ascent = "ascent",
descent = "descent",
caloriesBurnedActive = "calories_burned_active",
caloriesBurnedBasal = "calories_burned_basal",
caloriesBurned = "calories_burned",
caloriesIntake = "calories_intake",
stepsTotal = "steps",
floorsClimbed = "floors_climbed",
distanceTotal = "distance",
distanceWalking = "distance_walking",
distanceCycling = "distance_cycling",
distanceRunning = "distance_running",
distanceWheelchair = "distance_wheelchair",
distanceSwimming = "distance_swimming",
speed = "speed",
speedMax = "speed_max",
speedMin = "speed_min",
airTemperatureMax = "air_temperature_max",
airTemperatureMin = "air_temperature_min",
spo2 = "spo2",
spo2Max = "spo2_max",
spo2Min = "spo2_min",
longitude = "longitude",
latitude = "latitude",
elevation = "elevation",
durationActive = "duration_active",
swimmingLengths = "swimming_lenghts",
swimmingDistancePerStroke = "swimming_distance_per_stroke",
height = "height",
weight = "weight",
birthYear = "birth_year",
birthDate = "birth_date",
timezone = "timezone",
gender = "gender",
vo2Max = "vo2max",
bodyTemperature = "body_temperature",
skinTemperature = "skin_temperature",
breathingRate = "breathing_rate",
breathingRateMin = "breathing_rate_min",
breathingRateMax = "breathing_rate_max",
bodyFat = "body_fat",
bodyFatMax = "body_fat_max",
bodyFatMin = "body_fat_min",
bodyBoneMass = "body_bone_mass",
bodyMassIndex = "body_mass_index",
bloodPressureSystolic = "blood_pressure_systolic",
bloodPressureSystolicMin = "blood_pressure_systolic_min",
bloodPressureSystolicMax = "blood_pressure_systolic_max",
bloodPressureDiastolic = "blood_pressure_diastolic",
bloodPressureDiastolicMin = "blood_pressure_diastolic_min",
bloodPressureDiastolicMax = "blood_pressure_diastolic_max",
unknown = "_unknown"
}
// Result:
interface SpikeRecord {
recordId: UUID;
inputMethod: InputMethod | null;
startAt: string;
endAt: string | null;
modifiedAt: string;
duration: number | null;
provider: Provider | null;
providerSource: ProviderSource | null;
isSourceAggregated: boolean | null;
source: RecordSource | null;
metrics: { [key: string]: number } | null;
sleepScore: number | null;
activityTags: ActivityTag[] | null;
activityType: ActivityType | null;
sessions: ActivityEntry[] | null;
laps: ActivityEntry[] | null;
segments: ActivityEntry[] | null;
splits: ActivityEntry[] | null;
samples: ActivityEntry[] | null;
routePoints: ActivityEntry[] | null;
sleep: ActivityEntry[] | null;
}