import { type PolicyResult } from "../../domain/policy/policy-result"; import type { RuntimeEffect } from "../../runtime/opencode/effects"; import type { RuntimeAfterToolInput, RuntimeBeforeToolInput } from "./runtime-policy"; export interface ToolPolicy { beforeTool(input: RuntimeBeforeToolInput): PolicyResult | Promise>; afterTool(input: RuntimeAfterToolInput): PolicyResult | Promise>; } export declare function createHookBackedToolPolicy(): ToolPolicy;