import { HttpClient } from '../common/HttpClient'; import { UrlClass } from './UrlClass'; import { GarminDomain, IGarminTokens, IOauth1Token, IOauth2Token, ISocialProfile, GCConfig } from './types'; export interface Session { } declare class GarminConnectBase { client: HttpClient; domain: GarminDomain; config: GCConfig; private _userHash; private listeners; url: UrlClass; constructor(config: GCConfig, domain?: GarminDomain); login(username?: string, password?: string, sessionId?: string): Promise; exportTokenToFile(dirPath: string): Promise; loadTokenByFile(dirPath: string): Promise; exportToken(): IGarminTokens; loadToken(oauth1: IOauth1Token, oauth2: IOauth2Token): void; onSessionChange(callback: (session: IGarminTokens) => void): void; private emitSessionChange; getUserProfile(): Promise; } declare const WithUser: { new (...args: any[]): { getUserSettings(): Promise; getPersonalInfo(): Promise; getPersonalRecordTypes(): Promise; getPersonalRecords(): Promise; getDisplayName(): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithSleep: { new (...args: any[]): { getSleepData(date?: Date): Promise; getSleepDuration(date?: Date): Promise<{ hours: number; minutes: number; }>; getSleepDailySummary(startDate: Date, endDate: Date): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithHRV: { new (...args: any[]): { getHRVData(date?: Date): Promise; getHRVDailySummary(startDate: string | Date, endDate: string | Date): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithWeight: { new (...args: any[]): { getDailyWeightData(date?: Date): Promise; getDailyWeightInPounds(date?: Date): Promise; getWeightRange(startDate: string | Date, endDate: string | Date, includeAll?: boolean): Promise; buildFitbitWeightCsv(weightData: import("./types").WeightRangeData): string; getFitbitWeightCsv(startDate: string | Date, endDate: string | Date, includeAll?: boolean): Promise; downloadFitbitWeightCsv(startDate: string | Date, endDate: string | Date, file: string, includeAll?: boolean): Promise; getUploadFeature(feature?: string): Promise; uploadFitbitWeightCsv(file: string): Promise; getFitbitWeightUploadStatus(owner: number, date: string | Date, uploadUuid: string): Promise; updateWeight(date: Date | undefined, lbs: number, timezone: string): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithHydration: { new (...args: any[]): { getDailyHydration(date?: Date): Promise; updateHydrationLogOunces(date: Date | undefined, valueInOz: number): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithBodyBattery: { new (...args: any[]): { getBodyBattery(startDate: string | Date, endDate: string | Date): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithHeartRate: { new (...args: any[]): { getHeartRate(date?: Date): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithActivityBase: { new (...args: any[]): { getActivities(start?: number | undefined, limit?: number | undefined, activityType?: string | undefined, subActivityType?: string | undefined, minDistance?: number | undefined, maxDistance?: number | undefined, excludeChildren?: boolean | undefined, startDate?: string | undefined, endDate?: string | undefined, search?: string | undefined): Promise; getActivity(activity: { activityId: number; }): Promise; getActivityLaps(activity: { activityId: number; }): Promise<{ activityId: number; lapDTOs: import("./types").ActivityLap[]; }>; getActivityWeather(activity: { activityId: number; }): Promise; getActivityWorkouts(activity: { activityId: number; }): Promise; countActivities(): Promise; getActivityStats(options: import("./types").ActivityStatsOptions): Promise; downloadWellnessData(date: Date, dir: string): Promise; downloadOriginalActivityData(activity: { activityId: number; }, dir: string, type?: "tcx" | "gpx" | "kml" | "zip"): Promise; uploadActivity(file: string, format?: "tcx" | "gpx" | "fit"): Promise; deleteActivity(activity: { activityId: number; }): Promise; getSteps(date?: Date): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithRunning: { new (...args: any[]): { getRacePredictionsMonthly(fromCalendarDate: string | Date, toCalendarDate: string | Date): Promise; getLactateThresholdSpeedRange(startDate: string | Date, endDate: string | Date): Promise; getLactateThresholdHeartRateRange(startDate: string | Date, endDate: string | Date): Promise; getLatestLactateThreshold(): Promise; getRunningLactateThreshold(startDate: string | Date, endDate: string | Date): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithCycling: { new (...args: any[]): { getLatestPowerToWeight(date?: string | Date): Promise; getPowerToWeightRange(startDate: string | Date, endDate: string | Date, aggregation?: "monthly" | "weekly", sport?: "running" | "cycling"): Promise; getCyclingAbility(): Promise; getPowerCurve(sport?: "running" | "cycling", startDate?: string | Date | undefined, endDate?: string | Date | undefined): Promise; getMaxMet(date?: string | Date, sport?: "running" | "cycling" | undefined): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithTrainingStatus: { new (...args: any[]): { getTrainingStatus(date?: Date): Promise; getTrainingLoadBalance(date?: Date): Promise; getWeeklyTrainingStatus(startDate: Date, endDate: Date): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithDevice: { new (...args: any[]): { getPrimaryWearableDevice(): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithWorkout: { new (...args: any[]): { getWorkouts(start: number, limit: number): Promise; getWorkoutDetail(workout: { workoutId: string; }): Promise; addWorkout(workout: import("./types").IWorkoutDetail | import("./workouts/Running").default): Promise; addRunningWorkout(name: string, meters: number, description: string): Promise; deleteWorkout(workout: { workoutId: string; }): Promise; scheduleWorkout(workout: { workoutId: string; }, date?: Date): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithCourse: { new (...args: any[]): { getCourses(): Promise; getCourse(course: { courseId: number; }): Promise; downloadCourseFit(course: { courseId: number; }, dir: string, elevation?: boolean): Promise; downloadCourseGpx(course: { courseId: number; }, dir: string): Promise; importCourse(file: string): Promise; confirmCourseImport(course: unknown): Promise; deleteCourse(course: { courseId: number; }): Promise; createCourse(course: import("./types").ICourseDetail): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithMisc: { new (...args: any[]): { getCalendar(year?: number, month?: number): Promise; getGolfSummary(): Promise; getGolfScorecard(scorecardId: number): Promise; consentGrant(): Promise; get(url: string, data?: any): Promise; post(url: string, data: any): Promise; put(url: string, data: any): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; declare const WithCoach: { new (...args: any[]): { getTrainingOverview(options?: import("./types").TrainingOverviewOptions): Promise; getWellnessOverview(options?: import("./types").WellnessOverviewOptions): Promise; getActivitiesSummary(options?: import("./types").ActivitiesSummaryOptions): Promise; getActivityDetailSummary(options: number | import("./types").ActivityDetailSummaryOptions): Promise; client: HttpClient; url: UrlClass; domain: GarminDomain; getUserProfile(): Promise; }; }; export interface GarminConnect extends GarminConnectBase, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType, InstanceType { } export declare class GarminConnect extends WithCoach { } export default GarminConnect;