import { PermissionManager } from './PermissionManager'; import type { FitnessEngineConfig, FitnessEngineState, GeolocationError, GeolocationOptions, GeolocationResponse, TrackingMode } from './types'; /** * Heart of activity tracker apps — orchestrates permissions, GPS, motion, auto-pause. * * Drop-in for fitness apps. Your existing watchPosition/saveCoordinate flow still works * via Geolocation directly; FitnessEngine adds Strava-class intelligence on top. */ export declare class FitnessEngine { private watchId; private config; private autoPauseUnsub; private autoResumeUnsub; /** Request all permissions needed for background fitness tracking */ prepare(): Promise>; /** * Start full fitness session — GPS watch + motion + auto-pause */ start(onLocation: (position: GeolocationResponse) => void, onError?: (error: GeolocationError) => void, options?: GeolocationOptions & { trackingMode?: TrackingMode; }): number; stop(): void; setPaused(paused: boolean): void; setMode(mode: TrackingMode): Promise; getState(): Promise; syncPending(): Promise; configure(config: FitnessEngineConfig): void; } export declare const createFitnessEngine: (config?: FitnessEngineConfig) => FitnessEngine; export default FitnessEngine; //# sourceMappingURL=FitnessEngine.d.ts.map