/**
 * Command Invoker - Programmatic command execution
 *
 * Provides utilities to invoke SpecWeave commands programmatically
 * from within the workflow orchestration system.
 *
 * Part of increment 0039: Ultra-Smart Next Command
 *
 * @module core/workflow/command-invoker
 * @since v0.22.0
 */
/**
 * Command invocation options
 */
export interface InvokeOptions {
    /** Command arguments */
    args?: string[];
    /** Working directory */
    cwd?: string;
    /** Timeout in milliseconds */
    timeout?: number;
    /** Capture stdout */
    captureOutput?: boolean;
}
/**
 * Command invocation result
 */
export interface InvokeResult {
    /** Command succeeded */
    success: boolean;
    /** Exit code */
    exitCode: number;
    /** Standard output */
    stdout?: string;
    /** Standard error */
    stderr?: string;
    /** Error message */
    error?: string;
    /** Execution time in milliseconds */
    executionTime: number;
}
/**
 * Error severity level
 */
export declare enum ErrorSeverity {
    INFO = "info",
    WARNING = "warning",
    ERROR = "error",
    CRITICAL = "critical"
}
/**
 * Command Invoker - Execute SpecWeave commands programmatically
 */
export declare class CommandInvoker {
    /**
     * Invoke a SpecWeave command
     *
     * @param command - Command name (e.g., 'plan', 'do', 'validate')
     * @param options - Invocation options
     * @returns Command execution result
     */
    invoke(command: string, options?: InvokeOptions): Promise<InvokeResult>;
    /**
     * Invoke command with automatic retry on transient failures
     *
     * @param command - Command name
     * @param options - Invocation options
     * @param maxRetries - Maximum retry attempts (default: 3)
     * @returns Command execution result
     */
    invokeWithRetry(command: string, options?: InvokeOptions, maxRetries?: number): Promise<InvokeResult>;
    /**
     * Classify error severity
     */
    classifyError(result: InvokeResult): ErrorSeverity;
    /**
     * Delay execution
     *
     * @param ms - Milliseconds to delay
     */
    private delay;
}
//# sourceMappingURL=command-invoker.d.ts.map