using System;
using System.Collections;
using Common.Http;
using log4net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Nancy;
using Nancy.Json;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;

namespace Esim.Apis.Business
{
    public interface IUserBusiness
    {
        // Auth methods
        Task<IActionResult> RequestOtp(HttpRequest httpRequest, RequestOtpReq request);
        Task<IActionResult> ResendOtp(HttpRequest httpRequest, RequestOtpReq request);
        Task<IActionResult> VerifyOtp(HttpRequest httpRequest, VerifyOtpReq request);
        Task<IActionResult> PartnerLogin(HttpRequest httpRequest, PartnerLoginReq request);
        Task<IActionResult> GoogleLogin(HttpRequest httpRequest, GoogleLoginReq request);
        Task<IActionResult> GoogleCallback(HttpRequest httpRequest, GoogleCallbackReq request);
    }
}
