import { type Hook } from "#compiled/@workflow/core/index.js";
import type { WorkflowToolRunOwner, WorkflowToolRunRef } from "#execution/tools/workflow/messages.js";
import type { ToolContext, ToolInputRequest, ToolInputResponse } from "#tools/definition.js";
export interface WorkflowToolRunContext {
    readonly canRequestInput?: boolean;
    readonly from: WorkflowToolRunRef;
    readonly owner: WorkflowToolRunOwner;
}
export declare function attachWorkflowToolRunContext(ctx: ToolContext, context: WorkflowToolRunContext): void;
export declare function findWorkflowToolRunContext(value: unknown): WorkflowToolRunContext | undefined;
export declare function readWorkflowToolRunRef(ctx: ToolContext): WorkflowToolRunRef;
export declare function readWorkflowToolRunOwner(ctx: ToolContext): WorkflowToolRunOwner;
/** Returns an answer which may be awaited or raced with another workflow operation. */
export declare function ask(ctx: ToolContext, request: ToolInputRequest): Hook<ToolInputResponse> | Promise<ToolInputResponse>;
