import type { ItemId, ToolInputValue, Turn } from "@best-agent/protocol";
import type { AgentProfile } from "../../agent/profile-registry.js";
import type { PreparedToolInvocation } from "../../tool/registry.js";
import type { ToolResumeContext } from "../checkpoint-codec.js";
import type { PersistTerminalToolFailure, ToolExecutionRuntime, ToolShellDebugBase } from "./tool-execution-types.js";
export declare function runPreToolUseHooks(input: {
    persistTerminalToolFailure: PersistTerminalToolFailure;
    prepared: PreparedToolInvocation;
    preparedToolResumeContext: ToolResumeContext;
    profile: AgentProfile;
    runtime: ToolExecutionRuntime;
    shellDebugBase?: ToolShellDebugBase;
    toolCallId: ItemId;
    toolName: string;
    turn: Turn;
}): Promise<{
    blockedOutput?: string;
    failureOutput?: string;
}>;
export declare function runPostToolUseHooks(input: {
    output: string;
    persistTerminalToolFailure: PersistTerminalToolFailure;
    preparedToolResumeContext: ToolResumeContext;
    profile: AgentProfile;
    runtime: ToolExecutionRuntime;
    shellDebugBase?: ToolShellDebugBase;
    toolCallId: ItemId;
    toolInput: ToolInputValue;
    toolName: string;
    toolStartedAt: number;
    turn: Turn;
}): Promise<{
    failureOutput?: string;
    output: string;
}>;
//# sourceMappingURL=tool-hook-runner.d.ts.map