using Leanetec.EConnect.Domain.Entities;

namespace Leanetec.EConnect.Client.Interface;

public interface IEConnectClient<TError> where TError : class
{
    public Task<Response<TData, TError>> GetAsync<TData>(string? route = null, object? queryParams = null, CancellationToken cancel = default) where TData : class;

    public Task<Response<IAsyncEnumerable<TData?>, TError>> GetListAsAsyncEnumerable<TData>(string? route = null, object? queryParams = null, CancellationToken cancel = default)
        where TData : class;
}