Luski.Net/Luski.net/Interfaces/IUser.cs

42 lines
1.0 KiB
C#
Executable File

using System.IO;
using System.Threading;
using Luski.net.Enums;
using System.Threading.Tasks;
using Luski.net.JsonTypes;
using Luski.net.Structures;
namespace Luski.net.Interfaces;
/// <summary>
/// Represents the curent user
/// </summary>
public interface IUser
{
/// <summary>
/// The current Id of the user
/// </summary>
long Id { get; }
/// <summary>
/// The cerrent username of the user
/// </summary>
string DisplayName { get; }
/// <summary>
/// The current status of the user
/// </summary>
UserStatus Status { get; }
/// <summary>
/// will returen the picture type of the user
/// </summary>
PictureType PictureType { get; }
/// <summary>
/// Gets the current avatar of the user
/// </summary>
Task<Stream> GetAvatar(CancellationToken CancellationToken);
/// <summary>
/// Gets the current user keys
/// </summary>
/// <returns></returns>
Task<PublicKeyInfo[]> GetUserKeys(CancellationToken CancellationToken);
}