import type { HookName, OhMyOpenCodeConfig } from "../../config"; import type { ModelCacheState } from "../../plugin-state"; import type { PluginContext } from "../types"; import { createCommentCheckerHooks, createToolOutputTruncatorHook, createDirectoryAgentsInjectorHook, createDirectoryReadmeInjectorHook, createEmptyTaskResponseDetectorHook, createRulesInjectorHook, createTasksTodowriteDisablerHook, createWriteExistingFileGuardHook, createHashlineReadEnhancerHook, createReadImageResizerHook, createJsonErrorRecoveryHook, createTodoDescriptionOverrideHook, createWebFetchRedirectGuardHook } from "../../hooks"; export type ToolGuardHooks = { commentChecker: ReturnType | null; toolOutputTruncator: ReturnType | null; directoryAgentsInjector: ReturnType | null; directoryReadmeInjector: ReturnType | null; emptyTaskResponseDetector: ReturnType | null; rulesInjector: ReturnType | null; tasksTodowriteDisabler: ReturnType | null; writeExistingFileGuard: ReturnType | null; hashlineReadEnhancer: ReturnType | null; jsonErrorRecovery: ReturnType | null; readImageResizer: ReturnType | null; todoDescriptionOverride: ReturnType | null; webfetchRedirectGuard: ReturnType | null; }; export declare function createToolGuardHooks(args: { ctx: PluginContext; pluginConfig: OhMyOpenCodeConfig; modelCacheState: ModelCacheState; isHookEnabled: (hookName: HookName) => boolean; safeHookEnabled: boolean; }): ToolGuardHooks;