import type { SpendGuard } from '../spend-guard'; import { type FrameworkAdapterOptions } from './common'; export interface ClaudeCodeHookInput { session_id?: string; transcript_path?: string; cwd?: string; hook_event_name?: string; tool_name?: string; tool_input?: Record; tool_response?: Record; } export interface ClaudeCodeHookOutput { continue?: boolean; suppressOutput?: boolean; systemMessage?: string; hookSpecificOutput?: { hookEventName: 'PreToolUse' | 'PostToolUse'; permissionDecision?: 'allow' | 'deny' | 'ask'; permissionDecisionReason?: string; additionalContext?: string; }; } export interface ClaudeCodeHooks { guard: SpendGuard; handlePreToolUse(input: ClaudeCodeHookInput): Promise; handlePostToolUse(input: ClaudeCodeHookInput): Promise; handleHookInput(input: ClaudeCodeHookInput): Promise; settingsSnippet(command: string): Record; } export declare function createClaudeCodeHooks(opts: FrameworkAdapterOptions): ClaudeCodeHooks; export declare const createAgentGuardClaudeCodeHooks: typeof createClaudeCodeHooks; //# sourceMappingURL=claude-code.d.ts.map