dumon-geolocation/dist/esm/definitions.d.ts

56 lines
1.3 KiB
TypeScript

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 DumonGeolocationPlugin {
startPositioning(): Promise<void>;
stopPositioning(): Promise<void>;
getLatestPosition(): Promise<PositioningData>;
addListener(eventName: 'onPositionUpdate', listenerFunc: (data: PositioningData) => void): PluginListenerHandle;
}