export type WorkoutType = "running" | "walking";
export type SessionState = "idle" | "active" | "paused" | "auto-paused" | "stopped";
export type GpsQuality = "excellent" | "good" | "fair" | "poor";
export type Units = "metric" | "imperial";
export type LocationUpdatePayload = {
    latitude: number;
    longitude: number;
    altitude: number;
    speed: number;
    accuracy: number;
    timestamp: number;
};
export type StepUpdatePayload = {
    steps: number;
    cadence: number;
};
export type SessionStatePayload = {
    state: SessionState;
};
export type RunningKitEvents = {
    onLocationUpdate: (payload: LocationUpdatePayload) => void;
    onStepUpdate: (payload: StepUpdatePayload) => void;
    onSessionStateChange: (payload: SessionStatePayload) => void;
};
export type SpeedStats = {
    current: number;
    avg: number;
    max: number;
};
export type PaceStats = {
    current: string | null;
    avg: string | null;
    best: string | null;
};
export type Lap = {
    number: number;
    duration: number;
    distance: number;
    avgSpeed: number;
    avgPace: string | null;
};
export type RunningKitConfig = {
    units?: Units;
    autoPause?: boolean;
    autoPauseDelay?: number;
    resumeThreshold?: number;
    speedSmoothingWindow?: number;
};
export type PermissionStatus = "granted" | "denied" | "undetermined";
export type PermissionsResult = {
    location: PermissionStatus;
    motion: PermissionStatus;
};
export type SessionSummary = {
    duration: number;
    distance: number;
    steps: number;
    speed: SpeedStats;
    pace: PaceStats;
    calories: number;
    laps: Lap[];
};
//# sourceMappingURL=RunningKit.types.d.ts.map