import type { HarnessAdapter, ToolNameMap } from '../harness.js'; import type { GuardResult, AnyGuardDefinition } from '../guard.js'; /** * Cline hook output protocol. * Source: src/core/hooks/hook-factory.ts (validateHookOutput) */ export interface ClineHookOutput { cancel?: boolean; /** Injected into agent's live context. Truncated to 50KB by Cline. */ contextModification?: string; /** User-visible denial message when cancel is true. */ errorMessage?: string; } /** Cline adapter — formats guard output for Cline's per-event script protocol. */ export declare class ClineAdapter implements HarnessAdapter { readonly id: "cline"; readonly displayName = "Cline"; readonly toolNames: ToolNameMap; readonly supportedEvents: Set; readonly supportsContextInjection = true; hooksConfigPath(_cwd: string): string | null; formatPreToolOutput(result: GuardResult): ClineHookOutput; formatPostToolOutput(result: GuardResult): ClineHookOutput; formatStopOutput(result: GuardResult): ClineHookOutput; /** * Generate per-event dispatcher script content for a set of guards. * Cline has no hooks.json — each event has a single script that must handle * all guards for that event, including tool name filtering. */ generateHooksConfig(guards: AnyGuardDefinition[], guardScriptPath: string): Record; installGuards(cwd: string, guards: AnyGuardDefinition[]): void; detect(cwd: string): boolean; } /** Singleton instance */ export declare const clineAdapter: ClineAdapter; //# sourceMappingURL=cline.d.ts.map