/**
* PostToolUse hook event.
*
* Fires after a tool call completes successfully. A handler can block the
* tool result (feeding feedback back to Claude), inject additional context,
* or replace the tool's response (for MCP tools). Supports a regex matcher
* on `tool_name`. See https://code.claude.com/docs/en/hooks#posttooluse.
*
* @since 0.1.0
*/
import * as Effect from 'effect/Effect';
import * as Schema from 'effect/Schema';
import { HookToolDecodeError } from '../../Errors.js';
import type { HookContext } from '../Context.js';
import type { HookDefinition } from '../Runner.js';
import * as Tool from '../Tool.js';
declare const Input_base: Schema.Class;
readonly tool_name: Schema.String;
readonly tool_input: Schema.$Record;
readonly tool_response: Schema.$Record;
readonly tool_use_id: Schema.optional;
readonly duration_ms: Schema.optional;
readonly session_id: Schema.String;
readonly transcript_path: Schema.String;
readonly cwd: Schema.String;
readonly permission_mode: Schema.optionalKey;
readonly effort: Schema.optionalKey;
readonly agent_id: Schema.optionalKey;
readonly agent_type: Schema.optionalKey;
}>, {}>;
export declare class Input extends Input_base {
}
declare const HookSpecificOutput_base: Schema.Class;
readonly additionalContext: Schema.optional;
readonly updatedToolOutput: Schema.optional;
readonly updatedMCPToolOutput: Schema.optional;
}>, {}>;
export declare class HookSpecificOutput extends HookSpecificOutput_base {
}
declare const Output_base: Schema.Class