import type { z } from "zod/v4";
import type { ToolDefinition } from "./capability.js";
import type { Json } from "./ids.js";
import type { RunContext } from "./run-context.js";
import type { GradedRiskLabel } from "./tools.js";
/**
* `risk` is required and GRADED: a hand-written tool's author knows what it
* does, and `ungraded` is the answer only extraction is allowed to give.
*/
export declare function defineTool(tool: {
name: string;
description: string;
input: Input;
risk: GradedRiskLabel;
execute(input: z.infer, context: RunContext): Promise;
}): ToolDefinition;