import type Anthropic from '@anthropic-ai/sdk'; import type { ContentBlockParam, MessageParam } from '@anthropic-ai/sdk/resources'; import type { ProviderModelInfo, ProviderUserTurn } from '../../provider.js'; import type { ToolDispatcher } from './tool-dispatcher.js'; import type { AnthropicToolDef, AuthMode } from './types.js'; import type { HookRegistry } from '../../hooks.js'; export interface AnthropicDirectQueryOptions { client: Anthropic; authMode: AuthMode; promptStream: AsyncIterable; toolDispatcher: ToolDispatcher; sessionId?: string; initialMessages?: MessageParam[]; initialUsageInputTokens?: number; model: string; requestedModel?: string; permissionMode?: string; maxTokens: number; tools: AnthropicToolDef[] | null; userSystem: string | null; systemPrefix: ContentBlockParam[] | null; tokenRefresher?: () => Promise; thinking?: import('@anthropic-ai/sdk/resources').ThinkingConfigParam; effort?: import('../../types/sdk-types.js').EffortLevel; temperature?: number; baseUrl?: string; maxToolUseIterations?: number; softDeadlineMs?: number; traceWriter?: import('../../trace/index.js').TraceSink; subagentId?: string; autoResumeOnUsageLimit?: boolean; surface?: string; cwdDependentsFactory?: (cwd: string) => { userSystem: string; dispatcher: ToolDispatcher; }; systemPromptRebuildFactory?: (basePrompt: string | undefined) => string; onPermissionMode?: (mode: string) => void; mcpManager?: import('../../mcp/index.js').McpManager; autoCompactThreshold?: number; hookRegistry?: HookRegistry; throttleQueue?: import('./throttle-queue.js').ThrottleQueue; fastModeController?: import('../../fast-mode.js').FastModeController; beforeNextRound?: () => string | undefined; } export declare function starterModels(): ProviderModelInfo[];