use async_trait::async_trait;
use rskit_errors::AppResult;
#[async_trait]
pub trait TokenValidator<C>: Send + Sync {
async fn validate(&self, token: &str) -> AppResult<C>;
}
#[async_trait]
pub trait TokenGenerator<C>: Send + Sync {
async fn generate(&self, claims: &C) -> AppResult<String>;
}