using System.Collections.Generic; using System.Net.Http; using System.Text.Json.Serialization.Metadata; using System.Threading; using System.Threading.Tasks; using Luski.net.JsonTypes.BaseTypes; using Luski.net.Structures; using Luski.net.Structures.Public; using Luski.Shared.PublicServers.V1.ServerToClient.HTTP; namespace Luski.net.Interfaces; public interface IServer { public IAppUser IAppUser { get; } public string Cache { get; } public void SendServer(Tvalue Payload, JsonTypeInfo jsonTypeInfo) where Tvalue : IncomingWSS; public HttpResponseMessage GetFromServer(string Path, CancellationToken CancellationToken, params KeyValuePair[] Headers); public Task GetFromServer(string Path, string File, CancellationToken CancellationToken, params KeyValuePair[] Headers); public Task GetFromServer(string Path, JsonTypeInfo Type, CancellationToken CancellationToken, params KeyValuePair[] Headers) where Tresult : STC, new(); public Task SendServer(string Path, Tvalue Payload, JsonTypeInfo jsonTypeInfo, JsonTypeInfo ReturnjsonTypeInfo, CancellationToken CancellationToken, params KeyValuePair[] Headers) where Tvalue : IWebRequest where Tresult : STC, new(); public Task SendServer(string Path, string File, JsonTypeInfo ReturnjsonTypeInfo, CancellationToken CancellationToken, params KeyValuePair[] Headers) where Tresult : STC, new(); }