import type { OhMyOpenCodeConfig, HookName } from "../../config"; import type { ModelCacheState } from "../../plugin-state"; import type { PluginContext } from "../types"; import { createContextWindowMonitorHook, createSessionRecoveryHook, createSessionNotification, createThinkModeHook, createModelFallbackHook, createAnthropicContextWindowLimitRecoveryHook, createAutoUpdateCheckerHook, createAgentUsageReminderHook, createNonInteractiveEnvHook, createInteractiveBashSessionHook, createRalphLoopHook, createEditErrorRecoveryHook, createDelegateTaskRetryHook, createTaskResumeInfoHook, createStartWorkHook, createPrometheusMdOnlyHook, createSisyphusJuniorNotepadHook, createNoSisyphusGptHook, createNoHephaestusNonGptHook, createQuestionLabelTruncatorHook, createPreemptiveCompactionHook, createRuntimeFallbackHook } from "../../hooks"; import { createAnthropicEffortHook } from "../../hooks/anthropic-effort"; export type SessionHooks = { contextWindowMonitor: ReturnType | null; preemptiveCompaction: ReturnType | null; sessionRecovery: ReturnType | null; sessionNotification: ReturnType | null; thinkMode: ReturnType | null; modelFallback: ReturnType | null; anthropicContextWindowLimitRecovery: ReturnType | null; autoUpdateChecker: ReturnType | null; agentUsageReminder: ReturnType | null; nonInteractiveEnv: ReturnType | null; interactiveBashSession: ReturnType | null; ralphLoop: ReturnType | null; editErrorRecovery: ReturnType | null; delegateTaskRetry: ReturnType | null; startWork: ReturnType | null; prometheusMdOnly: ReturnType | null; sisyphusJuniorNotepad: ReturnType | null; noSisyphusGpt: ReturnType | null; noHephaestusNonGpt: ReturnType | null; questionLabelTruncator: ReturnType | null; taskResumeInfo: ReturnType | null; anthropicEffort: ReturnType | null; runtimeFallback: ReturnType | null; }; export declare function createSessionHooks(args: { ctx: PluginContext; pluginConfig: OhMyOpenCodeConfig; modelCacheState: ModelCacheState; isHookEnabled: (hookName: HookName) => boolean; safeHookEnabled: boolean; }): SessionHooks;