import { createAnthropic } from '@ai-sdk/anthropic'; import { createOpenAI } from '@ai-sdk/openai'; import { ModelRouterLanguageModel } from '@mastra/core/llm'; import type { RequestContext } from '@mastra/core/request-context'; import { opencodeClaudeMaxProvider } from '../providers/claude-max.js'; import { githubCopilotProvider } from '../providers/github-copilot.js'; import { openaiCodexProvider } from '../providers/openai-codex.js'; import type { ThinkingLevel } from '../providers/openai-codex.js'; type ResolvedModel = ReturnType | ReturnType | ReturnType | ModelRouterLanguageModel | ReturnType> | ReturnType>; export declare function remapOpenAIModelForCodexOAuth(modelId: string): string; /** * Resolve the Anthropic API key. * Main slot → dedicated apikey: slot → env var. */ export declare function getAnthropicApiKey(): string | undefined; /** * Resolve the OpenAI API key. * Main slot → dedicated apikey: slot → env var. */ export declare function getOpenAIApiKey(): string | undefined; /** * Resolve a model ID to the correct provider instance. * Shared by the main agent, observer, and reflector. * * - For anthropic/* models: Uses stored OAuth credentials when present, otherwise direct API key * - For openai/* models: Uses OAuth when configured, otherwise direct API key from AuthStorage * - For moonshotai/* models: Uses Moonshot AI Anthropic-compatible endpoint * - For all other providers: Uses Mastra's model router (models.dev gateway) */ export declare function resolveModel(modelId: string, options?: { thinkingLevel?: ThinkingLevel; remapForCodexOAuth?: boolean; requestContext?: RequestContext; }): ResolvedModel; /** * Dynamic model function that reads the current model from harness state. * This allows runtime model switching via the /models picker. */ export declare function getDynamicModel({ requestContext }: { requestContext: RequestContext; }): ResolvedModel; export {}; //# sourceMappingURL=model.d.ts.map