/**
 * Factory options processing utilities
 *
 * Processes factory configuration and ensures it flows through to AI providers
 */
import type { GenerateOptions, StreamOptions, TextGenerationOptions, UnknownRecord, JsonValue, StandardRecord } from "../types/index.js";
/**
 * Process factory configuration from enhanced options (with caching)
 * Extracts and validates factory config for provider integration
 */
export declare function processFactoryOptions(options: GenerateOptions | StreamOptions): {
    hasFactoryConfig: boolean;
    domainType?: string;
    domainConfig?: StandardRecord;
    enhancementType?: string;
    processedContext?: Record<string, JsonValue>;
};
/**
 * Enhance TextGenerationOptions with factory configuration
 * Converts enhanced GenerateOptions/StreamOptions to internal format
 */
export declare function enhanceTextGenerationOptions(baseOptions: TextGenerationOptions, factoryResult: ReturnType<typeof processFactoryOptions>): TextGenerationOptions;
/**
 * Check if options require factory processing
 * Quick check to determine if factory enhancement is needed
 */
export declare function requiresFactoryProcessing(options: GenerateOptions | StreamOptions | UnknownRecord): boolean;
/**
 * Extract streaming configuration for factory processing
 * Handles streaming-specific factory enhancements
 */
export declare function processStreamingFactoryOptions(options: StreamOptions): {
    hasStreamingConfig: boolean;
    streamingEnabled?: boolean;
    enhancedConfig?: StreamOptions["streaming"];
};
/**
 * Convert enhanced StreamOptions back to clean StreamOptions
 * Strips factory configuration while preserving enhanced context
 */
export declare function createCleanStreamOptions(enhancedOptions: StreamOptions): StreamOptions;
/**
 * Validate factory configuration
 * Ensures factory config is valid before processing
 */
export declare function validateFactoryConfig(factoryConfig: GenerateOptions["factoryConfig"]): {
    isValid: boolean;
    errors: string[];
};
/**
 * Get factory processing cache statistics
 * Useful for monitoring cache performance and debugging
 */
export declare function getFactoryProcessingCacheStats(): {
    hits: number;
    misses: number;
    evictions: number;
    totalRequests: number;
    size: number;
    hitRate: number;
};
/**
 * Clear factory processing cache
 * Useful for testing or memory management
 */
export declare function clearFactoryProcessingCache(): void;
/**
 * Evict old entries from factory processing cache
 * Useful for periodic cleanup
 */
export declare function evictOldFactoryProcessingCache(maxAge?: number): number;
