import type { WorkflowActivityObserver, WorkflowActivitySnapshotFrame, WorkflowActivitySubscription } from "./workflow-events.js"; import { type SessionWorkflows, type WorkflowRunAllTarget, type WorkflowRunControl, type WorkflowRunControlOutcome, type WorkflowRunControlRegistration, type WorkflowRunDetail, type WorkflowRunListFilter, type WorkflowRunPauseOptions, type WorkflowRunResumeOptions, type WorkflowRunStageSummary, type WorkflowRunSummary, type WorkflowStageListFilter } from "./workflow-run-control.js"; /** Holds the run-control implementation that the workflows extension registers for one extension generation. */ export declare class WorkflowRunControlHub { private control; private disposed; register(control: WorkflowRunControl): WorkflowRunControlRegistration; current(): WorkflowRunControl | undefined; dispose(): void; } export type ObserveWorkflowActivity = (observer: WorkflowActivityObserver) => WorkflowActivitySubscription; /** Stable per-session handle that follows the current extension generation across reloads. */ export declare class SessionWorkflowsHandle implements SessionWorkflows { private readonly resolve; private readonly resolveObserve; private readonly observers; constructor(resolve: () => WorkflowRunControl | undefined, resolveObserve: () => ObserveWorkflowActivity | undefined); private control; observe(observer: WorkflowActivityObserver): WorkflowActivitySubscription; /** Move every observer to the current extension generation; each receives that generation's snapshot first. */ rebindObservers(): void; /** * Release every observer when the session closes. Each first receives `last` as an `unavailable` * snapshot, after any callback already in flight, so hosts never keep showing a closed session's runs. */ disposeObservers(last: WorkflowActivitySnapshotFrame): Promise; listRuns(filter?: WorkflowRunListFilter): Promise; getRun(runId: string): Promise; getStages(runId: string, filter?: WorkflowStageListFilter): Promise; pause(runId: string, options?: WorkflowRunPauseOptions): Promise; pause(target: WorkflowRunAllTarget): Promise; quit(target: string | WorkflowRunAllTarget): Promise; resume(runId: string, options?: WorkflowRunResumeOptions): Promise; waitForSettled(runId: string): Promise; } //# sourceMappingURL=workflow-run-control-hub.d.ts.map