import type { HarnessAdapter, ToolNameMap } from '../harness.js'; import type { GuardResult, AnyGuardDefinition, Suggestion } from '../guard.js'; /** Cursor hook entry in .cursor/hooks.json */ export interface CursorHookEntry { event: string; matcher?: string; command: string; timeout?: number; description?: string; } /** Cursor hooks config shape */ export interface CursorHooksConfig { hooks: CursorHookEntry[]; } /** Cursor hook output protocol */ export interface CursorHookOutput { decision: 'allow' | 'block'; reason?: string; context?: string; } /** Cursor adapter — formats guard output for Cursor's JSON hook protocol. */ export declare class CursorAdapter implements HarnessAdapter { readonly id: "cursor"; readonly displayName = "Cursor"; readonly toolNames: ToolNameMap; readonly supportedEvents: Set; readonly supportsContextInjection = true; hooksConfigPath(cwd: string): string | null; formatSuggestion(suggestion: Suggestion): string; formatPreToolOutput(result: GuardResult): CursorHookOutput; formatPostToolOutput(result: GuardResult): CursorHookOutput; formatStopOutput(result: GuardResult): CursorHookOutput; generateHooksConfig(guards: AnyGuardDefinition[], guardScriptPath: string): CursorHooksConfig; installGuards(cwd: string, guards: AnyGuardDefinition[]): void; detect(cwd: string): boolean; } /** Singleton instance */ export declare const cursorAdapter: CursorAdapter; //# sourceMappingURL=cursor.d.ts.map