import type { TurnOrigin } from '@xopcai/endpoint-tools-protocol'; import type { CommandHandler } from '../messaging/command-handler.js'; import type { AgentInstanceGateway } from '../agent-instance-gateway.js'; import type { ModelManager } from '../models/index.js'; import type { SessionStore } from '../../session/index.js'; import type { Config } from '../../config/schema.js'; import type { ProcessDirectStreamLog } from './process-direct-streaming.js'; import type { InboundAttachmentInput, MediaRef } from '../../channels/attachments/inbound-persist.js'; export type RunProcessDirectDeps = { log: ProcessDirectStreamLog; config: Config; resolveSessionEndpoint: (sessionKey: string) => Promise<{ channel: string; chatId: string; }>; initSessionContext: (sessionKey: string, channel: string, chatId: string, origin: TurnOrigin) => void; hydrateSessionWorkspaceFromStore: (sessionKey: string) => Promise; hydrateSessionModelFromStore: (sessionKey: string) => Promise; agentManager: AgentInstanceGateway; sessionStore: SessionStore; modelManager: ModelManager; applyResolvedThinkingLevel: (sessionKey: string, thinking?: string | null) => Promise; prepareInboundAttachments: (sessionKey: string, attachments?: InboundAttachmentInput[]) => Promise; commandHandler: Pick; onTurnComplete?: (sessionKey: string, lastAssistantText?: string) => void; endDirectRequestContext: () => void; resetSession: (sessionKey: string) => Promise<{ sessionId: string; previousSessionId: string; } | null>; }; export declare function runProcessDirect(deps: RunProcessDirectDeps, input: { content: string; sessionKey: string; origin: TurnOrigin; attachments?: InboundAttachmentInput[]; thinking?: string; signal?: AbortSignal; runId?: string; deadlineAtMs?: number; }): Promise;