import { ActivityManager } from './ActivityManager'; import type { ActivityOptions, ActivityState, ActivityStateSnapshot, ActivitySummary, FitnessPermissionResult, GeolocationResponse } from './types'; export interface FitnessTrackingReadyConfig extends ActivityOptions { /** Request motion permission on Android (activity recognition) */ includeMotion?: boolean; /** Skip permission prompts (e.g. already granted) */ skipPermissionRequests?: boolean; } export interface FitnessTrackingStartOptions extends ActivityOptions { onLocation?: (position: GeolocationResponse) => void; onStateChange?: (state: ActivityState) => void; onError?: (error: Error) => void; } export interface FitnessTrackingServiceState { ready: boolean; permission: FitnessPermissionResult | null; activity: ActivityStateSnapshot | null; queueSize: number; engineState: Record | null; } type Listener = (state: FitnessTrackingServiceState) => void; export declare const FitnessTrackingService: { /** * Configure + request permissions (call once at app launch or before first activity). * Mirrors BackgroundGeolocation.ready() intent without commercial SDK lock-in. */ ready(config?: FitnessTrackingReadyConfig): Promise; subscribe(listener: Listener): () => void; getState(): FitnessTrackingServiceState; start(options?: FitnessTrackingStartOptions): Promise; pause(reason?: "stationary" | "manual"): Promise; resume(): Promise; stop(): Promise; discard(): Promise; syncQueue(): Promise; openSettings(): Promise; getActivity(): ActivityManager | null; }; export default FitnessTrackingService; //# sourceMappingURL=FitnessTrackingService.d.ts.map