import type { SessionAuth, SessionParent } from "#context/session-context.js";
import type { RuntimeSession } from "#subagents/handle-dispatch.js";
import type { RuntimeToolResultActionResult, RuntimeWorkflowTaskRequest } from "#shared/action-types.js";
import type { WorkflowToolRunAddress, WorkflowToolRunInput } from "#execution/tools/workflow/types.js";
import type { WorkflowToolRunOwner } from "#execution/tools/workflow/messages.js";
/** Starts a new run for each dispatch attempt. Call from a `"use step"` body. */
export declare function startWorkflowToolRun(input: Omit<WorkflowToolRunInput, "hookToken">): Promise<WorkflowToolRunAddress>;
/** Starts one durable workflow task and records it on the owning session. */
export declare function startWorkflowTask(input: {
    readonly auth: SessionAuth["current"];
    readonly batchEvent: {
        readonly sequence: number;
        readonly stepIndex: number;
        readonly turnId: string;
    };
    readonly initiatorAuth: SessionAuth["initiator"];
    readonly owner: WorkflowToolRunOwner;
    readonly parentSession: SessionParent | undefined;
    readonly session: RuntimeSession;
    readonly task: RuntimeWorkflowTaskRequest;
}): Promise<{
    readonly result?: RuntimeToolResultActionResult;
    readonly session: RuntimeSession;
}>;
