import { a as AiModelRecord, M as ModelListFilters, b as ModelListResult, e as ModelResolutionResult, h as OpenRouterModelApi } from '../types-B7BnnrsK.js'; export { A as AiModelPricing, O as OpenRouterArchitectureApi, i as OpenRouterModelsQuery, j as OpenRouterModelsResponse, k as OpenRouterOutputModality, l as OpenRouterPricingApi, n as OpenRouterTopProviderApi } from '../types-B7BnnrsK.js'; import { a as AiModelsCatalogClientOptions } from '../AiModelsCatalogClient-DBSadPkS.js'; import { R as ResolveModelVendorOptions, M as ModelVendorRef } from '../resolveModelVendor-Dbn4NCXq.js'; import '@x12i/ai-profiles'; type AiModelsServiceOptions = AiModelsCatalogClientOptions; /** * High-level model catalog API — list, filter, count, and get full model info. * Attribute filters are delegated to `@x12i/ai-profiles` {@link listAICatalogModels}. */ declare class AiModelsService { private readonly client; private readonly options; constructor(options?: AiModelsServiceOptions); getAllModels(): Promise>; private listSummaries; private filteredRecords; listModels(filters?: ModelListFilters): Promise; countModels(filters?: Omit): Promise; getModelInfo(modelIdOrAlias: string, provider?: string): Promise; resolve(modelIdOrAlias: string, provider?: string): Promise; resolveVendor(model: string, options?: ResolveModelVendorOptions): Promise; refresh(): Promise; } declare function getModelInfo(modelIdOrAlias: string, options?: AiModelsServiceOptions, provider?: string): Promise; /** * In-memory filter over already-loaded {@link AiModelRecord} rows. * * Prefer {@link listAICatalogModels} / {@link AiModelsService.listModels} for * catalog attribute filters (`provider`, `status`, modalities, tools, reasoning). * This helper remains for `supportedParameter`, pagination, and local maps. */ declare function filterModels(models: Iterable, filters?: ModelListFilters): AiModelRecord[]; declare function countModels(models: Iterable, filters?: Omit): number; declare function extractProviderId(modelId: string): string; declare function normalizeOpenRouterModel(row: OpenRouterModelApi, syncedAt: string): AiModelRecord; /** OpenRouter `supported_parameters` values that indicate reasoning API support. */ declare const REASONING_SUPPORTED_PARAMETERS: readonly ["reasoning", "include_reasoning"]; type ReasoningModelInput = Pick & { supportsReasoning?: boolean; }; /** * Whether the model accepts OpenRouter's `reasoning` request parameter * (effort, max_tokens, exclude, enabled). */ declare function supportsReasoningParameter(model: Pick): boolean; /** * Whether the model bills separate reasoning / thinking tokens * (`internal_reasoning` in OpenRouter pricing). */ declare function hasReasoningPricing(model: Pick): boolean; /** * Compute `supportsReasoning` from catalog fields (used when normalizing catalog entries). */ declare function computeSupportsReasoning(model: ReasoningModelInput): boolean; /** * True when the model supports reasoning tokens (API param and/or separate reasoning pricing). * * Prefer `model.supportsReasoning` on {@link AiModelRecord} after catalog load; * this helper also works when only partial fields are available. */ declare function isReasoningModel(model: ReasoningModelInput): boolean; export { AiModelRecord, AiModelsService, type AiModelsServiceOptions, ModelListFilters, ModelListResult, OpenRouterModelApi, REASONING_SUPPORTED_PARAMETERS, type ReasoningModelInput, computeSupportsReasoning, countModels, extractProviderId, filterModels, getModelInfo, hasReasoningPricing, isReasoningModel, normalizeOpenRouterModel, supportsReasoningParameter };