/** * Claude Code hooks integration for CCanywhere * Provides hook handlers that can be injected into Claude Code's hook system */ export interface ClaudeHookContext { workingDir: string; command?: string; args?: string[]; env?: Record; data?: any; } export interface ClaudeHookResult { success: boolean; message?: string; data?: any; block?: boolean; } /** * Claude Code hook handlers */ export declare class ClaudeHooks { private static logger; /** * Stop hook - runs when Claude Code finishes responding * This is the primary hook used by CCanywhere */ static Stop(context: ClaudeHookContext): Promise; /** * PostToolUse hook - runs after tool calls complete */ static PostToolUse(context: ClaudeHookContext): Promise; /** * PreToolUse hook - runs before tool calls (can block them) */ static PreToolUse(context: ClaudeHookContext): Promise; /** * UserPromptSubmit hook - runs when the user submits a prompt */ static UserPromptSubmit(context: ClaudeHookContext): Promise; /** * SessionStart hook - runs when Claude Code starts/resumes a session */ static SessionStart(context: ClaudeHookContext): Promise; /** * SessionEnd hook - runs when Claude Code session ends */ static SessionEnd(context: ClaudeHookContext): Promise; /** * Get all available hook handlers */ static getHookHandlers(): { Stop: typeof ClaudeHooks.Stop; PostToolUse: typeof ClaudeHooks.PostToolUse; PreToolUse: typeof ClaudeHooks.PreToolUse; UserPromptSubmit: typeof ClaudeHooks.UserPromptSubmit; SessionStart: typeof ClaudeHooks.SessionStart; SessionEnd: typeof ClaudeHooks.SessionEnd; }; /** * Generate hook configuration for Claude Code */ static generateHookConfig(options?: { enableStop?: boolean; enablePostToolUse?: boolean; enablePreToolUse?: boolean; enableUserPromptSubmit?: boolean; enableSessionStart?: boolean; enableSessionEnd?: boolean; }): Record; } export default ClaudeHooks; //# sourceMappingURL=claude-hook.d.ts.map