import type { string_book } from '../../agent-source/string_book';
import type { AgentModelRequirements } from './AgentModelRequirements';
/**
 * Creates agent model requirements using the new commitment system
 * This function uses a reduce-like pattern where each commitment applies its changes
 * to build the final requirements starting from a basic empty model
 *
 * @private
 */
export declare function createAgentModelRequirementsWithCommitments(agentSource: string_book, modelName?: string): Promise<AgentModelRequirements>;
/**
 * Cached version of createAgentModelRequirementsWithCommitments
 * This maintains the same caching behavior as the original function
 *
 * @private
 */
export declare function createAgentModelRequirementsWithCommitmentsCached(agentSource: string_book, modelName?: string): Promise<AgentModelRequirements>;
/**
 * Clears the cache for createAgentModelRequirementsWithCommitments
 *
 * @private
 */
export declare function clearAgentModelRequirementsWithCommitmentsCache(): void;
/**
 * Removes cache entries for a specific agent source
 *
 * @private
 */
export declare function invalidateAgentModelRequirementsWithCommitmentsCache(agentSource: string_book): void;
/**
 * Gets the current cache size
 *
 * @private
 */
export declare function getAgentModelRequirementsWithCommitmentsCacheSize(): number;
