/** * 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; }; /** * Enhance TextGenerationOptions with factory configuration * Converts enhanced GenerateOptions/StreamOptions to internal format */ export declare function enhanceTextGenerationOptions(baseOptions: TextGenerationOptions, factoryResult: ReturnType): 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;