use super::{
AiOptimizationApiLlmResponses, AiOptimizationApiLlmScraper,
AiOptimizationApiPerplexityLlmResponses,
};
use crate::DataForSeoClient;
pub struct AiOptimizationApiChatGpt<'a> {
pub(crate) client: &'a DataForSeoClient,
}
impl AiOptimizationApiChatGpt<'_> {
pub fn llm_responses(&self) -> AiOptimizationApiLlmResponses<'_> {
AiOptimizationApiLlmResponses {
client: self.client,
provider: "chat_gpt",
}
}
pub fn llm_scraper(&self) -> AiOptimizationApiLlmScraper<'_> {
AiOptimizationApiLlmScraper {
client: self.client,
provider: "chat_gpt",
}
}
}
pub struct AiOptimizationApiClaude<'a> {
pub(crate) client: &'a DataForSeoClient,
}
impl AiOptimizationApiClaude<'_> {
pub fn llm_responses(&self) -> AiOptimizationApiLlmResponses<'_> {
AiOptimizationApiLlmResponses {
client: self.client,
provider: "claude",
}
}
}
pub struct AiOptimizationApiGemini<'a> {
pub(crate) client: &'a DataForSeoClient,
}
impl AiOptimizationApiGemini<'_> {
pub fn llm_responses(&self) -> AiOptimizationApiLlmResponses<'_> {
AiOptimizationApiLlmResponses {
client: self.client,
provider: "gemini",
}
}
pub fn llm_scraper(&self) -> AiOptimizationApiLlmScraper<'_> {
AiOptimizationApiLlmScraper {
client: self.client,
provider: "gemini",
}
}
}
pub struct AiOptimizationApiPerplexity<'a> {
pub(crate) client: &'a DataForSeoClient,
}
impl AiOptimizationApiPerplexity<'_> {
pub fn llm_responses(&self) -> AiOptimizationApiPerplexityLlmResponses<'_> {
AiOptimizationApiPerplexityLlmResponses {
client: self.client,
}
}
}