import type { ActivityObserverConfig } from "#channel/types.js";
import { type WorkflowBodyDefinition } from "#execution/tools/workflow/body.js";
import { type TaskInputRequest, type TaskView } from "#tasks/types.js";
export interface TaskRunWorkflowInput {
    readonly activityObserver?: ActivityObserverConfig;
    readonly initialView: TaskView;
    readonly parentContinuationToken: string;
    readonly taskInboxToken: string;
    readonly workflow?: WorkflowBodyDefinition;
}
/** A workflow-body question routed through the task that owns the workflow tool run. */
interface WorkflowToolRunTaskInputRequestBase {
    readonly kind: "task-input-request";
    readonly replyTo: string;
    readonly sequence: number;
    readonly stepIndex: number;
    readonly turnId: string;
}
export type WorkflowToolRunTaskInputRequest = WorkflowToolRunTaskInputRequestBase & ({
    readonly request: TaskInputRequest;
    readonly requests?: never;
} | {
    readonly request?: never;
    readonly requests: readonly TaskInputRequest[];
});
/** Owns lifecycle for one background task and consumes its executor traffic. */
export declare function taskRunWorkflow(input: TaskRunWorkflowInput): Promise<void>;
export {};
