use crate::error::Result;
use crate::v2::model::mode::enums::mode::Mode;
use crate::v2::model::ranking::enums::ranking_type::RankingType;
use crate::v2::model::ranking::structs::rankings::{KudosuRankings, Rankings};
use crate::v2::model::ranking::structs::spotlights::Spotlights;
pub trait IRanking {
fn get_kudosu_ranking(
&self,
page: Option<u32>,
) -> impl std::future::Future<Output = Result<KudosuRankings>>;
#[allow(clippy::too_many_arguments)]
fn get_ranking(
&self,
mode: Mode,
ranking_type: RankingType,
country: Option<String>,
cursor_string: Option<String>,
filter: Option<String>,
spotlight: Option<String>,
variant: Option<String>,
) -> impl std::future::Future<Output = Result<Rankings>>;
fn get_spotlights(&self) -> impl std::future::Future<Output = Result<Spotlights>>;
}