import type { AgentService } from '../../agent/service.js'; import type { GatewayAgentRunner } from '../service/agent-runner.js'; import { type EphemeralSideChatManager } from './manager.js'; import type { UserTurnAttachment } from '../user-turn-input.js'; export interface SideChatRunServiceOptions { manager: EphemeralSideChatManager; getAgentService: () => AgentService; agentRunner: GatewayAgentRunner; publishRealtime: (topic: string, event: string, data: unknown) => void; completeRealtimeTopic: (topic: string) => void; } export declare class SideChatRunService { private readonly options; private readonly activeBySideChat; constructor(options: SideChatRunServiceOptions); submit(sideChatId: string, clientInstanceId: string, input: { content: string; attachments?: UserTurnAttachment[]; }): { runId: string; }; abort(sideChatId: string, clientInstanceId: string, runId?: string): Promise; /** Disposal has already removed the transcript from the public manager. */ cancelRun(sideChatId: string, clientInstanceId: string, runId?: string): Promise; dispose(sideChatId: string, clientInstanceId: string): Promise; submitClarification(sideChatId: string, clientInstanceId: string, requestId: string, answer: string): boolean; private execute; }