import { Logger } from 'pino'; import { LLMProviderManager } from '../core/llm-provider.js'; import { LLMTransformInput, LLMTransformOutput } from '../types/llm.js'; import { ErrorResponse } from '../types/index.js'; import { Config } from '../utils/config.js'; export declare class LLMTools { private llmManager; private logger; private config?; private ajv; private llmLogger; constructor(llmManager: LLMProviderManager, logger: Logger, config?: { autoPreprocess?: boolean; preprocessing?: { enabled?: boolean; intelligentMode?: boolean; fallbackToTemplates?: boolean; thresholds?: { html?: number; text?: number; json?: number; }; preferredModels?: string[]; analysis?: { maxContentSample?: number; maxAnalysisTokens?: number; analysisTemperature?: number; }; }; logging?: Config["logging"]; } | undefined); transform(params: LLMTransformInput): Promise; private buildUserPrompt; private parseAndValidateResult; private extractPotentialJson; private buildPreprocessPrompt; private getLocalModel; private isModelAvailable; private shouldAutoPreprocess; /** * Checks if JSON array has inconsistent structure between items */ private hasInconsistentJsonStructure; /** * Checks if object has deep nesting beyond specified depth */ private hasDeepNesting; /** * Generates intelligent preprocessing requests using local LLM analysis */ private generateIntelligentPreprocessRequest; /** * Creates content analysis prompt for intelligent preprocessing */ private createContentAnalysisPrompt; /** * Parses LLM analysis response into actionable preprocessing request */ private parseAnalysisToPreprocessRequest; /** * Fallback template-based preprocessing request generation */ private getTemplateBasedPreprocessRequest; /** * Returns preprocessing templates for different scenarios */ private getPreprocessingTemplates; /** * Gets a sample of content for analysis (to avoid token limits) */ private getContentSample; /** * Estimates token cost savings from preprocessing */ private estimateTokenCostSavings; /** * Gets current LLM performance metrics */ getLLMMetrics(): import("../utils/llm-logger.js").LLMPerformanceMetrics; /** * Logs final performance summary (useful for cleanup/shutdown) */ logFinalPerformanceSummary(): void; } //# sourceMappingURL=llm.d.ts.map