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 ImuData { // accelX: number; // accelY: number; // accelZ: number; // gyroX: number; // gyroY: number; // gyroZ: number; // speed?: number; // acceleration?: number; // directionRad?: number; // } // export interface GpsData { // latitude: number; // longitude: number; // accuracy: number; // satellitesInView?: number; // usedInFix?: number; // constellationCounts?: { [key: string]: number }; // } // export interface PositioningData { // source: 'GNSS' | 'WIFI' | 'FUSED' | 'MOCK'; // timestamp: number; // latitude: number; // longitude: number; // accuracy: number; // gnssData?: SatelliteStatus; // wifiData?: WifiAp[]; // imuData?: ImuData; // } export interface PositioningData { source: 'GNSS' | 'WIFI' | 'FUSED' | 'MOCK'; timestamp: number; latitude: number; longitude: number; accuracy: number; speed: number; acceleration: number; directionRad: number; isMocked: boolean; } export interface PermissionStatus { location: 'granted' | 'denied' | 'prompt'; wifi: 'granted' | 'denied' | 'prompt'; } export interface DumonGeolocationPlugin { startPositioning(): Promise; stopPositioning(): Promise; getLatestPosition(): Promise; checkPermissions(): Promise; addListener( eventName: 'onPositionUpdate', listenerFunc: (data: PositioningData) => void ): PluginListenerHandle; }