import type { Plugin } from "@opencode-ai/plugin"; export { createTodoContinuationEnforcer, createContextWindowMonitorHook, createSessionNotification, createSessionRecoveryHook, createCommentCheckerHooks, createToolOutputTruncatorHook, createDirectoryAgentsInjectorHook, createDirectoryReadmeInjectorHook, createEmptyTaskResponseDetectorHook, createAnthropicAutoCompactHook, createThinkModeHook, createClaudeCodeHooksHook, createRulesInjectorHook, createAutoUpdateCheckerHook, createAgentUsageReminderHook, createKeywordDetectorHook, createNonInteractiveEnvHook, createInteractiveBashSessionHook, createEmptyMessageSanitizerHook, } from "./hooks"; export type { ClaudeHookEvent, ClaudeHooksConfig, PreToolUseInput, PostToolUseInput, UserPromptSubmitInput, StopInput, PreToolUseOutput, PostToolUseOutput, StopOutput, HookMatcher, HookCommand, PluginConfig, } from "./hooks/claude-code-hooks/types"; export { log, getLogFilePath } from "./shared/logger"; export { executeHookCommand, executeCommand, resolveCommandsInText } from "./shared/command-executor"; export { findMatchingHooks, matchesToolMatcher } from "./shared/pattern-matcher"; export { camelToSnake, snakeToCamel, objectToSnakeCase, objectToCamelCase } from "./shared/snake-case"; export { transformToolName } from "./shared/tool-name"; export { deepMerge, isPlainObject } from "./shared/deep-merge"; export { isHookDisabled } from "./shared/hook-disabled"; export { type TruncationResult, type TruncationOptions } from "./shared/dynamic-truncator"; export { injectHookMessage, findNearestMessageWithFields } from "./features/hook-message-injector"; export interface OpenCodeHooksConfig { disabled_hooks?: string[]; claude_code?: { hooks?: boolean; }; } declare const OpenCodeHooksPlugin: Plugin; export default OpenCodeHooksPlugin;