// Type definitions for cordova-plugin-ibeacon v3.3.0 // Project: https://github.com/petermetz/cordova-plugin-ibeacon // Definitions by: Markus Wagner // Definitions: https://github.com/borisyankov/DefinitelyTyped /// interface CordovaPlugins { locationManager: BeaconPlugin.LocationManager; } declare module BeaconPlugin { /** * Beacon Plugin. */ export interface LocationManager { delegate: Delegate; BeaconRegion: BeaconRegion; onDomDelegateReady(): void; startMonitoringForRegion(region: Region): Q.Promise; stopMonitoringForRegion(region: Region): Q.Promise; requestStateForRegion(region: Region): Q.Promise; startRangingBeaconsInRegion(region: Region): Q.Promise; stopRangingBeaconsInRegion(region: Region): Q.Promise; getAuthorizationStatus(): Q.Promise; requestWhenInUseAuthorization(): Q.Promise; requestAlwaysAuthorization(): Q.Promise; getMonitoredRegions(): Q.Promise; getRangedRegions(): Q.Promise; isRangingAvailable(): Q.Promise; isMonitoringAvailableForClass(region: Region): Q.Promise; startAdvertising(region: Region, measuredPower: boolean): Q.Promise; stopAdvertising(): Q.Promise; isAdvertisingAvailable(): Q.Promise; isAdvertising(): Q.Promise; disableDebugLogs(): Q.Promise; enableDebugNotifications(): Q.Promise; disableDebugNotifications(): Q.Promise; enableDebugLogs(): Q.Promise; isBluetoothEnabled(): Q.Promise; enableBluetooth(): Q.Promise; disableBluetooth(): Q.Promise; appendToDeviceLog(message: string): Q.Promise; } export interface PluginResult { eventType: string; region: Region; beacons: Beacon[]; authorizationStatus: string; state: string; } export interface Delegate { didDetermineStateForRegion(pluginResult: PluginResult): void; didStartMonitoringForRegion(pluginResult: PluginResult): void; didExitRegion(pluginResult: PluginResult): void; didEnterRegion(pluginResult: PluginResult): void; didRangeBeaconsInRegion(pluginResult: PluginResult): void; peripheralManagerDidStartAdvertising(pluginResult: PluginResult): void; peripheralManagerDidUpdateState(pluginResult: PluginResult): void; didChangeAuthorizationStatus(authorizationStatus: string): void; monitoringDidFailForRegionWithError(pluginResult: PluginResult): void; } export interface Region { identifier: string; new (identifier: string): Region; } export interface BeaconRegion extends Region { uuid: string; major: string; minor: string; notifyEntryStateOnDisplay: boolean; new (identifier: string, uuid: string, major?: number, minor?: number, notifyEntryStateOnDisplay?: boolean): BeaconRegion; } export interface CircularRegion extends Region { latitude: number; longitude: number; radius: number; new (identifier: string, latitude: number, longitude: number, radius: number): CircularRegion; } export interface Beacon { uuid: string; major: string; minor: string; proximity: string; tx: number; rssi: number; accuracy: number; } }