import type { TurboModule } from "react-native"; import { TurboModuleRegistry } from "react-native"; import type { EventEmitter } from "react-native/Libraries/Types/CodegenTypes"; export type LocationEmitter = { location: Object; user: Object; }; export type ClientLocationEmitter = { location: Object; stopped: boolean; source: string; }; export type ErrorEmitter = { status: string; }; export type LogEmitter = { message: string; }; export type EventsEmitter = { events: Array; user: Object; }; export type TokenEmitter = { token: Object; }; export type NewInAppMessageEmitter = { inAppMessage: Object; }; export type InAppMessageDismissedEmitter = { inAppMessage: Object; }; export type InAppMessageClickedEmitter = { inAppMessage: Object; }; export interface Spec extends TurboModule { initialize(publishableKey: string, fraud: boolean, options: Object | null): void; initializeWithAuthToken(authToken: string, fraud: boolean, options: Object | null): void; requestPermissions(background: boolean): Promise; getPermissionsStatus(): Promise; trackOnce(trackOnceOptions: Object | null): Promise; setLogLevel(level: string): void; setUserId(userId: string): void; getUserId(): Promise; setDescription(description: string): void; getDescription(): Promise; setMetadata(metadata: Object): void; getMetadata(): Promise; setTags(tags: Array): void; getTags(): Promise>; addTags(tags: Array): void; removeTags(tags: Array): void; setProduct(product: string): void; getProduct(): Promise; setAnonymousTrackingEnabled(enabled: boolean): void; getLocation(desiredAccuracy: string | null): Promise; trackVerified(trackVerifiedOptions: Object | null): Promise; getVerifiedLocationToken(): Promise; clearVerifiedLocationToken(): void; startTrackingEfficient(): void; startTrackingResponsive(): void; startTrackingContinuous(): void; startTrackingCustom(options: Object): void; startTrackingVerified(options: Object | null): void; isTrackingVerified(): Promise; mockTracking(options: Object): void; stopTracking(): void; stopTrackingVerified(): void; getTrackingOptions(): Promise; isUsingRemoteTrackingOptions(): Promise; isTracking(): Promise; setForegroundServiceOptions(options: Object): void; setNotificationOptions(options: Object): void; getTripOptions(): Promise; startTrip(options: Object): Promise; completeTrip(): Promise; cancelTrip(): Promise; updateTrip(options: Object): Promise; updateTripLeg(options: Object): Promise; reorderTripLegs(options: Object): Promise; acceptEvent(eventId: string, verifiedPlaceId: string): void; rejectEvent(eventId: string): void; getContext(location: Object | null): Promise; searchPlaces(options: Object): Promise; searchGeofences(options: Object): Promise; autocomplete(options: Object): Promise; geocode(options: Object): Promise; reverseGeocode(options: Object | null): Promise; ipGeocode(): Promise; validateAddress(address: Object): Promise; getDistance(options: Object): Promise; getMatrix(options: Object): Promise; logConversion(options: Object): Promise; nativeSdkVersion(): Promise; getHost(): Promise; getPublishableKey(): Promise; showInAppMessage(inAppMessage: Object): void; setPushNotificationToken(token: string): void; isInitialized(): Promise; setAppGroup(groupId: string): void; setLocationExtensionToken(token: string): void; readonly locationEmitter: EventEmitter; readonly clientLocationEmitter: EventEmitter; readonly errorEmitter: EventEmitter; readonly logEmitter: EventEmitter; readonly eventsEmitter: EventEmitter; readonly tokenEmitter: EventEmitter; readonly newInAppMessageEmitter: EventEmitter; readonly inAppMessageDismissedEmitter: EventEmitter; readonly inAppMessageClickedEmitter: EventEmitter; } export default TurboModuleRegistry.getEnforcing("RNRadar");