/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ /** * @plan:PLAN-20260216-HOOKSYSTEMREWRITE.P12,P13,P14,P20 * @requirement:HOOK-033,HOOK-034,HOOK-035,HOOK-041,HOOK-042,HOOK-043,HOOK-044,HOOK-045,HOOK-046,HOOK-047,HOOK-048,HOOK-049,HOOK-050,HOOK-051,HOOK-052,HOOK-053,HOOK-054,HOOK-055,HOOK-056,HOOK-057,HOOK-058,HOOK-059,HOOK-060,HOOK-134 * @pseudocode:analysis/pseudocode/04-model-hook-pipeline.md */ import type { Config } from '../config/config.js'; import { BeforeModelHookOutput, AfterModelHookOutput, BeforeToolSelectionHookOutput } from '../hooks/types.js'; import type { IContent } from '../services/history/IContent.js'; /** * Trigger BeforeModel hook for an LLM API call * * @requirement:HOOK-134 - Returns typed result instead of void * * @param config - Configuration object with hook system access * @param request - The LLM request (simplified structure for hooks) * @returns BeforeModelHookOutput if hooks execute, undefined otherwise */ export declare function triggerBeforeModelHook(config: Config, request: { contents: IContent[]; tools?: unknown; }): Promise; /** * Trigger AfterModel hook for an LLM API response * * @requirement:HOOK-134 - Returns typed result instead of void * * @param config - Configuration object with hook system access * @param response - The LLM response (IContent) * @returns AfterModelHookOutput if hooks execute, undefined otherwise */ export declare function triggerAfterModelHook(config: Config, response: IContent): Promise; /** * Trigger BeforeToolSelection hook before tool selection * * @requirement:HOOK-134 - Returns typed result instead of void * * @param config - Configuration object with hook system access * @param tools - The tools available for selection * @returns BeforeToolSelectionHookOutput if hooks execute, undefined otherwise */ export declare function triggerBeforeToolSelectionHook(config: Config, _tools: unknown): Promise;