using System.Threading.Tasks;
using Plugins.Countly.Helpers;
namespace Plugins.Countly.Services
{
public interface IDeviceIdCountlyService
{
string DeviceId { get; }
void InitDeviceId(string deviceId = null);
///
/// Changes Device Id.
/// Adds currently recorded but not queued events to request queue.
/// Clears all started timed-events
/// Ends cuurent session with old Device Id.
/// Begins a new session with new Device Id
///
///
Task ChangeDeviceIdAndEndCurrentSessionAsync(string deviceId);
///
/// Changes DeviceId.
/// Continues with the current session.
/// Merges data for old and new Device Id.
///
///
Task ChangeDeviceIdAndMergeSessionDataAsync(string deviceId);
///
/// Updates Device ID both in app and in cache
///
///
void UpdateDeviceId(string newDeviceId);
}
}