/**
 * Base processor for common functionality across AI processors
 * Enhanced with tailored prompt engineering capabilities
 */
import { EnhancedGenerationOptions } from "../EnhancedAIProcessor.js";
import { ChatMessage } from "../types.js";
import { FewShotConfig } from "../few-shot-config.js";
export declare abstract class BaseAIProcessor {
    /**
     * Enhanced AI call with tailored prompts
     */
    protected handleEnhancedAICall(documentType: string, projectContext: string, options?: EnhancedGenerationOptions): Promise<string | null>;
    /**
     * Legacy AI call for backward compatibility
     */
    protected handleAICall(operation: () => Promise<string | null>, operationName: string, cacheKey?: string): Promise<string | null>;
    /**
     * Create standard messages (legacy method)
     */
    protected createStandardMessages(systemPrompt: string, userPrompt: string): ChatMessage[];
    /**
     * Try enhanced generation first, fallback to legacy if needed
     */
    protected handleAICallWithFallback(documentType: string, projectContext: string, legacyOperation: () => Promise<string | null>, operationName: string, options?: EnhancedGenerationOptions): Promise<string | null>;
    /**
     * Create enhanced messages with few-shot learning examples
     * @param systemPrompt Base system prompt
     * @param userPrompt User prompt with context
     * @param documentType Type of document for few-shot examples
     * @param tokenLimit Token limit for the AI call
     * @param config Few-shot learning configuration
     * @returns Array of chat messages including few-shot examples
     */
    protected createEnhancedMessages(systemPrompt: string, userPrompt: string, documentType: string, tokenLimit?: number, config?: Partial<FewShotConfig>): ChatMessage[];
    /**
     * Select random examples from the available examples
     * @param examples Available examples
     * @param count Number of examples to select
     * @returns Randomly selected examples
     */
    private selectRandomExamples;
    /**
     * Create PMBOK-specific enhanced messages with domain expertise
     * @param documentType Type of PMBOK document
     * @param context Project context
     * @param additionalContext Additional context items
     * @param tokenLimit Token limit for the AI call
     * @param config Few-shot learning configuration
     * @returns Enhanced chat messages with few-shot examples
     */
    protected createPMBOKMessages(documentType: string, context: string, additionalContext?: string[], tokenLimit?: number, config?: Partial<FewShotConfig>): ChatMessage[];
}
//# sourceMappingURL=BaseAIProcessor.d.ts.map