use crate::error::Result;
use crate::v1::model::best::{BestScore, GetUserBestParams};
use crate::v1::model::recent::{GetUserRecentParams, RecentPlay};
use crate::v1::model::user::{GetUserParams, User};
pub trait IUser {
fn get_user(
&self,
params: GetUserParams,
) -> impl std::future::Future<Output = Result<Vec<User>>>;
fn get_user_best(
&self,
params: GetUserBestParams,
) -> impl std::future::Future<Output = Result<Vec<BestScore>>>;
fn get_user_recent(
&self,
params: GetUserRecentParams,
) -> impl std::future::Future<Output = Result<Vec<RecentPlay>>>;
}