import typing

import android.graphics
import android.health.connect
import android.health.connect.datatypes.units
import android.net
import android.os
import java
import java.lang
import java.time
import java.util

class ActiveCaloriesBurnedRecord(IntervalRecord):
    ACTIVE_CALORIES_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Energy]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getEnergy(self) -> android.health.connect.datatypes.units.Energy: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, energy: android.health.connect.datatypes.units.Energy, /) -> None: ...
        def build(self) -> ActiveCaloriesBurnedRecord: ...
        def clearEndZoneOffset(self) -> ActiveCaloriesBurnedRecord.Builder: ...
        def clearStartZoneOffset(self) -> ActiveCaloriesBurnedRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> ActiveCaloriesBurnedRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> ActiveCaloriesBurnedRecord.Builder: ...

class ActivityIntensityRecord(IntervalRecord):
    ACTIVITY_INTENSITY_TYPE_MODERATE: typing.ClassVar[int] = ...
    ACTIVITY_INTENSITY_TYPE_VIGOROUS: typing.ClassVar[int] = ...
    DURATION_TOTAL: typing.ClassVar[AggregationType[java.time.Duration]] = ...
    INTENSITY_MINUTES_TOTAL: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    MODERATE_DURATION_TOTAL: typing.ClassVar[AggregationType[java.time.Duration]] = ...
    VIGOROUS_DURATION_TOTAL: typing.ClassVar[AggregationType[java.time.Duration]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getActivityIntensityType(self) -> int: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, activityIntensityType: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> ActivityIntensityRecord: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> ActivityIntensityRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> ActivityIntensityRecord.Builder: ...

_AggregationType__T = typing.TypeVar('_AggregationType__T')  # <T>
class AggregationType(java.lang.Object, typing.Generic[_AggregationType__T]): ...

class AppInfo(java.lang.Object):
    def getIcon(self) -> android.graphics.Bitmap | None: ...
    def getName(self) -> str | None: ...
    def getPackageName(self) -> str: ...

class BasalBodyTemperatureRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getMeasurementLocation(self) -> int: ...
    def getTemperature(self) -> android.health.connect.datatypes.units.Temperature: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, measurementLocation: int | java.jint | java.lang.Integer, temperature: android.health.connect.datatypes.units.Temperature, /) -> None: ...
        def build(self) -> BasalBodyTemperatureRecord: ...
        def clearZoneOffset(self) -> BasalBodyTemperatureRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> BasalBodyTemperatureRecord.Builder: ...

class BasalMetabolicRateRecord(InstantRecord):
    BASAL_CALORIES_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Energy]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getBasalMetabolicRate(self) -> android.health.connect.datatypes.units.Power: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, basalMetabolicRate: android.health.connect.datatypes.units.Power, /) -> None: ...
        def build(self) -> BasalMetabolicRateRecord: ...
        def clearZoneOffset(self) -> BasalMetabolicRateRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> BasalMetabolicRateRecord.Builder: ...

class BloodGlucoseRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getLevel(self) -> android.health.connect.datatypes.units.BloodGlucose: ...
    def getMealType(self) -> int: ...
    def getRelationToMeal(self) -> int: ...
    def getSpecimenSource(self) -> int: ...
    def hashCode(self) -> int: ...

    class SpecimenSource(java.lang.Object):
        SPECIMEN_SOURCE_CAPILLARY_BLOOD: typing.ClassVar[int] = ...
        SPECIMEN_SOURCE_INTERSTITIAL_FLUID: typing.ClassVar[int] = ...
        SPECIMEN_SOURCE_PLASMA: typing.ClassVar[int] = ...
        SPECIMEN_SOURCE_SERUM: typing.ClassVar[int] = ...
        SPECIMEN_SOURCE_TEARS: typing.ClassVar[int] = ...
        SPECIMEN_SOURCE_UNKNOWN: typing.ClassVar[int] = ...
        SPECIMEN_SOURCE_WHOLE_BLOOD: typing.ClassVar[int] = ...

    class RelationToMealType(java.lang.Object):
        RELATION_TO_MEAL_AFTER_MEAL: typing.ClassVar[int] = ...
        RELATION_TO_MEAL_BEFORE_MEAL: typing.ClassVar[int] = ...
        RELATION_TO_MEAL_FASTING: typing.ClassVar[int] = ...
        RELATION_TO_MEAL_GENERAL: typing.ClassVar[int] = ...
        RELATION_TO_MEAL_UNKNOWN: typing.ClassVar[int] = ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, specimenSource: int | java.jint | java.lang.Integer, level: android.health.connect.datatypes.units.BloodGlucose, relationToMeal: int | java.jint | java.lang.Integer, mealType: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> BloodGlucoseRecord: ...
        def clearZoneOffset(self) -> BloodGlucoseRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> BloodGlucoseRecord.Builder: ...

class BloodPressureRecord(InstantRecord):
    DIASTOLIC_AVG: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Pressure]] = ...
    DIASTOLIC_MAX: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Pressure]] = ...
    DIASTOLIC_MIN: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Pressure]] = ...
    SYSTOLIC_AVG: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Pressure]] = ...
    SYSTOLIC_MAX: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Pressure]] = ...
    SYSTOLIC_MIN: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Pressure]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getBodyPosition(self) -> int: ...
    def getDiastolic(self) -> android.health.connect.datatypes.units.Pressure: ...
    def getMeasurementLocation(self) -> int: ...
    def getSystolic(self) -> android.health.connect.datatypes.units.Pressure: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, measurementLocation: int | java.jint | java.lang.Integer, systolic: android.health.connect.datatypes.units.Pressure, diastolic: android.health.connect.datatypes.units.Pressure, bodyPosition: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> BloodPressureRecord: ...
        def clearZoneOffset(self) -> BloodPressureRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> BloodPressureRecord.Builder: ...

    class BodyPosition(java.lang.Object):
        BODY_POSITION_LYING_DOWN: typing.ClassVar[int] = ...
        BODY_POSITION_RECLINING: typing.ClassVar[int] = ...
        BODY_POSITION_SITTING_DOWN: typing.ClassVar[int] = ...
        BODY_POSITION_STANDING_UP: typing.ClassVar[int] = ...
        BODY_POSITION_UNKNOWN: typing.ClassVar[int] = ...

    class BloodPressureMeasurementLocation(java.lang.Object):
        BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_UPPER_ARM: typing.ClassVar[int] = ...
        BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_WRIST: typing.ClassVar[int] = ...
        BLOOD_PRESSURE_MEASUREMENT_LOCATION_RIGHT_UPPER_ARM: typing.ClassVar[int] = ...
        BLOOD_PRESSURE_MEASUREMENT_LOCATION_RIGHT_WRIST: typing.ClassVar[int] = ...
        BLOOD_PRESSURE_MEASUREMENT_LOCATION_UNKNOWN: typing.ClassVar[int] = ...

class BodyFatRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getPercentage(self) -> android.health.connect.datatypes.units.Percentage: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, percentage: android.health.connect.datatypes.units.Percentage, /) -> None: ...
        def build(self) -> BodyFatRecord: ...
        def clearZoneOffset(self) -> BodyFatRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> BodyFatRecord.Builder: ...

class BodyTemperatureMeasurementLocation(java.lang.Object):
    MEASUREMENT_LOCATION_ARMPIT: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_EAR: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_FINGER: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_FOREHEAD: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_MOUTH: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_RECTUM: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_TEMPORAL_ARTERY: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_TOE: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_UNKNOWN: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_VAGINA: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_WRIST: typing.ClassVar[int] = ...

class BodyTemperatureRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getMeasurementLocation(self) -> int: ...
    def getTemperature(self) -> android.health.connect.datatypes.units.Temperature: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, measurementLocation: int | java.jint | java.lang.Integer, temperature: android.health.connect.datatypes.units.Temperature, /) -> None: ...
        def build(self) -> BodyTemperatureRecord: ...
        def clearZoneOffset(self) -> BodyTemperatureRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> BodyTemperatureRecord.Builder: ...

class BodyWaterMassRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getBodyWaterMass(self) -> android.health.connect.datatypes.units.Mass: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, bodyWaterMass: android.health.connect.datatypes.units.Mass, /) -> None: ...
        def build(self) -> BodyWaterMassRecord: ...
        def clearZoneOffset(self) -> BodyWaterMassRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> BodyWaterMassRecord.Builder: ...

class BoneMassRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getMass(self) -> android.health.connect.datatypes.units.Mass: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, mass: android.health.connect.datatypes.units.Mass, /) -> None: ...
        def build(self) -> BoneMassRecord: ...
        def clearZoneOffset(self) -> BoneMassRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> BoneMassRecord.Builder: ...

class CervicalMucusRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getAppearance(self) -> int: ...
    def getSensation(self) -> int: ...
    def hashCode(self) -> int: ...

    class CervicalMucusSensation(java.lang.Object):
        SENSATION_HEAVY: typing.ClassVar[int] = ...
        SENSATION_LIGHT: typing.ClassVar[int] = ...
        SENSATION_MEDIUM: typing.ClassVar[int] = ...
        SENSATION_UNKNOWN: typing.ClassVar[int] = ...

    class CervicalMucusAppearance(java.lang.Object):
        APPEARANCE_CREAMY: typing.ClassVar[int] = ...
        APPEARANCE_DRY: typing.ClassVar[int] = ...
        APPEARANCE_EGG_WHITE: typing.ClassVar[int] = ...
        APPEARANCE_STICKY: typing.ClassVar[int] = ...
        APPEARANCE_UNKNOWN: typing.ClassVar[int] = ...
        APPEARANCE_UNUSUAL: typing.ClassVar[int] = ...
        APPEARANCE_WATERY: typing.ClassVar[int] = ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, sensation: int | java.jint | java.lang.Integer, appearance: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> CervicalMucusRecord: ...
        def clearZoneOffset(self) -> CervicalMucusRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> CervicalMucusRecord.Builder: ...

class CyclingPedalingCadenceRecord(IntervalRecord):
    RPM_AVG: typing.ClassVar[AggregationType[java.lang.Double]] = ...
    RPM_MAX: typing.ClassVar[AggregationType[java.lang.Double]] = ...
    RPM_MIN: typing.ClassVar[AggregationType[java.lang.Double]] = ...
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getSamples(self) -> java.util.List[CyclingPedalingCadenceRecord.CyclingPedalingCadenceRecordSample]: ...
    def hashCode(self) -> int: ...

    class CyclingPedalingCadenceRecordSample(java.lang.Object):
        def __init__(self, revolutionsPerMinute: float | java.jdouble | java.lang.Double, time: java.time.Instant, /) -> None: ...
        def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getRevolutionsPerMinute(self) -> float: ...
        def getTime(self) -> java.time.Instant: ...
        def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, cyclingPedalingCadenceRecordSamples: java.util.List[CyclingPedalingCadenceRecord.CyclingPedalingCadenceRecordSample], /) -> None: ...
        def build(self) -> CyclingPedalingCadenceRecord: ...
        def clearEndZoneOffset(self) -> CyclingPedalingCadenceRecord.Builder: ...
        def clearStartZoneOffset(self) -> CyclingPedalingCadenceRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> CyclingPedalingCadenceRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> CyclingPedalingCadenceRecord.Builder: ...

class DataOrigin(java.lang.Object):
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getPackageName(self) -> str: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self) -> None: ...
        def build(self) -> DataOrigin: ...
        def setPackageName(self, packageName: str | java.lang.String, /) -> DataOrigin.Builder: ...

class Device(java.lang.Object):
    DEVICE_TYPE_CHEST_STRAP: typing.ClassVar[int] = ...
    DEVICE_TYPE_FITNESS_BAND: typing.ClassVar[int] = ...
    DEVICE_TYPE_HEAD_MOUNTED: typing.ClassVar[int] = ...
    DEVICE_TYPE_PHONE: typing.ClassVar[int] = ...
    DEVICE_TYPE_RING: typing.ClassVar[int] = ...
    DEVICE_TYPE_SCALE: typing.ClassVar[int] = ...
    DEVICE_TYPE_SMART_DISPLAY: typing.ClassVar[int] = ...
    DEVICE_TYPE_UNKNOWN: typing.ClassVar[int] = ...
    DEVICE_TYPE_WATCH: typing.ClassVar[int] = ...
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getManufacturer(self) -> str | None: ...
    def getModel(self) -> str | None: ...
    def getType(self) -> int: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self) -> None: ...
        def build(self) -> Device: ...
        def setManufacturer(self, manufacturer: str | java.lang.String, /) -> Device.Builder: ...
        def setModel(self, model: str | java.lang.String, /) -> Device.Builder: ...
        def setType(self, type: int | java.jint | java.lang.Integer, /) -> Device.Builder: ...

class DistanceRecord(IntervalRecord):
    DISTANCE_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Length]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getDistance(self) -> android.health.connect.datatypes.units.Length: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, distance: android.health.connect.datatypes.units.Length, /) -> None: ...
        def build(self) -> DistanceRecord: ...
        def clearEndZoneOffset(self) -> DistanceRecord.Builder: ...
        def clearStartZoneOffset(self) -> DistanceRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> DistanceRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> DistanceRecord.Builder: ...

class ElevationGainedRecord(IntervalRecord):
    ELEVATION_GAINED_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Length]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getElevation(self) -> android.health.connect.datatypes.units.Length: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, elevation: android.health.connect.datatypes.units.Length, /) -> None: ...
        def build(self) -> ElevationGainedRecord: ...
        def clearEndZoneOffset(self) -> ElevationGainedRecord.Builder: ...
        def clearStartZoneOffset(self) -> ElevationGainedRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> ElevationGainedRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> ElevationGainedRecord.Builder: ...

