@kingstinct/react-native-healthkit
Version:
React Native bindings for HealthKit
255 lines (254 loc) • 8.04 kB
TypeScript
import type { AnyMap } from 'react-native-nitro-modules';
import type { WorkoutProxy } from '../specs/WorkoutProxy.nitro';
import type { Device } from './Device';
import type { Quantity } from './QuantityType';
import type { PredicateForSamples } from './QueryOptions';
import type { DeletedSample, GenericMetadata } from './Shared';
import type { SourceRevision } from './Source';
export declare enum WorkoutActivityType {
americanFootball = 1,
archery = 2,
australianFootball = 3,
badminton = 4,
baseball = 5,
basketball = 6,
bowling = 7,
boxing = 8,// See also HKWorkoutActivityTypeKickboxing.,
climbing = 9,
cricket = 10,
crossTraining = 11,// Any mix of cardio and/or strength training. See also HKWorkoutActivityTypeCoreTraining and HKWorkoutActivityTypeFlexibility.,
curling = 12,
cycling = 13,
dance = 14,
danceInspiredTraining = 15,// This enum remains available to access older data.,
elliptical = 16,
equestrianSports = 17,// Polo, Horse Racing, Horse Riding, etc.,
fencing = 18,
fishing = 19,
functionalStrengthTraining = 20,// Primarily free weights and/or body weight and/or accessories,
golf = 21,
gymnastics = 22,
handball = 23,
hiking = 24,
hockey = 25,// Ice Hockey, Field Hockey, etc.,
hunting = 26,
lacrosse = 27,
martialArts = 28,
mindAndBody = 29,// Qigong, meditation, etc.,
mixedMetabolicCardioTraining = 30,// This enum remains available to access older data.,
paddleSports = 31,// Canoeing, Kayaking, Outrigger, Stand Up Paddle Board, etc.,
play = 32,// Dodge Ball, Hopscotch, Tetherball, Jungle Gym, etc.,
preparationAndRecovery = 33,// Foam rolling, stretching, etc.,
racquetball = 34,
rowing = 35,
rugby = 36,
running = 37,
sailing = 38,
skatingSports = 39,// Ice Skating, Speed Skating, Inline Skating, Skateboarding, etc.,
snowSports = 40,// Sledding, Snowmobiling, Building a Snowman, etc. See also HKWorkoutActivityTypeCrossCountrySkiing, HKWorkoutActivityTypeSnowboarding, and HKWorkoutActivityTypeDownhillSkiing.,
soccer = 41,
softball = 42,
squash = 43,
stairClimbing = 44,// See also HKWorkoutActivityTypeStairs and HKWorkoutActivityTypeStepTraining.,
surfingSports = 45,// Traditional Surfing, Kite Surfing, Wind Surfing, etc.,
swimming = 46,
tableTennis = 47,
tennis = 48,
trackAndField = 49,// Shot Put, Javelin, Pole Vaulting, etc.,
traditionalStrengthTraining = 50,// Primarily machines and/or free weights,
volleyball = 51,
walking = 52,
waterFitness = 53,
waterPolo = 54,
waterSports = 55,// Water Skiing, Wake Boarding, etc.,
wrestling = 56,
yoga = 57,
barre = 58,// HKWorkoutActivityTypeDanceInspiredTraining,
coreTraining = 59,
crossCountrySkiing = 60,
downhillSkiing = 61,
flexibility = 62,
highIntensityIntervalTraining = 63,
jumpRope = 64,
kickboxing = 65,
pilates = 66,// HKWorkoutActivityTypeDanceInspiredTraining,
snowboarding = 67,
stairs = 68,
stepTraining = 69,
wheelchairWalkPace = 70,
wheelchairRunPace = 71,
taiChi = 72,
mixedCardio = 73,// HKWorkoutActivityTypeMixedMetabolicCardioTraining,
handCycling = 74,
discSports = 75,
fitnessGaming = 76,
cardioDance = 77,
socialDance = 78,
pickleball = 79,
cooldown = 80,
swimBikeRun = 82,
transition = 83,
underwaterDiving = 84,
other = 3000
}
export declare enum WeatherCondition {
none = 0,
clear = 1,
fair = 2,
partlyCloudy = 3,
mostlyCloudy = 4,
cloudy = 5,
foggy = 6,
haze = 7,
windy = 8,
blustery = 9,
smoky = 10,
dust = 11,
snow = 12,
hail = 13,
sleet = 14,
freezingDrizzle = 15,
freezingRain = 16,
mixedRainAndHail = 17,
mixedRainAndSnow = 18,
mixedRainAndSleet = 19,
mixedSnowAndSleet = 20,
drizzle = 21,
scatteredShowers = 22,
showers = 23,
thunderstorms = 24,
tropicalStorm = 25,
hurricane = 26,
tornado = 27
}
export interface WorkoutMetadata extends GenericMetadata {
readonly HKWeatherCondition?: WeatherCondition;
readonly HKWeatherHumidity?: Quantity;
readonly HKWeatherTemperature?: Quantity;
readonly HKAverageMETs?: Quantity;
readonly HKElevationAscended?: Quantity;
readonly HKIndoorWorkout?: boolean;
}
export interface WorkoutEvent {
readonly type: WorkoutEventType;
readonly startDate: Date;
readonly endDate: Date;
}
export declare enum WorkoutEventType {
pause = 1,
resume = 2,
lap = 3,
marker = 4,
motionPaused = 5,
motionResumed = 6,
segment = 7,
pauseOrResumeRequest = 8
}
export interface WorkoutActivity {
readonly startDate: Date;
readonly endDate: Date;
readonly uuid: string;
readonly duration: number;
}
export interface WorkoutRoute {
readonly locations: readonly WorkoutRouteLocation[];
readonly HKMetadataKeySyncIdentifier?: string;
readonly HKMetadataKeySyncVersion?: number;
}
export interface QueryWorkoutSamplesWithAnchorResponse {
readonly workouts: readonly WorkoutProxy[];
readonly deletedSamples: readonly DeletedSample[];
readonly newAnchor: string;
}
type WorkoutActivityTypePredicate = {
readonly workoutActivityType: WorkoutActivityType;
};
declare enum ComparisonPredicateOperator {
lessThan = 0,
lessThanOrEqualTo = 1,
greaterThan = 2,
greaterThanOrEqualTo = 3,
equalTo = 4,
notEqualTo = 5,
matches = 6,
like = 7,
beginsWith = 8,
endsWith = 9,
in = 10,
customSelector = 11,
contains = 99,
between = 100
}
type WorkoutDurationPredicate = {
readonly predicateOperator: ComparisonPredicateOperator;
readonly durationInSeconds: number;
};
export type PredicateForWorkouts = PredicateForSamples | WorkoutActivityTypePredicate | WorkoutDurationPredicate;
export type PredicateForWorkoutsOr = {
readonly OR: readonly PredicateForWorkouts[];
};
export type PredicateForWorkoutsAnd = {
readonly AND: readonly PredicateForWorkouts[];
};
export type FilterForWorkouts = PredicateForWorkouts | PredicateForWorkoutsOr | PredicateForWorkoutsAnd;
export interface WorkoutQueryOptionsWithAnchor {
energyUnit?: string;
distanceUnit?: string;
filter?: FilterForWorkouts;
limit?: number;
anchor?: string;
}
export interface WorkoutQueryOptions {
energyUnit?: string;
distanceUnit?: string;
filter?: FilterForWorkouts;
limit?: number;
ascending?: boolean;
}
export interface WorkoutRouteLocation {
readonly altitude: number;
readonly course: number;
readonly date: Date;
readonly distance: number | null;
readonly horizontalAccuracy: number;
readonly latitude: number;
readonly longitude: number;
readonly speed: number;
readonly speedAccuracy: number;
readonly verticalAccuracy: number;
}
export interface LocationForSaving {
readonly altitude: number;
readonly course: number;
readonly date: Date;
readonly horizontalAccuracy: number;
readonly latitude: number;
readonly longitude: number;
readonly speed: number;
readonly verticalAccuracy: number;
}
export interface WorkoutPlan {
readonly id: string;
readonly activityType: WorkoutActivityType;
}
export interface WorkoutTotals {
readonly distance?: number;
readonly energyBurned?: number;
}
export interface WorkoutSample {
readonly uuid: string;
readonly device?: Device;
readonly workoutActivityType: WorkoutActivityType;
readonly duration: Quantity;
readonly totalDistance?: Quantity;
readonly totalEnergyBurned?: Quantity;
readonly totalSwimmingStrokeCount?: Quantity;
readonly totalFlightsClimbed?: Quantity;
readonly startDate: Date;
readonly endDate: Date;
readonly metadata?: AnyMap;
readonly sourceRevision?: SourceRevision;
readonly events?: readonly WorkoutEvent[];
readonly activities?: readonly WorkoutActivity[];
}
export {};