import { HealthLinkDataType } from './dataTypes'; import { BloodGlucoseUnit, EnergyUnit, HeartRateUnit, HeighUnit, StepsUnit, WeightUnit, } from './units'; export interface WriteOptionsBase { value?: T extends HealthLinkDataType.BloodPressure ? { diastolic: number; systolic: number } : number; time?: string; unit?: Unit; metadata?: { source?: string; } & Record; } export type Unit = | BloodGlucoseUnit | WeightUnit | StepsUnit | HeighUnit | HeartRateUnit | EnergyUnit; export type WriteOptions = WriteOptionsBase & (T extends HealthLinkDataType.Steps ? { startDate: string; endDate: string } : { startDate?: string; endDate?: string }); /** * Represents the types of data that are supported in the write operation. * * @typedef {WriteDataType} * @property {HealthLinkDataType.BloodGlucose} BloodGlucose - Represents blood glucose data. * @property {HealthLinkDataType.Height} Height - Represents height data. * @property {HealthLinkDataType.Weight} Weight - Represents weight data. * @property {HealthLinkDataType.HeartRate} HeartRate - Represents heart rate data. * @property {HealthLinkDataType.Steps} Steps - Represents steps data. */ export type WriteDataType = | HealthLinkDataType.BloodGlucose | HealthLinkDataType.Height | HealthLinkDataType.Weight | HealthLinkDataType.HeartRate | HealthLinkDataType.Steps;