class ExerciseCompletionGoal(java.lang.Object):

    class UnspecifiedGoal(ExerciseCompletionGoal):
        INSTANCE: typing.ClassVar[ExerciseCompletionGoal.UnspecifiedGoal] = ...

    class UnknownGoal(ExerciseCompletionGoal):
        INSTANCE: typing.ClassVar[ExerciseCompletionGoal.UnknownGoal] = ...

    class TotalCaloriesBurnedGoal(ExerciseCompletionGoal):
        def __init__(self, totalCalories: android.health.connect.datatypes.units.Energy, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getTotalCalories(self) -> android.health.connect.datatypes.units.Energy: ...
        def hashCode(self) -> int: ...

    class StepsGoal(ExerciseCompletionGoal):
        def __init__(self, steps: int | java.jint | java.lang.Integer, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getSteps(self) -> int: ...
        def hashCode(self) -> int: ...

    class RepetitionsGoal(ExerciseCompletionGoal):
        def __init__(self, repetitions: int | java.jint | java.lang.Integer, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getRepetitions(self) -> int: ...
        def hashCode(self) -> int: ...

    class DurationGoal(ExerciseCompletionGoal):
        def __init__(self, duration: java.time.Duration, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getDuration(self) -> java.time.Duration: ...
        def hashCode(self) -> int: ...

    class DistanceWithVariableRestGoal(ExerciseCompletionGoal):
        def __init__(self, distance: android.health.connect.datatypes.units.Length, duration: java.time.Duration, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getDistance(self) -> android.health.connect.datatypes.units.Length: ...
        def getDuration(self) -> java.time.Duration: ...
        def hashCode(self) -> int: ...

    class DistanceGoal(ExerciseCompletionGoal):
        def __init__(self, distance: android.health.connect.datatypes.units.Length, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getDistance(self) -> android.health.connect.datatypes.units.Length: ...
        def hashCode(self) -> int: ...

    class ActiveCaloriesBurnedGoal(ExerciseCompletionGoal):
        def __init__(self, activeCalories: android.health.connect.datatypes.units.Energy, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getActiveCalories(self) -> android.health.connect.datatypes.units.Energy: ...
        def hashCode(self) -> int: ...

class ExerciseLap(java.lang.Object):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getEndTime(self) -> java.time.Instant: ...
    def getLength(self) -> android.health.connect.datatypes.units.Length | None: ...
    def getStartTime(self) -> java.time.Instant: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, startTime: java.time.Instant, endTime: java.time.Instant, /) -> None: ...
        def build(self) -> ExerciseLap: ...
        def setLength(self, length: android.health.connect.datatypes.units.Length, /) -> ExerciseLap.Builder: ...

class ExercisePerformanceGoal(java.lang.Object):

    class WeightGoal(ExercisePerformanceGoal):
        def __init__(self, mass: android.health.connect.datatypes.units.Mass, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getMass(self) -> android.health.connect.datatypes.units.Mass: ...
        def hashCode(self) -> int: ...

    class UnknownGoal(ExercisePerformanceGoal):
        INSTANCE: typing.ClassVar[ExercisePerformanceGoal.UnknownGoal] = ...

    class SpeedGoal(ExercisePerformanceGoal):
        def __init__(self, minSpeed: android.health.connect.datatypes.units.Velocity, maxSpeed: android.health.connect.datatypes.units.Velocity, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getMaxSpeed(self) -> android.health.connect.datatypes.units.Velocity: ...
        def getMinSpeed(self) -> android.health.connect.datatypes.units.Velocity: ...
        def hashCode(self) -> int: ...

    class RateOfPerceivedExertionGoal(ExercisePerformanceGoal):
        def __init__(self, rpe: int | java.jint | java.lang.Integer, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getRpe(self) -> int: ...
        def hashCode(self) -> int: ...

    class PowerGoal(ExercisePerformanceGoal):
        def __init__(self, minPower: android.health.connect.datatypes.units.Power, maxPower: android.health.connect.datatypes.units.Power, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getMaxPower(self) -> android.health.connect.datatypes.units.Power: ...
        def getMinPower(self) -> android.health.connect.datatypes.units.Power: ...
        def hashCode(self) -> int: ...

    class HeartRateGoal(ExercisePerformanceGoal):
        def __init__(self, minBpm: int | java.jint | java.lang.Integer, maxBpm: int | java.jint | java.lang.Integer, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getMaxBpm(self) -> int: ...
        def getMinBpm(self) -> int: ...
        def hashCode(self) -> int: ...

    class CadenceGoal(ExercisePerformanceGoal):
        def __init__(self, minRpm: float | java.jdouble | java.lang.Double, maxRpm: float | java.jdouble | java.lang.Double, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getMaxRpm(self) -> float: ...
        def getMinRpm(self) -> float: ...
        def hashCode(self) -> int: ...

    class AmrapGoal(ExercisePerformanceGoal):
        INSTANCE: typing.ClassVar[ExercisePerformanceGoal.AmrapGoal] = ...

class ExerciseRoute(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ExerciseRoute]] = ...
    def __init__(self, routeLocations: java.util.List[ExerciseRoute.Location], /) -> None: ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getRouteLocations(self) -> java.util.List[ExerciseRoute.Location]: ...
    def hashCode(self) -> int: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Location(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ExerciseRoute.Location]] = ...
        def describeContents(self) -> int: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getAltitude(self) -> android.health.connect.datatypes.units.Length: ...
        def getHorizontalAccuracy(self) -> android.health.connect.datatypes.units.Length: ...
        def getLatitude(self) -> float: ...
        def getLongitude(self) -> float: ...
        def getTime(self) -> java.time.Instant: ...
        def getVerticalAccuracy(self) -> android.health.connect.datatypes.units.Length: ...
        def hashCode(self) -> int: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

        class Builder(java.lang.Object):
            def __init__(self, time: java.time.Instant, latitude: float | java.jdouble | java.lang.Double, longitude: float | java.jdouble | java.lang.Double, /) -> None: ...
            def build(self) -> ExerciseRoute.Location: ...
            def setAltitude(self, altitude: android.health.connect.datatypes.units.Length, /) -> ExerciseRoute.Location.Builder: ...
            def setHorizontalAccuracy(self, horizontalAccuracy: android.health.connect.datatypes.units.Length, /) -> ExerciseRoute.Location.Builder: ...
            def setVerticalAccuracy(self, verticalAccuracy: android.health.connect.datatypes.units.Length, /) -> ExerciseRoute.Location.Builder: ...

class ExerciseSegment(java.lang.Object):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getEndTime(self) -> java.time.Instant: ...
    def getRepetitionsCount(self) -> int: ...
    def getSegmentType(self) -> int: ...
    def getStartTime(self) -> java.time.Instant: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, startTime: java.time.Instant, endTime: java.time.Instant, segmentType: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> ExerciseSegment: ...
        def setRepetitionsCount(self, repetitionsCount: int | java.jint | java.lang.Integer, /) -> ExerciseSegment.Builder: ...

class ExerciseSegmentType(java.lang.Object):
    EXERCISE_SEGMENT_TYPE_ARM_CURL: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_BACK_EXTENSION: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_BALL_SLAM: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_BARBELL_SHOULDER_PRESS: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_BENCH_PRESS: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_BENCH_SIT_UP: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_BIKING: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_BIKING_STATIONARY: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_BURPEE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_CRUNCH: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_DEADLIFT: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_DOUBLE_ARM_TRICEPS_EXTENSION: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_LEFT_ARM: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_RIGHT_ARM: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_DUMBBELL_LATERAL_RAISE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_DUMBBELL_ROW: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_ELLIPTICAL: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_FORWARD_TWIST: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_FRONT_RAISE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_HIP_THRUST: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_HULA_HOOP: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_JUMPING_JACK: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_JUMP_ROPE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_KETTLEBELL_SWING: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_LATERAL_RAISE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_LAT_PULL_DOWN: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_LEG_CURL: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_LEG_EXTENSION: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_LEG_PRESS: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_LEG_RAISE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_LUNGE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_MOUNTAIN_CLIMBER: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_OTHER_WORKOUT: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_PAUSE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_PILATES: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_PLANK: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_PULL_UP: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_PUNCH: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_REST: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_ROWING_MACHINE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_RUNNING: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_RUNNING_TREADMILL: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SHOULDER_PRESS: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSION: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SIT_UP: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SQUAT: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING_MACHINE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_STRETCHING: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SWIMMING_BACKSTROKE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SWIMMING_BREASTSTROKE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SWIMMING_BUTTERFLY: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SWIMMING_FREESTYLE: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SWIMMING_MIXED: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SWIMMING_OPEN_WATER: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SWIMMING_OTHER: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_SWIMMING_POOL: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_UNKNOWN: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_UPPER_TWIST: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_WALKING: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_WEIGHTLIFTING: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_WHEELCHAIR: typing.ClassVar[int] = ...
    EXERCISE_SEGMENT_TYPE_YOGA: typing.ClassVar[int] = ...

class ExerciseSessionRecord(IntervalRecord):
    EXERCISE_DURATION_TOTAL: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getExerciseType(self) -> int: ...
    def getLaps(self) -> java.util.List[ExerciseLap]: ...
    def getNotes(self) -> java.lang.CharSequence | None: ...
    def getPlannedExerciseSessionId(self) -> str | None: ...
    def getRoute(self) -> ExerciseRoute | None: ...
    def getSegments(self) -> java.util.List[ExerciseSegment]: ...
    def getTitle(self) -> java.lang.CharSequence | None: ...
    def hasRoute(self) -> bool: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, exerciseType: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> ExerciseSessionRecord: ...
        def clearEndZoneOffset(self) -> ExerciseSessionRecord.Builder: ...
        def clearStartZoneOffset(self) -> ExerciseSessionRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> ExerciseSessionRecord.Builder: ...
        def setLaps(self, laps: java.util.List[ExerciseLap], /) -> ExerciseSessionRecord.Builder: ...
        def setNotes(self, notes: java.lang.CharSequence, /) -> ExerciseSessionRecord.Builder: ...
        def setPlannedExerciseSessionId(self, id: str | java.lang.String, /) -> ExerciseSessionRecord.Builder: ...
        def setRoute(self, route: ExerciseRoute, /) -> ExerciseSessionRecord.Builder: ...
        def setSegments(self, segments: java.util.List[ExerciseSegment], /) -> ExerciseSessionRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> ExerciseSessionRecord.Builder: ...
        def setTitle(self, title: java.lang.CharSequence, /) -> ExerciseSessionRecord.Builder: ...

class ExerciseSessionType(java.lang.Object):
    EXERCISE_SESSION_TYPE_BADMINTON: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_BASEBALL: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_BASKETBALL: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_BIKING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_BIKING_STATIONARY: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_BOOT_CAMP: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_BOXING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_CALISTHENICS: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_CRICKET: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_DANCING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_ELLIPTICAL: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_EXERCISE_CLASS: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_FENCING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_FOOTBALL_AMERICAN: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_FOOTBALL_AUSTRALIAN: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_FRISBEE_DISC: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_GOLF: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_GUIDED_BREATHING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_GYMNASTICS: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_HANDBALL: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_HIKING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_ICE_HOCKEY: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_ICE_SKATING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_MARTIAL_ARTS: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_OTHER_WORKOUT: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_PADDLING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_PARAGLIDING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_PILATES: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_RACQUETBALL: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_ROCK_CLIMBING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_ROLLER_HOCKEY: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_ROWING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_ROWING_MACHINE: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_RUGBY: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_RUNNING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_RUNNING_TREADMILL: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SAILING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SCUBA_DIVING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SKATING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SKIING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SNOWBOARDING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SNOWSHOEING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SOCCER: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SOFTBALL: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SQUASH: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_STAIR_CLIMBING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_STAIR_CLIMBING_MACHINE: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_STRENGTH_TRAINING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_STRETCHING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SURFING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SWIMMING_OPEN_WATER: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_SWIMMING_POOL: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_TABLE_TENNIS: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_TENNIS: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_UNKNOWN: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_VOLLEYBALL: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_WALKING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_WATER_POLO: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_WEIGHTLIFTING: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_WHEELCHAIR: typing.ClassVar[int] = ...
    EXERCISE_SESSION_TYPE_YOGA: typing.ClassVar[int] = ...

class FhirResource(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[FhirResource]] = ...
    FHIR_RESOURCE_TYPE_ALLERGY_INTOLERANCE: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_CONDITION: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_ENCOUNTER: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_IMMUNIZATION: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_LOCATION: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_MEDICATION: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_MEDICATION_REQUEST: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_MEDICATION_STATEMENT: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_OBSERVATION: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_ORGANIZATION: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_PATIENT: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_PRACTITIONER: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_PRACTITIONER_ROLE: typing.ClassVar[int] = ...
    FHIR_RESOURCE_TYPE_PROCEDURE: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getData(self) -> str: ...
    def getId(self) -> str: ...
    def getType(self) -> int: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self, other: FhirResource.Builder, /) -> None: ...
        @typing.overload
        def __init__(self, other: FhirResource, /) -> None: ...
        @typing.overload
        def __init__(self, type: int | java.jint | java.lang.Integer, id: str | java.lang.String, data: str | java.lang.String, /) -> None: ...
        def build(self) -> FhirResource: ...
        def setData(self, data: str | java.lang.String, /) -> FhirResource.Builder: ...
        def setId(self, id: str | java.lang.String, /) -> FhirResource.Builder: ...
        def setType(self, type: int | java.jint | java.lang.Integer, /) -> FhirResource.Builder: ...

class FhirVersion(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[FhirVersion]] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getMajor(self) -> int: ...
    def getMinor(self) -> int: ...
    def getPatch(self) -> int: ...
    def hashCode(self) -> int: ...
    def isSupportedFhirVersion(self) -> bool: ...
    @staticmethod
    def parseFhirVersion(fhirVersionString: str | java.lang.String, /) -> FhirVersion: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class FloorsClimbedRecord(IntervalRecord):
    FLOORS_CLIMBED_TOTAL: typing.ClassVar[AggregationType[java.lang.Double]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getFloors(self) -> float: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, floors: float | java.jdouble | java.lang.Double, /) -> None: ...
        def build(self) -> FloorsClimbedRecord: ...
        def clearEndZoneOffset(self) -> FloorsClimbedRecord.Builder: ...
        def clearStartZoneOffset(self) -> FloorsClimbedRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> FloorsClimbedRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> FloorsClimbedRecord.Builder: ...

class HeartRateRecord(IntervalRecord):
    BPM_AVG: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    BPM_MAX: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    BPM_MIN: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    HEART_MEASUREMENTS_COUNT: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getSamples(self) -> java.util.List[HeartRateRecord.HeartRateSample]: ...
    def hashCode(self) -> int: ...

    class HeartRateSample(java.lang.Object):
        def __init__(self, beatsPerMinute: int | java.jlong | java.lang.Long, time: java.time.Instant, /) -> None: ...
        def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getBeatsPerMinute(self) -> int: ...
        def getTime(self) -> java.time.Instant: ...
        def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, heartRateSamples: java.util.List[HeartRateRecord.HeartRateSample], /) -> None: ...
        def build(self) -> HeartRateRecord: ...
        def clearEndZoneOffset(self) -> HeartRateRecord.Builder: ...
        def clearStartZoneOffset(self) -> HeartRateRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> HeartRateRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> HeartRateRecord.Builder: ...

class HeartRateVariabilityRmssdRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getHeartRateVariabilityMillis(self) -> float: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, heartRateVariabilityMillis: float | java.jdouble | java.lang.Double, /) -> None: ...
        def build(self) -> HeartRateVariabilityRmssdRecord: ...
        def clearZoneOffset(self) -> HeartRateVariabilityRmssdRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> HeartRateVariabilityRmssdRecord.Builder: ...

class HeightRecord(InstantRecord):
    HEIGHT_AVG: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Length]] = ...
    HEIGHT_MAX: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Length]] = ...
    HEIGHT_MIN: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Length]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getHeight(self) -> android.health.connect.datatypes.units.Length: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, height: android.health.connect.datatypes.units.Length, /) -> None: ...
        def build(self) -> HeightRecord: ...
        def clearZoneOffset(self) -> HeightRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> HeightRecord.Builder: ...

class HydrationRecord(IntervalRecord):
    VOLUME_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Volume]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getVolume(self) -> android.health.connect.datatypes.units.Volume: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, volume: android.health.connect.datatypes.units.Volume, /) -> None: ...
        def build(self) -> HydrationRecord: ...
        def clearEndZoneOffset(self) -> HydrationRecord.Builder: ...
        def clearStartZoneOffset(self) -> HydrationRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> HydrationRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> HydrationRecord.Builder: ...

