/**
 * Claude Spawner Utilities
 *
 * Cross-platform Claude CLI spawn utilities for CCS.
 * Handles Windows .cmd/.bat/.ps1 files properly.
 */
/// <reference types="node" />
/// <reference types="bun-types" />
/// <reference types="node" />
import { ChildProcess, SpawnOptions } from 'child_process';
export interface SpawnClaudeOptions {
    /** Arguments to pass to Claude CLI */
    args?: string[];
    /** Environment variables to merge with process.env */
    env?: NodeJS.ProcessEnv;
    /** Working directory */
    cwd?: string;
    /** Stdio configuration (default: 'inherit') */
    stdio?: SpawnOptions['stdio'];
}
export interface SpawnClaudeResult {
    /** The spawned child process */
    child: ChildProcess;
    /** Path to the Claude CLI executable */
    claudePath: string;
}
/**
 * Spawn Claude CLI with cross-platform support.
 *
 * Handles Windows .cmd/.bat/.ps1 wrappers automatically.
 * Returns the ChildProcess for custom event handling.
 *
 * @throws Error if Claude CLI is not found
 */
export declare function spawnClaude(options?: SpawnClaudeOptions): SpawnClaudeResult;
/**
 * Spawn Claude CLI and wait for exit.
 *
 * Convenience function that returns a promise resolving to the exit code.
 */
export declare function spawnClaudeSync(options?: SpawnClaudeOptions): Promise<number>;
/**
 * Spawn Claude CLI with automatic exit handling.
 *
 * Exits the current process when Claude exits, preserving exit code/signal.
 * Used for simple pass-through scenarios.
 */
export declare function execClaudeWithExitHandling(options?: SpawnClaudeOptions): void;
/**
 * Check if shell execution is needed for a given path.
 *
 * Returns true for Windows .cmd/.bat/.ps1 files.
 */
export declare function needsShellExecution(executablePath: string): boolean;
//# sourceMappingURL=claude-spawner.d.ts.map