import type { PluginInput } from "@opencode-ai/plugin"; import { type EnforcementLevel, type ChangeType } from "../../features/openspec"; interface OpenSpecCommitmentConfig { enforcement: EnforcementLevel; requireSpecFor: ChangeType[]; } interface ToolExecuteInput { tool: string; sessionID: string; } interface ToolExecuteBeforeOutput { args?: unknown; blocked?: boolean; message?: string; } interface UserPromptSubmitInput { sessionID: string; prompt: string; } interface UserPromptSubmitOutput { blocked?: boolean; message?: string; messages?: Array<{ role: "user" | "assistant"; content: string; }>; } export declare function createOpenSpecCommitmentHook(ctx: PluginInput, config: OpenSpecCommitmentConfig): { PreToolUse: (input: ToolExecuteInput) => Promise; UserPromptSubmit: (input: UserPromptSubmitInput) => Promise; }; export {};