import type { PluginListenerHandle } from '@capacitor/core'; export interface SatelliteStatus { satellitesInView: number; usedInFix: number; constellationCounts: { [key: string]: number }; } export interface WifiAp { ssid: string; bssid: string; rssi: number; distance?: number; } export interface WifiScanResult { apCount: number; aps: WifiAp[]; } export interface PositioningData { source: 'GNSS' | 'WIFI' | 'FUSED'; timestamp: number; gpsData: { latitude: number; longitude: number; accuracy: number; satellitesInView?: number; usedInFix?: number; constellationCounts?: { [key: string]: number }; }; wifiData: WifiScanResult; imuData: { accelX: number; accelY: number; accelZ: number; gyroX: number; gyroY: number; gyroZ: number; }; } export interface DumonGeolocationPlugin { startPositioning(): Promise; stopPositioning(): Promise; getLatestPosition(): Promise; addListener(eventName: 'onPositionUpdate', listenerFunc: (data: PositioningData) => void): PluginListenerHandle; }