import type { Geofence, GeofenceEvent, GeofencesChangeEvent, LocationSubscription } from './types'; type GeofenceCallback = (event: GeofenceEvent) => void; type GeofencesChangeCallback = (event: GeofencesChangeEvent) => void; /** * Geofencing API — monitor circular geographic regions. * * iOS supports up to 20 geofences simultaneously. * Android supports up to 100. * * The native engine automatically manages proximity — only geofences * near the device are actively monitored, while the full list is * stored in the SQLite database. */ export declare class Geofencing { private geofenceListeners; private geofencesChangeListeners; private geofenceSub; private geofencesChangeSub; private listenerCount; private ensureSubscriptions; /** * Add a single geofence to monitor. */ addGeofence(geofence: Geofence): Promise; /** * Add multiple geofences at once (faster than individual calls). */ addGeofences(geofences: Geofence[]): Promise; /** * Remove a geofence by identifier. */ removeGeofence(identifier: string): Promise; /** * Remove all geofences, or specific ones by identifiers. */ removeGeofences(identifiers?: string[]): Promise; /** * Get all geofences currently in the database. */ getGeofences(): Promise; /** * Check if a geofence with the given identifier exists. */ geofenceExists(identifier: string): Promise; /** * Subscribe to geofence transition events (ENTER/EXIT/DWELL). */ onGeofence(callback: GeofenceCallback): LocationSubscription; /** * Subscribe to changes in the actively monitored geofence list. * Fired when geofences are added/removed from the active set * based on device proximity. */ onGeofencesChange(callback: GeofencesChangeCallback): LocationSubscription; private cleanupIfNeeded; } export declare const geofencing: Geofencing; export default Geofencing; //# sourceMappingURL=Geofencing.d.ts.map