import type { StdioOptions } from 'child_process';
/**
 * Subprocess utilities for AgentCore.
 *
 * IMPORTANT: Async functions (runSubprocess, checkSubprocess, runSubprocessCapture)
 * are safe for TUI contexts and are exported from lib.
 *
 * Sync functions (runSubprocessCaptureSync, checkSubprocessSync) block the event loop
 * and are ONLY safe in CDK bundling contexts (which run in a subprocess). They are
 * intentionally NOT exported from the public API to prevent accidental UI freezes.
 */
export interface SubprocessOptions {
    cwd?: string;
    env?: NodeJS.ProcessEnv;
    stdio?: StdioOptions;
    shell?: boolean;
}
export declare function runSubprocess(command: string, args: string[], options?: SubprocessOptions): Promise<void>;
export declare function checkSubprocess(command: string, args: string[], options?: SubprocessOptions): Promise<boolean>;
export interface SubprocessResult {
    stdout: string;
    stderr: string;
    code: number | null;
    signal: NodeJS.Signals | null;
}
export declare function runSubprocessCapture(command: string, args: string[], options?: SubprocessOptions): Promise<SubprocessResult>;
export declare function runSubprocessCaptureSync(command: string, args: string[], options?: SubprocessOptions): SubprocessResult;
export declare function checkSubprocessSync(command: string, args: string[], options?: SubprocessOptions): boolean;
//# sourceMappingURL=subprocess.d.ts.map