UNPKG

react-native-healthkit-bridge

Version:

A comprehensive React Native bridge for Apple HealthKit with TypeScript support, advanced authorization, and flexible data queries

29 lines (28 loc) 1.66 kB
import { HealthKitTypeInfo } from '../../domain/repositories/HealthKitRepository'; import { HealthKitAuthorizationStatusItem } from '../../../core/types/HealthKitTypes'; import { HealthKitSample, HealthKitCategorySample, HealthKitWorkout } from '../../domain/entities/HealthKitSample'; export interface HealthKitDataSource { requestAuthorization(): Promise<boolean>; requestSelectiveAuthorization(readTypes: string[], writeTypes?: string[]): Promise<boolean>; getAuthorizationStatus(identifiers: string[]): Promise<HealthKitAuthorizationStatusItem[]>; getAvailableTypes(): Promise<HealthKitTypeInfo[]>; getTypeInfo(identifier: string): Promise<HealthKitTypeInfo>; getQuantitySamplesForDays(identifier: string, unit: string, days: number): Promise<HealthKitSample[]>; getCategorySamplesForDays(identifier: string, days: number): Promise<HealthKitCategorySample[]>; getWorkoutsForDays(days: number): Promise<HealthKitWorkout[]>; getQuantitySamplesForRange(identifier: string, unit: string, startDate: string, endDate: string): Promise<HealthKitSample[]>; getCategorySamplesForRange(identifier: string, startDate: string, endDate: string): Promise<HealthKitCategorySample[]>; getWorkoutsForRange(startDate: string, endDate: string): Promise<HealthKitWorkout[]>; getQuantitySamplesWithRange(identifier: string, unit: string, startDate: number, endDate: number): Promise<number[]>; getCategorySamplesWithRange(identifier: string, startDate: number, endDate: number): Promise<HealthKitCategorySample[]>; getWorkoutsWithRange(startDate: number, endDate: number): Promise<HealthKitWorkout[]>; isAvailable(): boolean; }