/**
 * Triple 추출용 LLM 프로바이더별 원시 텍스트 호출
 */
import type { GoogleGenerativeAI } from '@google/generative-ai';
import OpenAI from 'openai';
import type { IRetryManager } from '../../../../shared/interfaces/retry-manager.interface.js';
import type { TripleExtractionOptions } from '../../../../shared/types/triple-extraction.js';
export interface TripleLlmCallDeps {
    retryManager: IRetryManager;
    shouldRetry: (error: Error) => boolean;
    onTokenUsage: (provider: 'openai' | 'gemini' | 'ollama', promptTokens: number, completionTokens: number) => void;
    defaultTemperature: number;
    defaultMaxTokens: number;
}
export declare function extractRawWithOpenAI(openaiClient: OpenAI, deps: TripleLlmCallDeps, prompt: string, options: TripleExtractionOptions): Promise<string>;
export declare function extractRawWithGemini(geminiClient: GoogleGenerativeAI, deps: TripleLlmCallDeps, prompt: string, options: TripleExtractionOptions): Promise<string>;
export declare function extractRawWithOllama(deps: TripleLlmCallDeps, prompt: string, options: TripleExtractionOptions): Promise<string>;
export declare function checkOllamaModelInstalled(baseUrl: string, model: string): Promise<boolean>;
//# sourceMappingURL=triple-extraction-llm-providers.d.ts.map