react-native-health-connect
Version:
React native library for health connect (Android only)
51 lines • 2.1 kB
TypeScript
import type { TurboModule } from 'react-native';
import type { HealthConnectRecord, Permission, WriteExerciseRoutePermission } from './types';
import type { ExerciseRoute } from './types/base.types';
type ReadRecordsOptions = {
startTime: string;
endTime: string;
dataOriginFilter?: string[];
ascendingOrder?: boolean;
pageSize?: number;
pageToken?: string;
};
export interface Spec extends TurboModule {
getSdkStatus(providerPackageName: string): Promise<number>;
initialize(providerPackageName: string): Promise<boolean>;
openHealthConnectSettings: () => void;
openHealthConnectDataManagement: (providerPackageName?: string) => void;
requestPermission(permissions: (Permission | WriteExerciseRoutePermission)[]): Promise<Permission[]>;
requestExerciseRoute(recordId: string): Promise<ExerciseRoute>;
getGrantedPermissions(): Promise<Permission[]>;
revokeAllPermissions(): Promise<void>;
insertRecords(records: HealthConnectRecord[]): Promise<string[]>;
readRecords(recordType: string, options: ReadRecordsOptions): Promise<{}>;
readRecord(recordType: string, recordId: string): Promise<{}>;
aggregateRecord(record: {
recordType: string;
startTime: string;
endTime: string;
}): Promise<{}>;
aggregateGroupByDuration(record: {
recordType: string;
startTime: string;
endTime: string;
timeRangeSlicer: Object;
}): Promise<[]>;
aggregateGroupByPeriod(record: {
recordType: string;
startTime: string;
endTime: string;
timeRangeSlicer: Object;
}): Promise<[]>;
getChanges(request: {
changesToken?: string;
recordTypes?: string[];
dataOriginFilters?: string[];
}): Promise<{}>;
deleteRecordsByUuids(recordType: string, recordIdsList: string[], clientRecordIdsList: string[]): Promise<void>;
deleteRecordsByTimeRange(recordType: string, timeRangeFilter: Object): Promise<void>;
}
declare const _default: Spec;
export default _default;
//# sourceMappingURL=NativeHealthConnect.d.ts.map