export declare enum EHRType { Dexcom = "dexcom", Fitbit = "fitbit", Garmin = "garmin", KetoMojo = "ketoMojo", Oura = "oura", ReadoutHealth = "readoutHealth", GoogleFit = "googleFit", HealthKit = "healthKit" } export declare enum WearableStateSyncType { BodyMass = "bodyMass", LeanBodyMass = "leanBodyMass", BodyFatPercentage = "bodyFatPercentage", WaistCircumference = "waistCircumference", BodyMassIndex = "bodyMassIndex", ActiveEnergyBurned = "activeEnergyBurned", BasalEnergyBurned = "basalEnergyBurned", CaloriesBurned = "caloriesBurned", StepCount = "stepCount", DistanceWalkingRunning = "distanceWalkingRunning", DistanceCycling = "distanceCycling", MindfulSession = "mindfulSession", Workout = "workout", Vo2Max = "vo2Max", BloodPressure = "bloodPressure", HeartRate = "heartRate", HeartRateVariability = "heartRateVariability", RestingHeartRate = "restingHeartRate", RespiratoryRate = "respiratoryRate", BloodGlucose = "bloodGlucose", OxygenSaturation = "oxygenSaturation", SleepAnalysis = "sleepAnalysis", BreathKetones = "breathKetones", BloodKetones = "bloodKetones", Immunization = "immunization" } export interface WearableIntegration { ehrId: string; ehrType: string; name: string; enabled: boolean; status?: WearableIntegrationStatus; lastSync?: string; failureCode?: string; meta?: any; supportedSyncTypes?: Array; syncTypes?: Array; } export interface ToggleWearableResult extends WearableIntegration { authorizationUrl?: string; } export type SyncTypeSettings = Record; export declare enum WearableIntegrationStatus { NeedsAuthorization = "NEEDS_AUTHORIZATION", Syncing = "SYNCING", Failure = "FAILURE" } export declare enum WearableIntegrationFailureCode { InvalidFHIR = "INVALID_FHIR", APIRateLimit = "API_RATE_LIMIT", Unknown = "UNKNOWN" } export interface WearableIntegrationConfig { include?: string[]; appId?: string; appVersionNumber?: string; } export interface WearablesSyncState { items: WearableIntegration[]; } export interface NativeWearableLifecycleHandler { preToggle?(wearable: WearableIntegration, enabled: boolean): Promise; postToggle?(wearable: WearableIntegration): Promise; sanitizeEHRs?(ehrs: WearableIntegration[]): Promise; onBackfill?(wearable: WearableIntegration): Promise; }