import { AIClient, AIProcessOptions } from '../../domain/interfaces.js';
import { ToolType } from '../../domain/types.js';
/**
 * Base client for interacting with LLM through OpenAI-compatible API
 */
export declare class OpenAIClient implements AIClient {
    private model;
    private modelName?;
    private apiEndpoint?;
    private toolName?;
    /**
     * OpenAI client constructor
     */
    constructor(toolName?: ToolType);
    /**
     * Initialize OpenAI client with appropriate keys and settings
     */
    private initialize;
    /**
     * Process content through LLM
     */
    process(systemPrompt: string, userContent: string, options?: AIProcessOptions): Promise<string>;
    /**
     * Check if client is initialized
     */
    isInitialized(): boolean;
    /**
     * Get model name being used
     */
    getModelName(): string | undefined;
    /**
     * Get provider name
     */
    getProviderName(): string;
}
/**
 * Factory for creating LLM clients according to tool
 */
export declare class LLMClientFactory {
    private static instances;
    /**
     * Get client for specific tool
     */
    static getClient(toolName?: ToolType): AIClient;
}