class InstantRecord(Record):
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getTime(self) -> java.time.Instant: ...
    def getZoneOffset(self) -> java.time.ZoneOffset: ...
    def hashCode(self) -> int: ...

class IntermenstrualBleedingRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, /) -> None: ...
        def build(self) -> IntermenstrualBleedingRecord: ...
        def clearZoneOffset(self) -> IntermenstrualBleedingRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> IntermenstrualBleedingRecord.Builder: ...

class IntervalRecord(Record):
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getEndTime(self) -> java.time.Instant: ...
    def getEndZoneOffset(self) -> java.time.ZoneOffset: ...
    def getStartTime(self) -> java.time.Instant: ...
    def getStartZoneOffset(self) -> java.time.ZoneOffset: ...
    def hashCode(self) -> int: ...

class LeanBodyMassRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getMass(self) -> android.health.connect.datatypes.units.Mass: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, mass: android.health.connect.datatypes.units.Mass, /) -> None: ...
        def build(self) -> LeanBodyMassRecord: ...
        def clearZoneOffset(self) -> LeanBodyMassRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> LeanBodyMassRecord.Builder: ...

class MealType(java.lang.Object):
    MEAL_TYPE_BREAKFAST: typing.ClassVar[int] = ...
    MEAL_TYPE_DINNER: typing.ClassVar[int] = ...
    MEAL_TYPE_LUNCH: typing.ClassVar[int] = ...
    MEAL_TYPE_SNACK: typing.ClassVar[int] = ...
    MEAL_TYPE_UNKNOWN: typing.ClassVar[int] = ...

