import type { AnyMap } from 'react-native-nitro-modules' import type { QuantityTypedMetadataForIdentifierGenerated } from '../generated/healthkit.generated' import type { UnitForIdentifier } from './QuantityType' import type { QuantityTypeIdentifier } from './QuantityTypeIdentifier' import type { BaseSample, MetadataWithUnknown } from './Shared' import type { SourceRevision } from './Source' /** * @see {@link https://developer.apple.com/documentation/healthkit/hkquantitysample Apple Docs } */ export interface QuantitySample extends BaseSample { readonly quantityType: QuantityTypeIdentifier readonly quantity: number readonly unit: string } export type MetadataForQuantityIdentifier< T extends QuantityTypeIdentifier = QuantityTypeIdentifier, > = MetadataWithUnknown> export interface QuantitySampleTyped extends Omit { readonly quantityType: T readonly unit: UnitForIdentifier readonly metadata: MetadataForQuantityIdentifier } export interface QuantitySampleForSaving { readonly startDate: Date readonly endDate: Date readonly quantityType: QuantityTypeIdentifier readonly quantity: number readonly unit: string readonly metadata?: AnyMap readonly sourceRevision?: SourceRevision }