/*
 * Version for React Native
 * © 2020 YANDEX
 * You may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * https://yandex.com/legal/appmetrica_sdk_agreement/
 */

#import <CoreLocation/CoreLocation.h>
#import <AppMetricaCore/AppMetricaCore.h>
#import <AppMetricaCrashes/AppMetricaCrashes.h>

@interface AppMetricaUtils : NSObject

+ (AMAAppMetricaConfiguration *)configurationForDictionary:(NSDictionary *)configDict;
+ (AMAAppMetricaCrashesConfiguration *)crashesConfigurationForDictionary:(NSDictionary *)configDict;

+ (nullable AMAECommerceScreen *) toEcommerceScreen:(nullable NSDictionary *)screenInfo;
+ (nullable AMAECommerceReferrer *) toEcommerceReferer:(nullable NSDictionary *)refererInfo;
+ (nullable AMAECommercePrice *) toEcommercePrice:(nullable NSDictionary *)priceInfo;
+ (nullable AMAECommerceProduct *) toEcommerceProduct:(nullable NSDictionary *)productInfo;
+ (nullable AMAECommerceCartItem *) toEcommerceCartItem:(nullable NSDictionary *)cartItemInfo :(nullable NSDictionary *)referrerInfo;
+ (nullable AMAECommerceOrder *) toEcommerceOrder:(nullable NSDictionary *)orderInfo;

+ (CLLocation *)locationForDictionary:(NSDictionary *)locationDict;
+ (NSString *)stringFromRequestDeviceIDError:(NSError *)error;

@end
