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 authorizationSupported?: boolean;
    /** Compatibility for already-started two-run background workflows. */
    readonly admission?: Promise<{
        readonly status: "accepted";
    } | {
        readonly status: "rejected";
        readonly reason: string;
    }>;
    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;
export declare function readWorkflowToolRunAdmission(ctx: ToolContext): WorkflowToolRunContext["admission"];
/** Returns an answer hook which may be awaited or raced with another workflow operation. */
export declare function ask(ctx: ToolContext, request: ToolInputRequest): Hook<ToolInputResponse>;
