forked from nutrisense/rn-apple-healthkit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.d.ts
123 lines (123 loc) · 3.58 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import { Activities, Permissions, Units } from "./Constants";
declare type PermissionOptions = {
read: Permissions[];
write: Permissions[];
};
declare type WorkoutOptions = {
type: Activities;
startDate: Date;
endDate: Date;
duration?: number;
energyBurned?: {
unit: Units;
value: number;
};
distance?: {
unit: Units;
value: number;
};
};
declare type MindfulSessionOptions = {
startDate: Date;
endDate: Date;
};
declare type CheckPermissionResponse = "NotDetermined" | "SharingDenied" | "SharingAuthorized";
interface GetSampleOptions {
startDate: Date;
endDate?: Date;
}
declare type GetHeartRateOptions = GetSampleOptions & {
unit?: string;
ascending?: boolean;
limit?: number;
};
declare enum AuthorizationStatus {
UnavailablePermission = -1,
NotDetermined = 0,
SharingDenied = 1,
SharingAuthorized = 2
}
declare enum HealthObserver {
AllergyRecord = "AllergyRecord",
ConditionRecord = "ConditionRecord",
CoverageRecord = "CoverageRecord",
Cycling = "Cycling",
HeartRate = "HeartRate",
ImmunizationRecord = "ImmunizationRecord",
LabResultRecord = "LabResultRecord",
MedicationRecord = "MedicationRecord",
ProcedureRecord = "ProcedureRecord",
RestingHeartRate = "RestingHeartRate",
Running = "Running",
StairClimbing = "StairClimbing",
VitalSignRecord = "VitalSignRecord",
Walking = "Walking",
Workout = "Workout"
}
interface HealthUnitOptions {
unit?: Units;
}
export interface HealthInputOptions extends HealthUnitOptions {
startDate?: string;
endDate?: string;
limit?: number;
ascending?: boolean;
type?: HealthObserver;
date?: string;
includeManuallyAdded?: boolean;
period?: number;
anchor?: string;
value?: number;
}
declare const HealthKit: {
isAvailable: () => Promise<boolean>;
init: (options: PermissionOptions) => Promise<true>;
saveMindfulSession: (options: MindfulSessionOptions) => Promise<string>;
saveWorkout: (options: WorkoutOptions) => Promise<string>;
authorizationStatus: (types: Permissions[]) => Promise<AuthorizationStatus[]>;
getAuthStatus: (options: PermissionOptions) => Promise<{
read: AuthorizationStatus[];
write: AuthorizationStatus[];
}>;
getHeartRate: (options: GetHeartRateOptions) => Promise<{
value: number;
startDate: string;
endDate: string;
}[]>;
getStepCount: (options: HealthInputOptions) => Promise<{
value: number;
}>;
getStepCounts: (options: HealthInputOptions) => Promise<{
value: number;
startDate: string;
endDate: string;
}[]>;
getLatestWeight: (options: HealthInputOptions) => Promise<{
value: number;
}>;
checkPermission: (type: string) => Promise<CheckPermissionResponse>;
saveWeight: (value: number) => Promise<any>;
saveStep: (value: number, startDate: string, endDate: string) => Promise<any>;
getWeight: (options: HealthInputOptions) => Promise<{
value: number;
startDate: string;
endDate: string;
}[]>;
getHeight: (options: HealthInputOptions) => Promise<{
value: number;
startDate: string;
endDate: string;
}[]>;
saveHeight: (value: number) => Promise<any>;
lastHeight: (options: HealthInputOptions) => Promise<{
value: number;
startDate: string;
endDate: string;
}>;
};
export declare const HKConstants: {
Permissions: typeof Permissions;
Units: typeof Units;
Activities: typeof Activities;
};
export default HealthKit;