import type { CanUseTool } from '../../types/sdk-types.js'; import type { SessionToolDispatcher } from '../../tools/dispatcher.js'; import type { ToolDispatcher } from './tool-dispatcher.js'; import type { SkillExecutor } from '../../tools/skill-executor.js'; import type { AnthropicClientFactory } from './provider-options.js'; import type { BuildDispatcherOptions } from './build-dispatcher.js'; export interface ProviderQueryContext { readonly externalTools: ToolDispatcher | undefined; readonly providerFactory: AnthropicClientFactory | undefined; readonly skillExecutor: SkillExecutor | undefined; readonly subagentExecutor: import('../../tools/subagent-executor.js').SubagentExecutor | undefined; readonly composeExecutor: import('../../tools/compose-executor.js').ComposeExecutor | undefined; readonly canUseTool: CanUseTool | undefined; readonly surface: string; readonly declaredSurface: string | undefined; readonly readOnlyMemory: boolean; readonly workspaceStore: import('../../workspace/workspace-store.js').WorkspaceStore | undefined; readonly mcpManager: import('../../mcp/index.js').McpManager | undefined; readonly fastModeController: import('../../fast-mode.js').FastModeController | undefined; getSharedReadRoots(): string[] | undefined; getSharedWriteRoots(): string[] | undefined; getCurrentCwd(): string | undefined; setCurrentCwd(cwd: string | undefined): void; getCurrentPermissionMode(): string; setCurrentPermissionMode(mode: string): void; getMintedSessionId(): string | null; setMintedSessionId(v: string | null): void; getPresenceSessionId(): string | null; setPresenceSessionId(v: string | null): void; ensureSharedRoots(cwd?: string): void; buildDispatcher(permissionMode: string, opts?: BuildDispatcherOptions): SessionToolDispatcher; }