// interfaces/ai-provider.interface.ts
import {Context} from "telegraf";

export interface AIMessage {
    role: 'system' | 'user' | 'assistant';
    content: string;
}

export interface AICompletionOptions {
    model?: string;
    temperature?: number;
    maxTokens?: number;
}

export interface AICompletionResult {
    content: string;
    tokensUsed: number;
    model: string;
}

export interface IAIProvider {
    readonly name: string;
    complete(messages: AIMessage[], options?: AICompletionOptions): Promise<AICompletionResult>;
}
export interface IAIGrokProvider extends IAIProvider {
    enrichXContext(topic: string): Promise<string>
}
