
import { Observable } from "rxjs";
import { AbstractAgent, BaseEvent, Message, RunAgentInput } from "@ag-ui/client";

//#region src/v2/runtime/runner/agent-runner.d.ts
interface AgentRunnerRunRequest {
  threadId: string;
  agent: AbstractAgent;
  input: RunAgentInput;
  joinCode?: string;
  persistedInputMessages?: Message[];
}
interface AgentRunnerConnectRequest {
  threadId: string;
  headers?: Record<string, string>;
  joinCode?: string;
}
interface AgentRunnerIsRunningRequest {
  threadId: string;
}
interface AgentRunnerStopRequest {
  threadId: string;
}
declare abstract class AgentRunner {
  abstract run(request: AgentRunnerRunRequest): Observable<BaseEvent>;
  abstract connect(request: AgentRunnerConnectRequest): Observable<BaseEvent>;
  abstract isRunning(request: AgentRunnerIsRunningRequest): Promise<boolean>;
  abstract stop(request: AgentRunnerStopRequest): Promise<boolean | undefined>;
}
//#endregion
export { AgentRunner, AgentRunnerConnectRequest, AgentRunnerIsRunningRequest, AgentRunnerRunRequest, AgentRunnerStopRequest };
//# sourceMappingURL=agent-runner.d.cts.map