import { type RuntimeGate } from "./adapters/claude-code/skill-runtime.js"; export interface ActionGate { /** Tool name to gate, e.g. "Write" | "Edit" | "Bash". */ readonly on: string; /** Deterministic check; a `cmd` command may include `{file}`. */ readonly gate: RuntimeGate; /** Optional substring the (JSON-serialized) tool input must contain. */ readonly when?: string; } export interface ActionEvent { /** The tool that just ran (PostToolUse `tool_name`). */ readonly tool: string; /** The tool input (`tool_input`), e.g. `{ file_path, command }`. */ readonly input?: Record; } export interface ActionDecision { readonly allow: boolean; readonly message: string; } /** * Evaluate action gates against a tool event. Runs every gate whose `on` * matches the tool (and whose `when` substring matches the input); the first * failure blocks. Plan-agnostic — order in any runtime workflow is irrelevant. */ export declare function evaluateAction(event: ActionEvent, gates: readonly ActionGate[], cwd: string): ActionDecision; /** Load action gates from `.vigiles/action-gates.json`. */ export declare function loadActionGates(cwd: string): ActionGate[]; //# sourceMappingURL=action-gate.d.ts.map