UNPKG

react-native-healthkit-bridge

Version:

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

74 lines (73 loc) 3.29 kB
export declare const HEALTHKIT_CONFIG: { readonly DEFAULT_DAYS: 7; readonly MOCK_DELAY: 1000; readonly AUTHORIZATION_CHANCE: 0.9; readonly CACHE_TTL: 300000; readonly CACHE_MAX_SIZE: 100; readonly CACHE_ENABLED: true; readonly MAX_RETRIES: 3; readonly RETRY_DELAY: 1000; readonly QUERY_TIMEOUT: 30000; readonly METRICS_ENABLED: true; readonly METRICS_RETENTION: number; readonly LOGGING_ENABLED: true; readonly LOG_LEVEL: "debug" | "info" | "warn" | "error"; readonly CATEGORIES: { readonly ACTIVITY: "activity"; readonly HEART: "heart"; readonly BODY: "body"; readonly NUTRITION: "nutrition"; readonly SLEEP: "sleep"; readonly MINDFULNESS: "mindfulness"; readonly WORKOUT: "workout"; readonly HEARING: "hearing"; }; readonly DEFAULT_TYPES: { readonly QUANTITY: readonly ["stepCount", "distanceWalkingRunning", "activeEnergyBurned", "heartRate", "bodyMass", "height", "bloodPressureSystolic", "bloodPressureDiastolic", "bloodGlucose", "oxygenSaturation"]; readonly CATEGORY: readonly ["sleepAnalysis", "mindfulSession", "workoutType"]; readonly SPECIAL: readonly ["workout", "audiogram", "electrocardiogram"]; }; readonly DEFAULT_UNITS: { readonly stepCount: "count"; readonly distanceWalkingRunning: "m"; readonly activeEnergyBurned: "kcal"; readonly heartRate: "count/min"; readonly bodyMass: "kg"; readonly height: "m"; readonly bloodPressureSystolic: "mmHg"; readonly bloodPressureDiastolic: "mmHg"; readonly bloodGlucose: "mg/dL"; readonly oxygenSaturation: "%"; readonly flightsClimbed: "count"; readonly appleExerciseTime: "min"; }; readonly VALIDATION: { readonly MAX_DAYS: 365; readonly MIN_DAYS: 1; readonly MAX_DATE_RANGE: number; readonly MIN_DATE_RANGE: number; readonly MAX_IDENTIFIER_LENGTH: 100; readonly MAX_BATCH_SIZE: 50; }; readonly ERROR_CODES: { readonly UNAUTHORIZED: "HEALTHKIT_UNAUTHORIZED"; readonly NOT_AVAILABLE: "HEALTHKIT_NOT_AVAILABLE"; readonly INVALID_PARAMETER: "HEALTHKIT_INVALID_PARAMETER"; readonly QUERY_FAILED: "HEALTHKIT_QUERY_FAILED"; readonly TIMEOUT: "HEALTHKIT_TIMEOUT"; readonly NETWORK_ERROR: "HEALTHKIT_NETWORK_ERROR"; readonly UNKNOWN_ERROR: "HEALTHKIT_UNKNOWN_ERROR"; }; readonly ERROR_MESSAGES: { readonly UNAUTHORIZED: "Access to HealthKit not authorized"; readonly NOT_AVAILABLE: "HealthKit is not available on this platform"; readonly INVALID_PARAMETER: "Invalid parameter provided"; readonly QUERY_FAILED: "Failed to execute query on HealthKit"; readonly TIMEOUT: "Timeout executing operation"; readonly NETWORK_ERROR: "Network error accessing HealthKit"; readonly UNKNOWN_ERROR: "Unknown error occurred"; }; }; export type HealthKitConfig = typeof HEALTHKIT_CONFIG; export type HealthKitCategory = typeof HEALTHKIT_CONFIG.CATEGORIES[keyof typeof HEALTHKIT_CONFIG.CATEGORIES]; export type HealthKitErrorCode = typeof HEALTHKIT_CONFIG.ERROR_CODES[keyof typeof HEALTHKIT_CONFIG.ERROR_CODES];