use async_trait::async_trait;
use crate::option::OrgRepoListOptions;
use crate::types::org::OrgInfo;
use crate::types::repo::RepoInfo;
#[async_trait]
pub trait Org: Send + Sync {
async fn info(&self, org_name: &str) -> crate::Result<OrgInfo>;
async fn repo_list(
&self,
org_name: &str,
options: Option<OrgRepoListOptions>,
) -> crate::Result<Vec<RepoInfo>>;
async fn avatar_url(&self, org_name: &str) -> crate::Result<String>;
}