import type { AvailableSkill } from "./agents/dynamic-agent-prompt-builder";
import type { HookName, OhMyOpenCodeConfig } from "./config";
import type { LoadedSkill } from "./features/opencode-skill-loader/types";
import type { BackgroundManager } from "./features/background-agent";
import type { ModelFallbackControllerAccessor } from "./hooks/model-fallback";
import type { PluginContext } from "./plugin/types";
import type { ModelCacheState } from "./plugin-state";
export type CreatedHooks = ReturnType<typeof createHooks>;
type DisposableHook = {
    dispose?: () => void;
} | null | undefined;
export type DisposableCreatedHooks = {
    claudeCodeHooks?: DisposableHook;
    commentChecker?: DisposableHook;
    runtimeFallback?: DisposableHook;
    todoContinuationEnforcer?: DisposableHook;
    autoSlashCommand?: DisposableHook;
    anthropicContextWindowLimitRecovery?: DisposableHook;
};
export declare function disposeCreatedHooks(hooks: DisposableCreatedHooks): void;
export declare function createHooks(args: {
    ctx: PluginContext;
    pluginConfig: OhMyOpenCodeConfig;
    modelCacheState: ModelCacheState;
    backgroundManager: BackgroundManager;
    modelFallbackControllerAccessor?: ModelFallbackControllerAccessor;
    isHookEnabled: (hookName: HookName) => boolean;
    safeHookEnabled: boolean;
    mergedSkills: LoadedSkill[];
    availableSkills: AvailableSkill[];
}): {
    disposeHooks: () => void;
    categorySkillReminder: ReturnType<typeof import("./hooks").createCategorySkillReminderHook> | null;
    autoSlashCommand: ReturnType<typeof import("./hooks").createAutoSlashCommandHook> | null;
    stopContinuationGuard: ReturnType<typeof import("./hooks").createStopContinuationGuardHook> | null;
    compactionContextInjector: ReturnType<typeof import("./hooks").createCompactionContextInjector> | null;
    compactionTodoPreserver: ReturnType<typeof import("./hooks").createCompactionTodoPreserverHook> | null;
    todoContinuationEnforcer: ReturnType<typeof import("./hooks").createTodoContinuationEnforcer> | null;
    unstableAgentBabysitter: ReturnType<typeof import("./plugin/unstable-agent-babysitter").createUnstableAgentBabysitter> | null;
    backgroundNotificationHook: ReturnType<typeof import("./hooks").createBackgroundNotificationHook> | null;
    atlasHook: ReturnType<typeof import("./hooks").createAtlasHook> | null;
    claudeCodeHooks: ReturnType<typeof import("./hooks").createClaudeCodeHooksHook> | null;
    keywordDetector: ReturnType<typeof import("./hooks").createKeywordDetectorHook> | null;
    contextInjectorMessagesTransform: ReturnType<typeof import("./features/context-injector").createContextInjectorMessagesTransformHook>;
    teamModeStatusInjector: ReturnType<typeof import("./hooks").createTeamModeStatusInjector> | null;
    teamMailboxInjector: ReturnType<typeof import("./hooks").createTeamMailboxInjector> | null;
    thinkingBlockValidator: ReturnType<typeof import("./hooks").createThinkingBlockValidatorHook> | null;
    toolPairValidator: ReturnType<typeof import("./hooks").createToolPairValidatorHook> | null;
    commentChecker: ReturnType<typeof import("./hooks").createCommentCheckerHooks> | null;
    toolOutputTruncator: ReturnType<typeof import("./hooks").createToolOutputTruncatorHook> | null;
    directoryAgentsInjector: ReturnType<typeof import("./hooks").createDirectoryAgentsInjectorHook> | null;
    directoryReadmeInjector: ReturnType<typeof import("./hooks").createDirectoryReadmeInjectorHook> | null;
    emptyTaskResponseDetector: ReturnType<typeof import("./hooks").createEmptyTaskResponseDetectorHook> | null;
    rulesInjector: ReturnType<typeof import("./hooks").createRulesInjectorHook> | null;
    tasksTodowriteDisabler: ReturnType<typeof import("./hooks").createTasksTodowriteDisablerHook> | null;
    writeExistingFileGuard: ReturnType<typeof import("./hooks").createWriteExistingFileGuardHook> | null;
    bashFileReadGuard: ReturnType<typeof import("./hooks").createBashFileReadGuardHook> | null;
    hashlineReadEnhancer: ReturnType<typeof import("./hooks").createHashlineReadEnhancerHook> | null;
    jsonErrorRecovery: ReturnType<typeof import("./hooks").createJsonErrorRecoveryHook> | null;
    readImageResizer: ReturnType<typeof import("./hooks").createReadImageResizerHook> | null;
    todoDescriptionOverride: ReturnType<typeof import("./hooks").createTodoDescriptionOverrideHook> | null;
    webfetchRedirectGuard: ReturnType<typeof import("./hooks").createWebFetchRedirectGuardHook> | null;
    fsyncSkipWarning: ReturnType<typeof import("./hooks").createFsyncSkipWarningHook> | null;
    teamToolGating: ReturnType<typeof import("./hooks").createTeamToolGating> | null;
    notepadWriteGuard: ReturnType<typeof import("./hooks").createNotepadWriteGuardHook> | null;
    planFormatValidator: ReturnType<typeof import("./hooks").createPlanFormatValidatorHook> | null;
    contextWindowMonitor: ReturnType<typeof import("./hooks").createContextWindowMonitorHook> | null;
    preemptiveCompaction: ReturnType<typeof import("./hooks").createPreemptiveCompactionHook> | null;
    sessionRecovery: ReturnType<typeof import("./hooks").createSessionRecoveryHook> | null;
    sessionNotification: ReturnType<typeof import("./hooks").createSessionNotification> | null;
    thinkMode: ReturnType<typeof import("./hooks").createThinkModeHook> | null;
    modelFallback: ReturnType<typeof import("./hooks").createModelFallbackHook> | null;
    anthropicContextWindowLimitRecovery: ReturnType<typeof import("./hooks").createAnthropicContextWindowLimitRecoveryHook> | null;
    autoUpdateChecker: ReturnType<typeof import("./hooks").createAutoUpdateCheckerHook> | null;
    agentUsageReminder: ReturnType<typeof import("./hooks").createAgentUsageReminderHook> | null;
    nonInteractiveEnv: ReturnType<typeof import("./hooks").createNonInteractiveEnvHook> | null;
    interactiveBashSession: ReturnType<typeof import("./hooks").createInteractiveBashSessionHook> | null;
    ralphLoop: ReturnType<typeof import("./hooks").createRalphLoopHook> | null;
    editErrorRecovery: ReturnType<typeof import("./hooks").createEditErrorRecoveryHook> | null;
    delegateTaskRetry: ReturnType<typeof import("./hooks").createDelegateTaskRetryHook> | null;
    startWork: ReturnType<typeof import("./hooks").createStartWorkHook> | null;
    prometheusMdOnly: ReturnType<typeof import("./hooks").createPrometheusMdOnlyHook> | null;
    sisyphusJuniorNotepad: ReturnType<typeof import("./hooks").createSisyphusJuniorNotepadHook> | null;
    noSisyphusGpt: ReturnType<typeof import("./hooks").createNoSisyphusGptHook> | null;
    noHephaestusNonGpt: ReturnType<typeof import("./hooks").createNoHephaestusNonGptHook> | null;
    questionLabelTruncator: ReturnType<typeof import("./hooks").createQuestionLabelTruncatorHook> | null;
    taskResumeInfo: ReturnType<typeof import("./hooks").createTaskResumeInfoHook> | null;
    anthropicEffort: ReturnType<typeof import("./hooks/anthropic-effort").createAnthropicEffortHook> | null;
    runtimeFallback: ReturnType<typeof import("./hooks").createRuntimeFallbackHook> | null;
    legacyPluginToast: ReturnType<typeof import("./hooks").createLegacyPluginToastHook> | null;
};
export {};
