export type ModelProvider = 'openai' | 'anthropic' | 'ollama' | 'openrouter' | 'gemini' | 'minimax' | 'local';
export interface ModelConfig {
    provider: ModelProvider;
    apiKey?: string;
    baseUrl?: string;
    model: string;
}
export interface ChatMessage {
    role: 'system' | 'user' | 'assistant';
    content: string;
}
export interface ChatResult {
    reply: string;
}
export interface SummarizeResult {
    summary: string;
    qualityScore: number;
}
export interface GenerateOptions {
    messages: ChatMessage[];
    temperature?: number;
    maxTokens?: number;
}
export declare class PiAIModel {
    private config;
    private provider;
    constructor(config: ModelConfig);
    chat(message: string, context?: string): Promise<ChatResult>;
    summarize(text: string, context?: string): Promise<SummarizeResult>;
    improveContent(content: string, requirements: string, context?: string): Promise<string>;
    private generateText;
    private getApiKey;
    private getEnvApiKey;
    private getBaseUrl;
    private mapModel;
    private callOpenAI;
    private callAnthropic;
    private callOllama;
    private callOpenRouter;
    private callGemini;
    private callLocal;
    private buildSystemPrompt;
    private getEnvironmentDetails;
    private buildSummarizePrompt;
    private buildImprovePrompt;
    estimateQuality(original: string, summary: string): number;
    shouldAutoSend(qualityScore: number, threshold?: number): Promise<boolean>;
}
export interface PiAIConfig {
    provider?: ModelProvider;
    apiKey?: string;
    baseUrl?: string;
    model?: string;
}
export declare function initPiAI(config?: PiAIConfig): PiAIModel;
export declare function getModel(): PiAIModel;
export declare function isModelAvailable(): boolean;
export declare function getMinimax(): PiAIModel;
export declare function initMinimax(config?: PiAIConfig): PiAIModel;
export { PiAIModel as MinimaxLLM };
