/**
 * Configuration for Few-Shot Learning System
 *
 * This module provides configuration options for the few-shot learning
 * system to control how examples are selected and used in AI prompts.
 *
 * @version 1.0.0
 * @author Requirements Gathering Agent Team
 * @created 2024
 */
export interface FewShotConfig {
    /** Maximum number of examples to include in prompts */
    maxExamples: number;
    /** Whether to enable few-shot learning */
    enabled: boolean;
    /** Token budget reserved for examples (out of total token limit) */
    exampleTokenBudget: number;
    /** Minimum token limit required to include examples */
    minTokenLimitForExamples: number;
    /** Whether to randomly select examples or use first N */
    randomSelection: boolean;
    /** Document types that should always use few-shot learning */
    priorityDocumentTypes: string[];
    /** Document types that should never use few-shot learning */
    excludedDocumentTypes: string[];
}
/**
 * Default configuration for few-shot learning
 */
export declare const DEFAULT_FEW_SHOT_CONFIG: FewShotConfig;
/**
 * Configuration for different project sizes
 */
export declare const PROJECT_SIZE_CONFIGS: Record<string, Partial<FewShotConfig>>;
/**
 * Get configuration based on project context
 */
export declare function getFewShotConfig(projectSize?: string, customConfig?: Partial<FewShotConfig>): FewShotConfig;
/**
 * Determine if few-shot learning should be used for a document type
 */
export declare function shouldUseFewShotLearning(documentType: string, tokenLimit: number, config?: FewShotConfig): boolean;
/**
 * Calculate optimal number of examples based on token budget
 */
export declare function calculateOptimalExampleCount(tokenLimit: number, averageExampleTokens?: number, config?: FewShotConfig): number;
//# sourceMappingURL=few-shot-config.d.ts.map