use serde::{Deserialize, Serialize};
use schemars::JsonSchema;
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "auth.GetCreditsResponse")]
pub struct GetCreditsResponse {
#[serde(deserialize_with = "crate::serde_util::decimal")]
#[schemars(with = "f64")]
pub credits: rust_decimal::Decimal,
#[serde(deserialize_with = "crate::serde_util::decimal")]
#[schemars(with = "f64")]
pub total_credits_purchased: rust_decimal::Decimal,
#[serde(deserialize_with = "crate::serde_util::decimal")]
#[schemars(with = "f64")]
pub total_credits_used: rust_decimal::Decimal,
}
pub type CreateApiKeyResponse = super::ApiKeyWithMetadata;
pub type DisableApiKeyResponse = super::ApiKeyWithMetadata;
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "auth.ListApiKeyResponse")]
pub struct ListApiKeyResponse {
pub data: Vec<ListApiKeyItem>,
}
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "auth.ListApiKeyItem")]
pub struct ListApiKeyItem {
#[serde(flatten)]
pub inner: super::ApiKeyWithMetadata,
#[serde(deserialize_with = "crate::serde_util::decimal")]
#[schemars(with = "f64")]
pub cost: rust_decimal::Decimal,
}
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "auth.GetOpenRouterByokApiKeyResponse")]
pub struct GetOpenRouterByokApiKeyResponse {
pub api_key: Option<String>,
}
pub type CreateOpenRouterByokApiKeyResponse = GetOpenRouterByokApiKeyResponse;