import type { HarnessToolDefinition } from "#harness/execute-tool.js";
import type { PreparedRuntimeTool } from "#runtime/sessions/turn.js";
import { parseJsonObject, type JsonValue } from "#shared/json.js";
export interface WorkflowToolHarnessDefinitionInput {
    readonly definition: HarnessToolDefinition;
    readonly executeInput?: (input: unknown) => JsonValue;
    /** Selected agent definition's runtime graph ID; absent for authored workflow tools. */
    readonly nodeId?: string;
    readonly workflowId: string;
}
export declare function createWorkflowToolHarnessDefinition(input: WorkflowToolHarnessDefinitionInput): HarnessToolDefinition;
export declare function createPreparedWorkflowToolHarnessDefinition(tool: PreparedRuntimeTool): HarnessToolDefinition;
/** Returns a task receipt after the background scope starts the owning run. */
export declare function createWorkflowToolBackgroundExecute(input: {
    readonly toolName: string;
    readonly workflowId: string;
}): NonNullable<HarnessToolDefinition["execute"]>;
export declare function parseWorkflowToolInput(toolInput: unknown, toolName: string): ReturnType<typeof parseJsonObject>;
