export type LocationSourceMode = 'real' | 'mock' export interface LocationSample { latitude: number longitude: number accuracy?: number speed?: number | null headingDeg?: number | null timestamp: number sourceMode: LocationSourceMode } export interface LocationSourceCallbacks { onLocation: (sample: LocationSample) => void onStatus: (message: string) => void onError: (message: string) => void } export interface LocationSource { readonly mode: LocationSourceMode readonly active: boolean start(): void stop(): void destroy(): void }