import type { AvailableModel } from '../../execution/AvailableModel';
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
/**
 * Creates a wrapper around LlmExecutionTools that only exposes models matching the filter function
 *
 * @param llmTools The original LLM execution tools to wrap
 * @param predicate Function that determines whether a model should be included
 * @returns A new LlmExecutionTools instance with filtered models
 *
 * @public exported from `@promptbook/core`
 */
export declare function filterModels<TLlmTools extends LlmExecutionTools>(llmTools: TLlmTools, predicate: (model: AvailableModel) => boolean): TLlmTools;
