/**
 * Cline Executor Service
 *
 * Infrastructure implementation of IAgentExecutor for the Cline CLI agent.
 * Executes prompts via the `cline` CLI subprocess in headless mode with
 * JSON output for structured parsing.
 *
 * Cline is a multi-provider agentic coding assistant that runs a full
 * agentic loop with file system access, terminal execution, and tool use.
 * It supports multiple LLM backends (Anthropic, OpenRouter, Together AI,
 * Ollama, etc.) configured via `cline auth`.
 *
 * Uses constructor dependency injection for the spawn function
 * to enable testability without mocking node:child_process directly.
 */
import type { AgentType, AgentFeature } from '../../../../../domain/generated/output.js';
import type { IAgentExecutor, AgentExecutionOptions, AgentExecutionResult, AgentExecutionStreamEvent } from '../../../../../application/ports/output/agents/agent-executor.interface.js';
import type { SpawnFunction } from '../types.js';
/**
 * Executor service for the Cline agentic coding assistant.
 * Uses subprocess spawning to interact with the `cline` CLI in headless mode.
 */
export declare class ClineExecutorService implements IAgentExecutor {
    private readonly spawn;
    readonly agentType: AgentType;
    /** When true, suppresses debug logging (set per-call via options.silent) */
    private silent;
    constructor(spawn: SpawnFunction);
    /** Debug logging — writes to stdout so it appears in the worker log file */
    private log;
    supportsFeature(feature: AgentFeature): boolean;
    execute(prompt: string, options?: AgentExecutionOptions): Promise<AgentExecutionResult>;
    executeStream(prompt: string, options?: AgentExecutionOptions): AsyncIterable<AgentExecutionStreamEvent>;
    /**
     * Log a Cline JSON line as a human-readable event in the worker log.
     */
    private logStreamEvent;
    /**
     * Build CLI arguments for cline headless execution.
     *
     * Uses `-y` for fully autonomous execution (no approval prompts)
     * and `--json` for machine-readable newline-delimited JSON output.
     */
    private buildArgs;
    private buildSpawnOptions;
    private parseStreamLine;
}
//# sourceMappingURL=cline-executor.service.d.ts.map