/**
 * Cross-platform shell argument escaping utilities.
 *
 * Provides proper escaping for command-line arguments when using spawn({ shell: true })
 * on different platforms:
 * - Windows: cmd.exe metacharacter handling with proper quote escaping
 * - Unix (Linux/macOS): POSIX shell escaping with single quotes
 */
/**
 * Escape a command-line argument for Windows cmd.exe.
 * Follows Microsoft C/C++ runtime argv parsing rules.
 *
 * Rules:
 * 1. Arguments containing spaces, tabs, or quotes must be quoted
 * 2. Backslashes are literal unless followed by a quote
 * 3. To include a literal quote, use \"
 * 4. Backslashes before a quote must be doubled: \\" produces \"
 * 5. Trailing backslashes must be doubled when the arg is quoted
 *
 * @param arg - The argument to escape
 * @returns Properly escaped argument safe for Windows command line
 */
export declare function escapeWindowsArg(arg: string): string;
/**
 * Escape a command-line argument for Unix shells (bash, sh, zsh).
 * Uses single quotes which treat all characters literally except single quote itself.
 *
 * Strategy:
 * - Wrap argument in single quotes
 * - Replace any single quotes with: '\'' (end quote, escaped quote, start quote)
 *
 * @param arg - The argument to escape
 * @returns Properly escaped argument safe for Unix shell
 */
export declare function escapeUnixArg(arg: string): string;
/**
 * Escape a command-line argument for the current platform.
 * Automatically selects the appropriate escaping method based on OS.
 *
 * @param arg - The argument to escape
 * @returns Properly escaped argument for the current platform's shell
 */
export declare function escapeShellArg(arg: string): string;
/**
 * Check if we need shell escaping on the current platform.
 * Windows always needs escaping when shell: true due to cmd.exe.
 * Unix typically doesn't need escaping when shell: false.
 *
 * @returns true if shell escaping should be applied
 */
export declare function needsShellEscaping(): boolean;
//# sourceMappingURL=shell-escape.d.ts.map