use serde::{Deserialize, Serialize};
use crate::gateway::ConfiguredPlugin;
#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
pub struct Provider {
pub name: String,
pub api_url: String,
pub api_key: Option<String>,
pub weight: u32,
pub target_model_name: Option<String>,
pub plugins: Option<ConfiguredPlugin>,
pub token_usage_config: Option<TokenUsageConfig>,
}
#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize, Default)]
pub struct TokenUsageConfig {
pub prompt_tokens: Option<String>,
pub completion_tokens: Option<String>,
pub total_tokens: Option<String>,
}