/** * Hook/lifecycle event system for Iron Rain plugins. */ export type HookEvent = "onToolCall" | "onToolResult" | "onSessionStart" | "onSessionEnd" | "onCommit" | "onError" | "onCheckpoint" | "beforeDispatch" | "afterDispatch"; export type HookHandler = (data: HookEventData) => void | Promise; export interface HookEventData { event: HookEvent; timestamp: number; payload: Record; } /** * Emits lifecycle hooks to registered handlers. */ export declare class HookEmitter { private handlers; /** * Register a handler for a specific event. */ on(event: HookEvent, handler: HookHandler): () => void; /** * Emit an event to all registered handlers. */ emit(event: HookEvent, payload?: Record): Promise; /** * Remove all handlers for a specific event. */ off(event: HookEvent): void; /** * Remove all handlers. */ clear(): void; /** * Get count of registered handlers for an event. */ listenerCount(event: HookEvent): number; } //# sourceMappingURL=hooks.d.ts.map