import type { HarnessAdapter, ToolNameMap } from '../harness.js'; import type { GuardResult, AnyGuardDefinition, Suggestion } from '../guard.js'; /** Windsurf hook entry in .windsurf/hooks.json */ export interface WindsurfHookEntry { event: string; matcher?: string; command: string; timeout?: number; description?: string; } /** Windsurf hooks config shape */ export interface WindsurfHooksConfig { hooks: WindsurfHookEntry[]; } /** Windsurf hook output (JSON from adapter, translated to exit codes by dispatcher) */ export interface WindsurfHookOutput { action: 'allow' | 'deny'; message?: string; } /** Windsurf adapter — formats guard output for Windsurf's exit-code-based hook system. */ export declare class WindsurfAdapter implements HarnessAdapter { readonly id: "windsurf"; readonly displayName = "Windsurf"; readonly toolNames: ToolNameMap; readonly supportedEvents: Set; readonly supportsContextInjection = false; hooksConfigPath(cwd: string): string | null; formatSuggestion(suggestion: Suggestion): string; formatPreToolOutput(result: GuardResult): WindsurfHookOutput; formatPostToolOutput(result: GuardResult): WindsurfHookOutput; formatStopOutput(result: GuardResult): WindsurfHookOutput; generateHooksConfig(guards: AnyGuardDefinition[], guardScriptPath: string): WindsurfHooksConfig; installGuards(cwd: string, guards: AnyGuardDefinition[]): void; detect(cwd: string): boolean; } /** Singleton instance */ export declare const windsurfAdapter: WindsurfAdapter; //# sourceMappingURL=windsurf.d.ts.map