import type { ConversationKind } from "../adapter.js"; import type { CommandHandler, CommandServices } from "../commands/types.js"; export type { ConversationRuntimeState, RunSessionOptions } from "./types.js"; import type { ConversationRuntimeState, RunSessionOptions } from "./types.js"; interface AgentRunControllerOptions { workingDir: string; commandHandlers: readonly CommandHandler[]; commandServices: CommandServices; isShuttingDown: () => boolean; getState: (sessionKey: string) => ConversationRuntimeState | undefined; getOrCreateState: (options: { conversationId: string; sessionKey: string; currentMessageId?: string; conversationKind?: ConversationKind; }) => Promise; hasMaterializedSession: (options: { conversationDir: string; sessionKey: string; }) => boolean; beforeRunTracked: (runPromise: Promise) => void; afterRunTracked: (runPromise: Promise) => void; onRunFinished: () => void; } export declare class AgentRunController { private readonly options; constructor(options: AgentRunControllerOptions); runSession({ event, bot, context }: RunSessionOptions): Promise; private runWithInstrumentation; } //# sourceMappingURL=agent-run-controller.d.ts.map