import type { SkillRenderTarget } from "./types.js"; export interface RuntimeHookSpec { /** Human-readable name for diagnostics and setup validation. */ name: string; /** Runtime this hook applies to. */ target: SkillRenderTarget; /** * The hook event name in the target's settings schema. * For Claude: "UserPromptSubmit". Reserved for future targets. */ hookEvent: string; /** * True if the target has a structured settings file that Orchestra can write. * False means the hook must be documented for manual setup. */ settingsWritable: boolean; /** * Relative path to the settings file written when settingsWritable is true. * Used by callers to report which file changed after hook application. */ settingsFile?: string; /** * Human-readable guidance for targets where settingsWritable is false. * Explains what manual steps are required. */ guidance?: string; } export interface RuntimeHookApplyResult { spec: RuntimeHookSpec; applied: boolean; skipped: boolean; skipReason?: string; diagnostic?: { code: string; message: string; }; } /** Returns all hook specs for a given target. Empty array = no automatable hooks. */ export declare function getRuntimeHookSpecs(target: SkillRenderTarget): RuntimeHookSpec[]; /** Returns all hook specs across all supported targets. */ export declare function listAllRuntimeHookSpecs(): RuntimeHookSpec[]; /** * Applies all writable hooks for the given target. * Returns a result per spec. Fails open: errors are recorded in diagnostic, not thrown. */ export declare function applyRuntimeHooks(target: SkillRenderTarget, root: string): Promise;