import type { Api, Model } from "@mariozechner/pi-ai"; import { type AuthStorage, type ModelRegistry } from "@mariozechner/pi-coding-agent"; import type { OpenClawConfig } from "../../config/types.openclaw.js"; import { applyProviderResolvedModelCompatWithPlugins, applyProviderResolvedTransportWithPlugin, buildProviderUnknownModelHintWithPlugin, normalizeProviderTransportWithPlugin, prepareProviderDynamicModel, runProviderDynamicModel, normalizeProviderResolvedModelWithPlugin, shouldPreferProviderRuntimeResolvedModel } from "../../plugins/provider-runtime.js"; import { buildModelAliasLines } from "../model-alias-lines.js"; import { buildInlineProviderModels } from "./model.inline-provider.js"; type ProviderRuntimeHooks = { applyProviderResolvedModelCompatWithPlugins?: (params: Parameters[0]) => unknown; applyProviderResolvedTransportWithPlugin?: (params: Parameters[0]) => unknown; buildProviderUnknownModelHintWithPlugin: (params: Parameters[0]) => string | undefined; prepareProviderDynamicModel: (params: Parameters[0]) => Promise; runProviderDynamicModel: (params: Parameters[0]) => unknown; shouldPreferProviderRuntimeResolvedModel?: (params: Parameters[0]) => boolean; normalizeProviderResolvedModelWithPlugin: (params: Parameters[0]) => unknown; normalizeProviderTransportWithPlugin: (params: Parameters[0]) => unknown; }; export { buildModelAliasLines, buildInlineProviderModels }; export declare function resolveModelWithRegistry(params: { provider: string; modelId: string; modelRegistry: ModelRegistry; cfg?: OpenClawConfig; agentDir?: string; runtimeHooks?: ProviderRuntimeHooks; }): Model | undefined; export declare function resolveModel(provider: string, modelId: string, agentDir?: string, cfg?: OpenClawConfig, options?: { authStorage?: AuthStorage; modelRegistry?: ModelRegistry; runtimeHooks?: ProviderRuntimeHooks; skipProviderRuntimeHooks?: boolean; }): { model?: Model; error?: string; authStorage: AuthStorage; modelRegistry: ModelRegistry; }; export declare function resolveModelAsync(provider: string, modelId: string, agentDir?: string, cfg?: OpenClawConfig, options?: { authStorage?: AuthStorage; modelRegistry?: ModelRegistry; retryTransientProviderRuntimeMiss?: boolean; runtimeHooks?: ProviderRuntimeHooks; skipProviderRuntimeHooks?: boolean; skipPiDiscovery?: boolean; }): Promise<{ model?: Model; error?: string; authStorage: AuthStorage; modelRegistry: ModelRegistry; }>;