/**
 * Shell Auto-Detection for Cross-Platform Support
 *
 * Detects available shells and selects the best one for installation scripts.
 * Priority: Bash (preferred) > PowerShell > cmd (Windows fallback)
 *
 * Environment variable override: SPECWEAVE_SHELL=bash|powershell|cmd
 *
 * @module core/lazy-loading/shell-detector
 */
/** Supported shell types */
export type ShellType = 'bash' | 'powershell' | 'cmd';
/** Shell detection result */
export interface ShellInfo {
    type: ShellType;
    path: string;
    version?: string;
    isOverride: boolean;
}
/** Shell detection options */
export interface DetectionOptions {
    /** Force specific shell (overrides auto-detection) */
    forceShell?: ShellType;
    /** Skip version detection (faster) */
    skipVersion?: boolean;
}
/**
 * Environment variable for shell override
 */
export declare const SHELL_OVERRIDE_ENV = "SPECWEAVE_SHELL";
/**
 * Detect available shells on the system
 */
export declare function detectAvailableShells(): ShellType[];
/**
 * Detect the best shell for installation scripts
 *
 * Priority: Environment override > Bash > PowerShell > cmd
 *
 * @param options Detection options
 * @returns Shell information
 */
export declare function detectShell(options?: DetectionOptions): ShellInfo;
/**
 * Get the script file extension for a shell
 */
export declare function getScriptExtension(shell: ShellType): string;
/**
 * Get the script path for installation
 */
export declare function getInstallScriptPath(shell: ShellType): string;
/**
 * Build the command to execute an installation script
 */
export declare function buildInstallCommand(shell: ShellType, scriptPath: string, args?: string[]): string;
/**
 * Get human-readable shell name
 */
export declare function getShellDisplayName(shell: ShellType): string;
/**
 * Validate that a shell is available
 */
export declare function validateShell(shell: ShellType): boolean;
/**
 * Get shell detection summary for logging/display
 */
export declare function getShellSummary(): string;
//# sourceMappingURL=shell-detector.d.ts.map