import type { ProviderId, ReasoningEffort, ReasoningPreference } from "../types.js"; import type { ToolCallingMode } from "./tool-protocol.js"; import { type CatalogFacts } from "./catalog-facts.js"; import { learnedRouteRejectedFields } from "./learned-capabilities.js"; import { registerModelVisionCapability } from "./capability/vision-registry.js"; import { resolveToolDialect } from "./capability/tool-dialect.js"; export { resolveToolDialect }; export { clearLearnedVisionCapabilities, clearModelVisionCapabilities, learnModelVisionCapability, modelAcceptsImages, modelSupportsVision, modelVisionSupport, preferredVisionModel, visionCapabilitySource, visionEvidence, visionSubstitutionOrigin, warnOnUnknownProviderId, } from "./capability/vision-registry.js"; export { registerModelVisionCapability }; export { reloadLearnedCapabilities, resetReasoningKnowledge, } from "./capability/state.js"; export declare function markReasoningUnsupported(provider: ProviderId, model: string): void; export declare function registerRouteControlDialect(provider: ProviderId, model: string, dialect: string): void; export declare function isReasoningUnsupported(provider: ProviderId, model: string): boolean; export declare function clearReasoningUnsupported(): void; export declare function effectiveThinkingEffort(provider: ProviderId, model: string, thinking: ReasoningPreference | undefined): ReasoningEffort | undefined; export declare function registerRouteAcceptedEfforts(provider: ProviderId, model: string, efforts: readonly string[]): void; export declare function registerWireRejectionEfforts(provider: ProviderId, model: string, efforts: readonly string[]): void; export declare function learnRejectedEffort(provider: ProviderId, model: string, effort: ReasoningEffort): void; export declare function markReasoningMandatory(provider: ProviderId, model: string): void; export declare function routeReasoningIsMandatory(provider: ProviderId, model: string): boolean; export declare function learnedRouteEfforts(provider: ProviderId, model: string): readonly string[] | undefined; export declare function clearReasoningRejection(provider: ProviderId, model: string): void; export declare function registerModelReasoningSupport(provider: ProviderId, model: string, supported: boolean): void; export declare function learnModelEmitsReasoning(provider: ProviderId, model: string): void; export type ReasoningEvidence = "rejected" | "observed" | "catalog" | "pattern" | "family" | "endpoint" | "unknown"; export declare function modelReasoningEvidence(provider: ProviderId, model: string): ReasoningEvidence; export declare function modelSupportsThinking(provider: ProviderId, model: string): boolean; export declare function displayReasoningEfforts(provider: ProviderId, model: string): readonly string[] | undefined; export declare function registerProviderModels(provider: ProviderId, models: readonly string[]): void; export interface CatalogModel { readonly id: string; readonly vision?: boolean | undefined; readonly reasoning?: boolean | undefined; readonly reasoningEfforts?: readonly string[] | undefined; readonly facts?: CatalogFacts | undefined; } export declare function registerModelCatalogFacts(provider: ProviderId, facts: CatalogFacts): void; export declare function modelCatalogFacts(provider: ProviderId | string, model: string): CatalogFacts | undefined; export declare function clearModelCatalogFacts(): void; export declare function registerModelReasoningEfforts(provider: ProviderId, model: string, efforts: readonly string[]): void; export declare function catalogAdvertisedEfforts(provider: ProviderId, model: string): readonly string[] | undefined; export declare function modelReasoningEfforts(provider: ProviderId, model: string): readonly string[] | undefined; export declare function modelReasoningIsMandatory(model: string): boolean; export declare function clearModelReasoningEfforts(): void; export declare function registerModelCatalog(provider: ProviderId, models: readonly CatalogModel[]): void; export declare function providerModelIsKnown(provider: ProviderId, model: string): boolean | undefined; export declare function markModelUnavailable(provider: ProviderId, model: string): void; export declare function isModelUnavailable(provider: ProviderId, model: string): boolean; export declare function recordVisionSubstitution(provider: ProviderId, substitute: string, original: string): void; export declare function clearProviderModelKnowledge(): void; export declare function learnRouteReasoningSupport(provider: ProviderId, model: string, reasoning: boolean): void; export declare function learnRouteAcceptedEfforts(provider: ProviderId, model: string, acceptedEfforts: readonly string[]): void; export declare function learnRouteLimits(provider: ProviderId, model: string, limits: { contextTokens?: number | undefined; maxOutputTokens?: number | undefined; }): void; export declare function learnRouteRejectedField(provider: ProviderId, model: string, field: string): void; export declare function clearLearnedRouteCapabilities(): void; export { learnedRouteRejectedFields }; export type VisionSupport = "yes" | "no" | "unknown"; export type VisionEvidence = "observed" | "pattern" | "none"; export declare function modelSupportsNativeTools(provider: ProviderId, model: string, toolCalling?: ToolCallingMode): boolean;