/**
 * ClaudeCodeRunner
 *
 * AgentRunner implementation for Claude Code.
 * Wraps the existing runHost() execution logic from execution/runners.ts
 * to provide a pluggable runner interface while maintaining full backward
 * compatibility with `prlt work start`.
 */
import type { AgentRunner, AgentSession, SpawnConfig } from './agent-runner.js';
import type { ExecutionContext, ExecutionConfig } from '../execution/types.js';
/**
 * Claude Code agent runner.
 *
 * Delegates to the existing runHost() function for spawning, which handles:
 * - tmux session creation for persistence
 * - Terminal tab opening (iTerm, Terminal.app, Ghostty, etc.)
 * - Prompt building and script generation
 * - Permission mode and output mode configuration
 *
 * The peek/poke/stop methods use tmux commands directly since Claude Code
 * sessions always run inside tmux.
 */
export declare class ClaudeCodeRunner implements AgentRunner {
    readonly name = "claude-code";
    spawn(config: SpawnConfig): Promise<AgentSession>;
    getStatus(session: AgentSession): Promise<'running' | 'done' | 'error'>;
    peek(session: AgentSession, lines?: number): Promise<string>;
    poke(session: AgentSession, message: string): Promise<void>;
    stop(session: AgentSession): Promise<void>;
    /**
     * Build a tmux session name from spawn config.
     * Uses the same naming convention as the existing system:
     * "{ticketId}-{action}-{agentName}" or falls back to a generated name.
     */
    private buildSessionName;
    /**
     * Build an ExecutionContext from SpawnConfig.
     * Maps the simplified SpawnConfig to the richer ExecutionContext used by runHost().
     */
    private buildExecutionContext;
    /**
     * Build ExecutionConfig from SpawnConfig defaults.
     */
    private buildExecutionConfig;
}
/**
 * Create a ClaudeCodeRunner that uses a full ExecutionContext and config.
 *
 * This is the integration point for `prlt work start` — it provides a way
 * to spawn Claude Code using the existing rich context while still going
 * through the AgentRunner interface.
 */
export declare function createClaudeCodeSession(context: ExecutionContext, config?: ExecutionConfig, displayMode?: 'terminal' | 'background' | 'foreground'): Promise<import("../execution/runners.js").RunnerResult>;