class MedicalDataSource(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[MedicalDataSource]] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getDisplayName(self) -> str: ...
    def getFhirBaseUri(self) -> android.net.Uri: ...
    def getFhirVersion(self) -> FhirVersion: ...
    def getId(self) -> str: ...
    def getLastDataUpdateTime(self) -> java.time.Instant: ...
    def getPackageName(self) -> str: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self, other: MedicalDataSource.Builder, /) -> None: ...
        @typing.overload
        def __init__(self, other: MedicalDataSource, /) -> None: ...
        @typing.overload
        def __init__(self, id: str | java.lang.String, packageName: str | java.lang.String, fhirBaseUri: android.net.Uri, displayName: str | java.lang.String, fhirVersion: FhirVersion, /) -> None: ...
        def build(self) -> MedicalDataSource: ...
        def setDisplayName(self, displayName: str | java.lang.String, /) -> MedicalDataSource.Builder: ...
        def setFhirBaseUri(self, fhirBaseUri: android.net.Uri, /) -> MedicalDataSource.Builder: ...
        def setFhirVersion(self, fhirVersion: FhirVersion, /) -> MedicalDataSource.Builder: ...
        def setId(self, id: str | java.lang.String, /) -> MedicalDataSource.Builder: ...
        def setLastDataUpdateTime(self, lastDataUpdateTime: java.time.Instant, /) -> MedicalDataSource.Builder: ...
        def setPackageName(self, packageName: str | java.lang.String, /) -> MedicalDataSource.Builder: ...

class MedicalResource(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[MedicalResource]] = ...
    MEDICAL_RESOURCE_TYPE_ALLERGIES_INTOLERANCES: typing.ClassVar[int] = ...
    MEDICAL_RESOURCE_TYPE_CONDITIONS: typing.ClassVar[int] = ...
    MEDICAL_RESOURCE_TYPE_LABORATORY_RESULTS: typing.ClassVar[int] = ...
    MEDICAL_RESOURCE_TYPE_MEDICATIONS: typing.ClassVar[int] = ...
    MEDICAL_RESOURCE_TYPE_PERSONAL_DETAILS: typing.ClassVar[int] = ...
    MEDICAL_RESOURCE_TYPE_PRACTITIONER_DETAILS: typing.ClassVar[int] = ...
    MEDICAL_RESOURCE_TYPE_PREGNANCY: typing.ClassVar[int] = ...
    MEDICAL_RESOURCE_TYPE_PROCEDURES: typing.ClassVar[int] = ...
    MEDICAL_RESOURCE_TYPE_SOCIAL_HISTORY: typing.ClassVar[int] = ...
    MEDICAL_RESOURCE_TYPE_VACCINES: typing.ClassVar[int] = ...
    MEDICAL_RESOURCE_TYPE_VISITS: typing.ClassVar[int] = ...
    MEDICAL_RESOURCE_TYPE_VITAL_SIGNS: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getDataSourceId(self) -> str: ...
    def getFhirResource(self) -> FhirResource: ...
    def getFhirVersion(self) -> FhirVersion: ...
    def getId(self) -> android.health.connect.MedicalResourceId: ...
    def getType(self) -> int: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self, other: MedicalResource.Builder, /) -> None: ...
        @typing.overload
        def __init__(self, other: MedicalResource, /) -> None: ...
        @typing.overload
        def __init__(self, type: int | java.jint | java.lang.Integer, dataSourceId: str | java.lang.String, fhirVersion: FhirVersion, fhirResource: FhirResource, /) -> None: ...
        def build(self) -> MedicalResource: ...
        def setDataSourceId(self, dataSourceId: str | java.lang.String, /) -> MedicalResource.Builder: ...
        def setFhirResource(self, fhirResource: FhirResource, /) -> MedicalResource.Builder: ...
        def setFhirVersion(self, fhirVersion: FhirVersion, /) -> MedicalResource.Builder: ...
        def setType(self, type: int | java.jint | java.lang.Integer, /) -> MedicalResource.Builder: ...

class MenstruationFlowRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getFlow(self) -> int: ...
    def hashCode(self) -> int: ...

    class MenstruationFlowType(java.lang.Object):
        FLOW_HEAVY: typing.ClassVar[int] = ...
        FLOW_LIGHT: typing.ClassVar[int] = ...
        FLOW_MEDIUM: typing.ClassVar[int] = ...
        FLOW_UNKNOWN: typing.ClassVar[int] = ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, flow: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> MenstruationFlowRecord: ...
        def clearZoneOffset(self) -> MenstruationFlowRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> MenstruationFlowRecord.Builder: ...

class MenstruationPeriodRecord(IntervalRecord):
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, /) -> None: ...
        def build(self) -> MenstruationPeriodRecord: ...
        def clearEndZoneOffset(self) -> MenstruationPeriodRecord.Builder: ...
        def clearStartZoneOffset(self) -> MenstruationPeriodRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> MenstruationPeriodRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> MenstruationPeriodRecord.Builder: ...

class Metadata(java.lang.Object):
    RECORDING_METHOD_ACTIVELY_RECORDED: typing.ClassVar[int] = ...
    RECORDING_METHOD_AUTOMATICALLY_RECORDED: typing.ClassVar[int] = ...
    RECORDING_METHOD_MANUAL_ENTRY: typing.ClassVar[int] = ...
    RECORDING_METHOD_UNKNOWN: typing.ClassVar[int] = ...
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getClientRecordId(self) -> str | None: ...
    def getClientRecordVersion(self) -> int: ...
    def getDataOrigin(self) -> DataOrigin: ...
    def getDevice(self) -> Device: ...
    def getId(self) -> str: ...
    def getLastModifiedTime(self) -> java.time.Instant: ...
    def getRecordingMethod(self) -> int: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self) -> None: ...
        def build(self) -> Metadata: ...
        def setClientRecordId(self, clientRecordId: str | java.lang.String, /) -> Metadata.Builder: ...
        def setClientRecordVersion(self, clientRecordVersion: int | java.jlong | java.lang.Long, /) -> Metadata.Builder: ...
        def setDataOrigin(self, dataOrigin: DataOrigin, /) -> Metadata.Builder: ...
        def setDevice(self, device: Device, /) -> Metadata.Builder: ...
        def setId(self, id: str | java.lang.String, /) -> Metadata.Builder: ...
        def setLastModifiedTime(self, lastModifiedTime: java.time.Instant, /) -> Metadata.Builder: ...
        def setRecordingMethod(self, recordingMethod: int | java.jint | java.lang.Integer, /) -> Metadata.Builder: ...

class MindfulnessSessionRecord(IntervalRecord):
    MINDFULNESS_DURATION_TOTAL: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    MINDFULNESS_SESSION_TYPE_BREATHING: typing.ClassVar[int] = ...
    MINDFULNESS_SESSION_TYPE_MEDITATION: typing.ClassVar[int] = ...
    MINDFULNESS_SESSION_TYPE_MOVEMENT: typing.ClassVar[int] = ...
    MINDFULNESS_SESSION_TYPE_MUSIC: typing.ClassVar[int] = ...
    MINDFULNESS_SESSION_TYPE_OTHER: typing.ClassVar[int] = ...
    MINDFULNESS_SESSION_TYPE_UNGUIDED: typing.ClassVar[int] = ...
    MINDFULNESS_SESSION_TYPE_UNKNOWN: typing.ClassVar[int] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getMindfulnessSessionType(self) -> int: ...
    def getNotes(self) -> java.lang.CharSequence: ...
    def getTitle(self) -> java.lang.CharSequence: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, mindfulnessSessionType: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> MindfulnessSessionRecord: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> MindfulnessSessionRecord.Builder: ...
        def setNotes(self, notes: java.lang.CharSequence, /) -> MindfulnessSessionRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> MindfulnessSessionRecord.Builder: ...
        def setTitle(self, title: java.lang.CharSequence, /) -> MindfulnessSessionRecord.Builder: ...

