using System.Threading.Tasks;
using DiplomovaPrace.Contracts.Security.InputModels;

namespace DiplomovaPrace.Web.Admin.Services
{
	public interface ISecurityService
	{
		Task RegisterAccountAsync(RegisterAccountIM inputModel);

		Task RecoverForgottenPasswordAsync(ForgottenPasswordIM inputModel);

		Task PasswordResetAsync(PasswordResetIM inputModel);

		Task<bool> ChangePasswordAsync(PasswordChangeIM inputModel);

		Task ValidateTokenAsync(string token);
	}
}
