export interface TagSuggestion {
  tag: string;
  confidence: number;
}

export interface TitleSuggestion {
  title: string;
  confidence: number;
}

export interface AIProvider {
  /**
   * Analyse le contenu et suggère des tags pertinents.
   */
  generateTags(content: string): Promise<TagSuggestion[]>;

  /**
   * Génère un vecteur d'embeddings pour la recherche sémantique.
   */
  getEmbeddings(text: string): Promise<number[]>;

  /**
   * Génère des suggestions de titres basées sur le contenu.
   */
  generateTitles(prompt: string): Promise<TitleSuggestion[]>;

  /**
   * Génère du texte basé sur un prompt.
   */
  generateText(prompt: string): Promise<string>;
}

export type AIProviderType = 'openai' | 'ollama';

export interface AIConfig {
  provider: AIProviderType;
  apiKey?: string;
  baseUrl?: string; // Utile pour Ollama
  model?: string;
  embeddingModel?: string;
}
