import { OrchestratorEvent } from './orchestratorEvents'; import { AgentWithContext } from '../registry/agentRegistry'; import { default as View } from '@arcgis/core/views/View.js'; /** Orchestrator initialization dependencies. */ type Deps = { /** Optional map view enabling map-dependent services. */ view?: View; /** Optional agents to register at init. */ agents?: AgentWithContext[]; }; /** * Orchestrator * * Coordinates chat-in / events-out workflows on top of LangGraph. * - Accepts user input via `ask()` * - Streams structured events (`trace`, `interrupt`, `completed`, `cancelled`) * - Manages HITL (human-in-the-loop) flows and cancellation * * Intended as the main entrypoint for the UX layer. */ export declare class Orchestrator { private orchestratorReady; private embeddingsWorker?; private graph?; private chatHistory; private threadId; private agentRegistry; private layersAndFieldsRegistry?; private interruptHandler?; private currentInterrupt?; private streamEpoch; private constructor(); /** * Creates and returns an AI-ready Orchestrator instance. * @param deps Core dependencies (layer/field registry plus optional map views). * @returns Ready Orchestrator. */ static init(deps: Deps): Promise; /** * Run a new chat turn through the graph. * Yields structured events for the UI to consume: * - `trace`: intermediate model output * - `interrupt`: HITL required, wait for `resumeInterrupt()` * - `completed`: final result with chat history + layer styling * - `cancelled`: user aborted the run */ ask(userInput: string): AsyncGenerator; /** * Start a new conversation by clearing chat history. */ newConversation(): void; /** * Generic resume for any HITL interrupt. * The payload is whatever the UI collected (e.g. "yes", "no", layerId, etc). */ resumeInterrupt(payload: unknown): void; /** * Optional: allow UI to cancel the current HITL. */ cancelInterrupt(): void; private pipeStream; /** * Disposes this instance by terminating the embeddings worker * and cleaning up all related resources. */ dispose(): void; } export {};