class NutritionRecord(IntervalRecord):
    BIOTIN_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    CAFFEINE_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    CALCIUM_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    CHLORIDE_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    CHOLESTEROL_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    CHROMIUM_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    COPPER_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    DIETARY_FIBER_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    ENERGY_FROM_FAT_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Energy]] = ...
    ENERGY_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Energy]] = ...
    FOLATE_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    FOLIC_ACID_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    IODINE_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    IRON_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    MAGNESIUM_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    MANGANESE_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    MOLYBDENUM_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    MONOUNSATURATED_FAT_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    NIACIN_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    PANTOTHENIC_ACID_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    PHOSPHORUS_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    POLYUNSATURATED_FAT_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    POTASSIUM_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    PROTEIN_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    RIBOFLAVIN_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    SATURATED_FAT_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    SELENIUM_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    SODIUM_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    SUGAR_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    THIAMIN_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    TOTAL_CARBOHYDRATE_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    TOTAL_FAT_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    TRANS_FAT_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    UNSATURATED_FAT_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    VITAMIN_A_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    VITAMIN_B12_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    VITAMIN_B6_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    VITAMIN_C_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    VITAMIN_D_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    VITAMIN_E_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    VITAMIN_K_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    ZINC_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getBiotin(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getCaffeine(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getCalcium(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getChloride(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getCholesterol(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getChromium(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getCopper(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getDietaryFiber(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getEnergy(self) -> android.health.connect.datatypes.units.Energy | None: ...
    def getEnergyFromFat(self) -> android.health.connect.datatypes.units.Energy | None: ...
    def getFolate(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getFolicAcid(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getIodine(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getIron(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getMagnesium(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getManganese(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getMealName(self) -> str | None: ...
    def getMealType(self) -> int: ...
    def getMolybdenum(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getMonounsaturatedFat(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getNiacin(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getPantothenicAcid(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getPhosphorus(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getPolyunsaturatedFat(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getPotassium(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getProtein(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getRiboflavin(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getSaturatedFat(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getSelenium(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getSodium(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getSugar(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getThiamin(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getTotalCarbohydrate(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getTotalFat(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getTransFat(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getUnsaturatedFat(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getVitaminA(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getVitaminB12(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getVitaminB6(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getVitaminC(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getVitaminD(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getVitaminE(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getVitaminK(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def getZinc(self) -> android.health.connect.datatypes.units.Mass | None: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, /) -> None: ...
        def build(self) -> NutritionRecord: ...
        def clearEndZoneOffset(self) -> NutritionRecord.Builder: ...
        def clearStartZoneOffset(self) -> NutritionRecord.Builder: ...
        def setBiotin(self, biotin: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setCaffeine(self, caffeine: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setCalcium(self, calcium: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setChloride(self, chloride: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setCholesterol(self, cholesterol: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setChromium(self, chromium: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setCopper(self, copper: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setDietaryFiber(self, dietaryFiber: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> NutritionRecord.Builder: ...
        def setEnergy(self, energy: android.health.connect.datatypes.units.Energy, /) -> NutritionRecord.Builder: ...
        def setEnergyFromFat(self, energyFromFat: android.health.connect.datatypes.units.Energy, /) -> NutritionRecord.Builder: ...
        def setFolate(self, folate: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setFolicAcid(self, folicAcid: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setIodine(self, iodine: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setIron(self, iron: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setMagnesium(self, magnesium: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setManganese(self, manganese: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setMealName(self, mealName: str | java.lang.String, /) -> NutritionRecord.Builder: ...
        def setMealType(self, mealType: int | java.jint | java.lang.Integer, /) -> NutritionRecord.Builder: ...
        def setMolybdenum(self, molybdenum: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setMonounsaturatedFat(self, monounsaturatedFat: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setNiacin(self, niacin: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setPantothenicAcid(self, pantothenicAcid: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setPhosphorus(self, phosphorus: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setPolyunsaturatedFat(self, polyunsaturatedFat: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setPotassium(self, potassium: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setProtein(self, protein: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setRiboflavin(self, riboflavin: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setSaturatedFat(self, saturatedFat: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setSelenium(self, selenium: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setSodium(self, sodium: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> NutritionRecord.Builder: ...
        def setSugar(self, sugar: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setThiamin(self, thiamin: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setTotalCarbohydrate(self, totalCarbohydrate: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setTotalFat(self, totalFat: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setTransFat(self, transFat: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setUnsaturatedFat(self, unsaturatedFat: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setVitaminA(self, vitaminA: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setVitaminB12(self, vitaminB12: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setVitaminB6(self, vitaminB6: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setVitaminC(self, vitaminC: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setVitaminD(self, vitaminD: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setVitaminE(self, vitaminE: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setVitaminK(self, vitaminK: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...
        def setZinc(self, zinc: android.health.connect.datatypes.units.Mass, /) -> NutritionRecord.Builder: ...

class OvulationTestRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getResult(self) -> int: ...
    def hashCode(self) -> int: ...

    class OvulationTestResult(java.lang.Object):
        RESULT_HIGH: typing.ClassVar[int] = ...
        RESULT_INCONCLUSIVE: typing.ClassVar[int] = ...
        RESULT_NEGATIVE: typing.ClassVar[int] = ...
        RESULT_POSITIVE: typing.ClassVar[int] = ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, result: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> OvulationTestRecord: ...
        def clearZoneOffset(self) -> OvulationTestRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> OvulationTestRecord.Builder: ...

class OxygenSaturationRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getPercentage(self) -> android.health.connect.datatypes.units.Percentage: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, percentage: android.health.connect.datatypes.units.Percentage, /) -> None: ...
        def build(self) -> OxygenSaturationRecord: ...
        def clearZoneOffset(self) -> OxygenSaturationRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> OxygenSaturationRecord.Builder: ...

class PlannedExerciseBlock(java.lang.Object):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getDescription(self) -> java.lang.CharSequence | None: ...
    def getRepetitions(self) -> int: ...
    def getSteps(self) -> java.util.List[PlannedExerciseStep]: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, repetitions: int | java.jint | java.lang.Integer, /) -> None: ...
        def addStep(self, step: PlannedExerciseStep, /) -> PlannedExerciseBlock.Builder: ...
        def build(self) -> PlannedExerciseBlock: ...
        def clearSteps(self) -> PlannedExerciseBlock.Builder: ...
        def setDescription(self, description: java.lang.CharSequence, /) -> PlannedExerciseBlock.Builder: ...
        def setRepetitions(self, repetitions: int | java.jint | java.lang.Integer, /) -> PlannedExerciseBlock.Builder: ...
        def setSteps(self, steps: java.util.List[PlannedExerciseStep], /) -> PlannedExerciseBlock.Builder: ...

class PlannedExerciseSessionRecord(IntervalRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getBlocks(self) -> java.util.List[PlannedExerciseBlock]: ...
    def getCompletedExerciseSessionId(self) -> str | None: ...
    def getDuration(self) -> java.time.Duration: ...
    def getExerciseType(self) -> int: ...
    def getNotes(self) -> java.lang.CharSequence | None: ...
    def getStartDate(self) -> java.time.LocalDate: ...
    def getTitle(self) -> java.lang.CharSequence | None: ...
    def hasExplicitTime(self) -> bool: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self, metadata: Metadata, exerciseType: int | java.jint | java.lang.Integer, startTime: java.time.Instant, endTime: java.time.Instant, /) -> None: ...
        @typing.overload
        def __init__(self, metadata: Metadata, exerciseType: int | java.jint | java.lang.Integer, startDate: java.time.LocalDate, duration: java.time.Duration, /) -> None: ...
        def addBlock(self, block: PlannedExerciseBlock, /) -> PlannedExerciseSessionRecord.Builder: ...
        def build(self) -> PlannedExerciseSessionRecord: ...
        def clearBlocks(self) -> PlannedExerciseSessionRecord.Builder: ...
        def clearEndZoneOffset(self) -> PlannedExerciseSessionRecord.Builder: ...
        def clearStartZoneOffset(self) -> PlannedExerciseSessionRecord.Builder: ...
        def setBlocks(self, blocks: java.util.List[PlannedExerciseBlock], /) -> PlannedExerciseSessionRecord.Builder: ...
        def setEndTime(self, endTime: java.time.Instant, /) -> PlannedExerciseSessionRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> PlannedExerciseSessionRecord.Builder: ...
        def setExerciseType(self, exerciseType: int | java.jint | java.lang.Integer, /) -> PlannedExerciseSessionRecord.Builder: ...
        def setMetadata(self, metadata: Metadata, /) -> PlannedExerciseSessionRecord.Builder: ...
        def setNotes(self, notes: java.lang.CharSequence, /) -> PlannedExerciseSessionRecord.Builder: ...
        def setStartTime(self, startTime: java.time.Instant, /) -> PlannedExerciseSessionRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> PlannedExerciseSessionRecord.Builder: ...
        def setTitle(self, title: java.lang.CharSequence, /) -> PlannedExerciseSessionRecord.Builder: ...

class PlannedExerciseStep(java.lang.Object):
    EXERCISE_CATEGORY_ACTIVE: typing.ClassVar[int] = ...
    EXERCISE_CATEGORY_COOLDOWN: typing.ClassVar[int] = ...
    EXERCISE_CATEGORY_RECOVERY: typing.ClassVar[int] = ...
    EXERCISE_CATEGORY_REST: typing.ClassVar[int] = ...
    EXERCISE_CATEGORY_UNKNOWN: typing.ClassVar[int] = ...
    EXERCISE_CATEGORY_WARMUP: typing.ClassVar[int] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getCompletionGoal(self) -> ExerciseCompletionGoal: ...
    def getDescription(self) -> java.lang.CharSequence | None: ...
    def getExerciseCategory(self) -> int: ...
    def getExerciseType(self) -> int: ...
    def getPerformanceGoals(self) -> java.util.List[ExercisePerformanceGoal]: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, exerciseType: int | java.jint | java.lang.Integer, exerciseCategory: int | java.jint | java.lang.Integer, completionGoal: ExerciseCompletionGoal, /) -> None: ...
        def addPerformanceGoal(self, performanceGoal: ExercisePerformanceGoal, /) -> PlannedExerciseStep.Builder: ...
        def build(self) -> PlannedExerciseStep: ...
        def clearPerformanceGoals(self) -> PlannedExerciseStep.Builder: ...
        def setCompletionGoal(self, completionGoal: ExerciseCompletionGoal, /) -> PlannedExerciseStep.Builder: ...
        def setDescription(self, description: java.lang.CharSequence, /) -> PlannedExerciseStep.Builder: ...
        def setExerciseCategory(self, category: int | java.jint | java.lang.Integer, /) -> PlannedExerciseStep.Builder: ...
        def setExerciseType(self, exerciseType: int | java.jint | java.lang.Integer, /) -> PlannedExerciseStep.Builder: ...
        def setPerformanceGoals(self, performanceGoals: java.util.List[ExercisePerformanceGoal], /) -> PlannedExerciseStep.Builder: ...

class PowerRecord(IntervalRecord):
    POWER_AVG: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Power]] = ...
    POWER_MAX: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Power]] = ...
    POWER_MIN: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Power]] = ...
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getSamples(self) -> java.util.List[PowerRecord.PowerRecordSample]: ...
    def hashCode(self) -> int: ...

    class PowerRecordSample(java.lang.Object):
        def __init__(self, power: android.health.connect.datatypes.units.Power, time: java.time.Instant, /) -> None: ...
        def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getPower(self) -> android.health.connect.datatypes.units.Power: ...
        def getTime(self) -> java.time.Instant: ...
        def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, powerRecordSamples: java.util.List[PowerRecord.PowerRecordSample], /) -> None: ...
        def build(self) -> PowerRecord: ...
        def clearEndZoneOffset(self) -> PowerRecord.Builder: ...
        def clearStartZoneOffset(self) -> PowerRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> PowerRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> PowerRecord.Builder: ...

class Record(java.lang.Object):
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getMetadata(self) -> Metadata: ...
    def hashCode(self) -> int: ...

class RespiratoryRateRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getRate(self) -> float: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, rate: float | java.jdouble | java.lang.Double, /) -> None: ...
        def build(self) -> RespiratoryRateRecord: ...
        def clearZoneOffset(self) -> RespiratoryRateRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> RespiratoryRateRecord.Builder: ...

class RestingHeartRateRecord(InstantRecord):
    BPM_AVG: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    BPM_MAX: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    BPM_MIN: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getBeatsPerMinute(self) -> int: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, beatsPerMinute: int | java.jlong | java.lang.Long, /) -> None: ...
        def build(self) -> RestingHeartRateRecord: ...
        def clearZoneOffset(self) -> RestingHeartRateRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> RestingHeartRateRecord.Builder: ...

class SexualActivityRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getProtectionUsed(self) -> int: ...
    def hashCode(self) -> int: ...

    class SexualActivityProtectionUsed(java.lang.Object):
        PROTECTION_USED_PROTECTED: typing.ClassVar[int] = ...
        PROTECTION_USED_UNKNOWN: typing.ClassVar[int] = ...
        PROTECTION_USED_UNPROTECTED: typing.ClassVar[int] = ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, protectionUsed: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> SexualActivityRecord: ...
        def clearZoneOffset(self) -> SexualActivityRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> SexualActivityRecord.Builder: ...

class SkinTemperatureRecord(IntervalRecord):
    MEASUREMENT_LOCATION_FINGER: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_TOE: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_UNKNOWN: typing.ClassVar[int] = ...
    MEASUREMENT_LOCATION_WRIST: typing.ClassVar[int] = ...
    SKIN_TEMPERATURE_DELTA_AVG: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.TemperatureDelta]] = ...
    SKIN_TEMPERATURE_DELTA_MAX: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.TemperatureDelta]] = ...
    SKIN_TEMPERATURE_DELTA_MIN: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.TemperatureDelta]] = ...
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getBaseline(self) -> android.health.connect.datatypes.units.Temperature | None: ...
    def getDeltas(self) -> java.util.List[SkinTemperatureRecord.Delta]: ...
    def getMeasurementLocation(self) -> int: ...
    def hashCode(self) -> int: ...

    class Delta(java.lang.Object):
        def __init__(self, delta: android.health.connect.datatypes.units.TemperatureDelta, time: java.time.Instant, /) -> None: ...
        def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getDelta(self) -> android.health.connect.datatypes.units.TemperatureDelta: ...
        def getTime(self) -> java.time.Instant: ...
        def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, /) -> None: ...
        def build(self) -> SkinTemperatureRecord: ...
        def clearEndZoneOffset(self) -> SkinTemperatureRecord.Builder: ...
        def clearStartZoneOffset(self) -> SkinTemperatureRecord.Builder: ...
        def setBaseline(self, baseline: android.health.connect.datatypes.units.Temperature, /) -> SkinTemperatureRecord.Builder: ...
        def setDeltas(self, deltas: java.util.List[SkinTemperatureRecord.Delta], /) -> SkinTemperatureRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> SkinTemperatureRecord.Builder: ...
        def setMeasurementLocation(self, measurementLocation: int | java.jint | java.lang.Integer, /) -> SkinTemperatureRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> SkinTemperatureRecord.Builder: ...

class SleepSessionRecord(IntervalRecord):
    SLEEP_DURATION_TOTAL: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getNotes(self) -> java.lang.CharSequence | None: ...
    def getStages(self) -> java.util.List[SleepSessionRecord.Stage]: ...
    def getTitle(self) -> java.lang.CharSequence | None: ...
    def hashCode(self) -> int: ...

    class StageType(java.lang.Object):
        STAGE_TYPE_AWAKE: typing.ClassVar[int] = ...
        STAGE_TYPE_AWAKE_IN_BED: typing.ClassVar[int] = ...
        STAGE_TYPE_AWAKE_OUT_OF_BED: typing.ClassVar[int] = ...
        STAGE_TYPE_SLEEPING: typing.ClassVar[int] = ...
        STAGE_TYPE_SLEEPING_DEEP: typing.ClassVar[int] = ...
        STAGE_TYPE_SLEEPING_LIGHT: typing.ClassVar[int] = ...
        STAGE_TYPE_SLEEPING_REM: typing.ClassVar[int] = ...
        STAGE_TYPE_UNKNOWN: typing.ClassVar[int] = ...

    class Stage(java.lang.Object):
        def __init__(self, startTime: java.time.Instant, endTime: java.time.Instant, stageType: int | java.jint | java.lang.Integer, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getEndTime(self) -> java.time.Instant: ...
        def getStartTime(self) -> java.time.Instant: ...
        def getType(self) -> int: ...
        def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, /) -> None: ...
        def build(self) -> SleepSessionRecord: ...
        def clearEndZoneOffset(self) -> SleepSessionRecord.Builder: ...
        def clearStartZoneOffset(self) -> SleepSessionRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> SleepSessionRecord.Builder: ...
        def setNotes(self, notes: java.lang.CharSequence, /) -> SleepSessionRecord.Builder: ...
        def setStages(self, stages: java.util.List[SleepSessionRecord.Stage], /) -> SleepSessionRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> SleepSessionRecord.Builder: ...
        def setTitle(self, title: java.lang.CharSequence, /) -> SleepSessionRecord.Builder: ...

class SpeedRecord(IntervalRecord):
    SPEED_AVG: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Velocity]] = ...
    SPEED_MAX: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Velocity]] = ...
    SPEED_MIN: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Velocity]] = ...
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getSamples(self) -> java.util.List[SpeedRecord.SpeedRecordSample]: ...
    def hashCode(self) -> int: ...

    class SpeedRecordSample(java.lang.Object):
        def __init__(self, speed: android.health.connect.datatypes.units.Velocity, time: java.time.Instant, /) -> None: ...
        def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getSpeed(self) -> android.health.connect.datatypes.units.Velocity: ...
        def getTime(self) -> java.time.Instant: ...
        def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, speedRecordSamples: java.util.List[SpeedRecord.SpeedRecordSample], /) -> None: ...
        def build(self) -> SpeedRecord: ...
        def clearEndZoneOffset(self) -> SpeedRecord.Builder: ...
        def clearStartZoneOffset(self) -> SpeedRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> SpeedRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> SpeedRecord.Builder: ...

class StepsCadenceRecord(IntervalRecord):
    STEPS_CADENCE_RATE_AVG: typing.ClassVar[AggregationType[java.lang.Double]] = ...
    STEPS_CADENCE_RATE_MAX: typing.ClassVar[AggregationType[java.lang.Double]] = ...
    STEPS_CADENCE_RATE_MIN: typing.ClassVar[AggregationType[java.lang.Double]] = ...
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getSamples(self) -> java.util.List[StepsCadenceRecord.StepsCadenceRecordSample]: ...
    def hashCode(self) -> int: ...

    class StepsCadenceRecordSample(java.lang.Object):
        def __init__(self, rate: float | java.jdouble | java.lang.Double, time: java.time.Instant, /) -> None: ...
        def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getRate(self) -> float: ...
        def getTime(self) -> java.time.Instant: ...
        def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, stepsCadenceRecordSamples: java.util.List[StepsCadenceRecord.StepsCadenceRecordSample], /) -> None: ...
        def build(self) -> StepsCadenceRecord: ...
        def clearEndZoneOffset(self) -> StepsCadenceRecord.Builder: ...
        def clearStartZoneOffset(self) -> StepsCadenceRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> StepsCadenceRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> StepsCadenceRecord.Builder: ...

class StepsRecord(IntervalRecord):
    STEPS_COUNT_TOTAL: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getCount(self) -> int: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, count: int | java.jlong | java.lang.Long, /) -> None: ...
        def build(self) -> StepsRecord: ...
        def clearEndZoneOffset(self) -> StepsRecord.Builder: ...
        def clearStartZoneOffset(self) -> StepsRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> StepsRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> StepsRecord.Builder: ...

class TotalCaloriesBurnedRecord(IntervalRecord):
    ENERGY_TOTAL: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Energy]] = ...
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getEnergy(self) -> android.health.connect.datatypes.units.Energy: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, energy: android.health.connect.datatypes.units.Energy, /) -> None: ...
        def build(self) -> TotalCaloriesBurnedRecord: ...
        def clearEndZoneOffset(self) -> TotalCaloriesBurnedRecord.Builder: ...
        def clearStartZoneOffset(self) -> TotalCaloriesBurnedRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> TotalCaloriesBurnedRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> TotalCaloriesBurnedRecord.Builder: ...

class Vo2MaxRecord(InstantRecord):
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getMeasurementMethod(self) -> int: ...
    def getVo2MillilitersPerMinuteKilogram(self) -> float: ...
    def hashCode(self) -> int: ...

    class Vo2MaxMeasurementMethod(java.lang.Object):
        MEASUREMENT_METHOD_COOPER_TEST: typing.ClassVar[int] = ...
        MEASUREMENT_METHOD_HEART_RATE_RATIO: typing.ClassVar[int] = ...
        MEASUREMENT_METHOD_METABOLIC_CART: typing.ClassVar[int] = ...
        MEASUREMENT_METHOD_MULTISTAGE_FITNESS_TEST: typing.ClassVar[int] = ...
        MEASUREMENT_METHOD_OTHER: typing.ClassVar[int] = ...
        MEASUREMENT_METHOD_ROCKPORT_FITNESS_TEST: typing.ClassVar[int] = ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, measurementMethod: int | java.jint | java.lang.Integer, vo2MillilitersPerMinuteKilogram: float | java.jdouble | java.lang.Double, /) -> None: ...
        def build(self) -> Vo2MaxRecord: ...
        def clearZoneOffset(self) -> Vo2MaxRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> Vo2MaxRecord.Builder: ...

class WeightRecord(InstantRecord):
    WEIGHT_AVG: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    WEIGHT_MAX: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    WEIGHT_MIN: typing.ClassVar[AggregationType[android.health.connect.datatypes.units.Mass]] = ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getWeight(self) -> android.health.connect.datatypes.units.Mass: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, time: java.time.Instant, weight: android.health.connect.datatypes.units.Mass, /) -> None: ...
        def build(self) -> WeightRecord: ...
        def clearZoneOffset(self) -> WeightRecord.Builder: ...
        def setZoneOffset(self, zoneOffset: java.time.ZoneOffset, /) -> WeightRecord.Builder: ...

class WheelchairPushesRecord(IntervalRecord):
    WHEEL_CHAIR_PUSHES_COUNT_TOTAL: typing.ClassVar[AggregationType[java.lang.Long]] = ...
    def equals(self, object: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getCount(self) -> int: ...
    def hashCode(self) -> int: ...

    class Builder(java.lang.Object):
        def __init__(self, metadata: Metadata, startTime: java.time.Instant, endTime: java.time.Instant, count: int | java.jlong | java.lang.Long, /) -> None: ...
        def build(self) -> WheelchairPushesRecord: ...
        def clearEndZoneOffset(self) -> WheelchairPushesRecord.Builder: ...
        def clearStartZoneOffset(self) -> WheelchairPushesRecord.Builder: ...
        def setEndZoneOffset(self, endZoneOffset: java.time.ZoneOffset, /) -> WheelchairPushesRecord.Builder: ...
        def setStartZoneOffset(self, startZoneOffset: java.time.ZoneOffset, /) -> WheelchairPushesRecord.Builder: ...
