/**
 * Hook 系统模块
 *
 * 提供工具执行前后的 hook 功能，支持自定义命令执行
 * 参考 open-code 的实现
 */

// Hook 管理器
export {
  HookManager,
  getHookManager,
  initHookManager,
  resetHookManager,
} from './manager.js';

// 配置加载
export {
  loadProjectConfig,
  loadHookConfig,
  loadPluginList,
  createDefaultConfig,
  getConfigFilePath,
  type ProjectConfig,
} from './config-loader.js';

// 类型导出
export type {
  HookType,
  HookConfig,
  HookEvent,
  HookEventListener,
  ShellCommandConfig,
  FileHookConfig,
  Hooks,
  Plugin,
  PluginInput,
  ToolExecuteBeforeInput,
  ToolExecuteBeforeOutput,
  ToolExecuteAfterInput,
  ToolExecuteAfterOutput,
  SessionStartInput,
  SessionEndInput,
  MessageBeforeInput,
  MessageBeforeOutput,
  MessageAfterInput,
  FileChangeInput,
  FileChangeOutput,
} from './types.js';
