import { type DataViewReader } from "./data-view-reader.js"; import { type DateTime } from "./date-time.js"; export interface BodyCompositionMeasurement { /** *
Format: `uint16`
*Unit: `org.bluetooth.unit.energy.joule`
*Unit is in kilo Joules with a resolution of 1
*/ basalMetabolism?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.percentage`
*Unit is in percent with a resolution of 0.1
*/ bodyFatPercentage: number; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.mass.kilogram`
*Unit is in kilograms with a resolution of 0.005. Note: Determined when bit 0 of the Flags field is set to 0.
*/ bodyWaterMassKilograms?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.mass.pound`
*Unit is in pounds with a resolution of 0.01. Note: Determined when bit 0 of the Flags field is set to 1.
*/ bodyWaterMassPounds?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.mass.kilogram`
*Unit is in kilograms with resolution 0.005. Note: Determined when bit 0 of the Flags field is set to 0.
*/ fatFreeMassKilograms?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.mass.pound`
*Unit is in pounds with a resolution of 0.01. Note: Determined when bit 0 of the Flags field is set to 1.
*/ fatFreeMassPounds?: number | undefined; /** *Format: `16bit`
* * Bit field: * * | index | size | req | name | * | ----- | ---- | ------ | --------------------------- | * | 0 | 1 | C1, C2 | Measurement Units | * | 1 | 1 | C3 | Time Stamp Present | * | 2 | 1 | C4 | User ID present | * | 3 | 1 | C5 | Basal Metabolism present | * | 4 | 1 | C6 | Muscle Percentage present | * | 5 | 1 | C7 | Muscle Mass present | * | 6 | 1 | C8 | Fat Free Mass present | * | 7 | 1 | C9 | Soft Lean Mass present | * | 8 | 1 | C10 | Body Water Mass present | * | 9 | 1 | C11 | Impedance present | * | 10 | 1 | C12 | Weight present | * | 11 | 1 | C13 | Height present | * | 12 | 1 | | Multiple Packet Measurement | * | 13 | 3 | | Reserved for future use | * */ flags: number; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.length.inch`
*Unit is in meters with a resolution of 0.1. Note: Determined when bit 0 of the Flags field is set to 1.
*/ heightInches?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.length.meter`
*Unit is in meters with a resolution of 0.001. Note: Determined when bit 0 of the Flags field is set to 0.
*/ heightMeters?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.electric_resistance.ohm`
*Unit is in Ohms with a resolution of 0.1
*/ impedance?: number | undefined; /** * | value | description | * | ----- | ----------- | * | 0 | False | * | 1 | True | */ multiplePacketMeasurement: number; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.mass.kilogram`
*Unit is in kilograms with resolution 0.005. Note: Determined when bit 0 of the Flags field is set to 0.
*/ muscleMassKilograms?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.mass.pound`
*Unit is in pounds with resolution 0.01. Note: Determined when bit 0 of the Flags field is set to 1.
*/ muscleMassPounds?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.percentage`
*Unit is in percentage with a resolution of 0.1
*/ musclePercentage?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.mass.kilogram`
*Unit is in kilograms with a resolution of 0.005. Note: Determined when bit 0 of the Flags field is set to 0.
*/ softLeanMassKilograms?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.mass.kilogram`
*Unit is in pounds with a resolution of 0.01. Note: Determined when bit 0 of the Flags field is set to 1.
*/ softLeanMassPounds?: number | undefined; /**Smallest unit in seconds
*/ timeStamp?: DateTime | undefined; /** *Format: `uint8`
*Unit: `org.bluetooth.unit.unitless`
*Unit is unitless with a resoluton of 1
* | Key | Description | * | --- | ------------ | * | 255 | unknown user | * */ userID?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.mass.kilogram`
*Unit is in kilograms with a resolution of 0.005. Note: Determined when bit 0 of the Flags field is set to 0.
*/ weightKilograms?: number | undefined; /** *Format: `uint16`
*Unit: `org.bluetooth.unit.mass.pound`
*Unit is in pounds with a resolution of 0.01. Note: Determined when bit 0 of the Flags field is set to 1.
*/ weightPounds?: number | undefined; } /** * The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet. * @see {@link https://raw.githubusercontent.com/oesmith/gatt-xml/refs/heads/master/org.bluetooth.characteristic.body_composition_measurement.xml | Body Composition Measurement} */ export declare class BodyCompositionMeasurementImpl implements BodyCompositionMeasurement { static readonly UUID_PREFIX = 10908; static readonly TYPE_NAME = "org.bluetooth.characteristic.body_composition_measurement"; static readonly NAME = "Body Composition Measurement"; /** Parse from a DataView into {@link BodyCompositionMeasurement}. */ static fromDataView(dataView: DataView | DataViewReader, indexStart?: number | undefined): BodyCompositionMeasurementImpl; readonly basalMetabolism?: number | undefined; readonly bodyFatPercentage: number; readonly bodyWaterMassKilograms?: number | undefined; readonly bodyWaterMassPounds?: number | undefined; readonly fatFreeMassKilograms?: number | undefined; readonly fatFreeMassPounds?: number | undefined; readonly flags: number; readonly heightInches?: number | undefined; readonly heightMeters?: number | undefined; readonly impedance?: number | undefined; readonly multiplePacketMeasurement: number; readonly muscleMassKilograms?: number | undefined; readonly muscleMassPounds?: number | undefined; readonly musclePercentage?: number | undefined; readonly softLeanMassKilograms?: number | undefined; readonly softLeanMassPounds?: number | undefined; readonly timeStamp?: DateTime | undefined; readonly userID?: number | undefined; readonly weightKilograms?: number | undefined; readonly weightPounds?: number | undefined; constructor(bodyCompositionMeasurement: BodyCompositionMeasurement); } /** Parse from a DataView into {@link BodyCompositionMeasurement}. */ export declare function bodyCompositionMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): BodyCompositionMeasurement; //# sourceMappingURL=body-composition-measurement.d.ts.map