import type OpenAI from 'openai';
import type { AvailableModel } from '../../execution/AvailableModel';
import type { string_model_name } from '../../types/string_model_name';
import type { string_markdown_text } from '../../types/string_markdown';
import type { string_title } from '../../types/string_title';
/**
 * Dependencies required to resolve OpenAI-compatible models.
 */
type OpenAiCompatibleModelCatalogOptions = {
    readonly getTitle: () => string_title & string_markdown_text;
    readonly getClient: () => Promise<OpenAI>;
    readonly getHardcodedModels: () => ReadonlyArray<AvailableModel>;
};
/**
 * Resolves model lists and default-model lookup for OpenAI-compatible execution tools.
 *
 * @private helper of `OpenAiCompatibleExecutionTools`
 */
export declare class OpenAiCompatibleModelCatalog {
    private readonly options;
    constructor(options: OpenAiCompatibleModelCatalogOptions);
    /**
     * Lists available models by merging the live API list with hardcoded metadata when possible.
     */
    listModels(): Promise<ReadonlyArray<AvailableModel>>;
    /**
     * Resolves one default model by exact or family-prefix name.
     */
    getDefaultModel(defaultModelName: string_model_name): AvailableModel;
}
export {};
