/**
 * Shared Command Executor
 *
 * Provides common command execution logic for tools (remediate, operate, etc.)
 * Uses continue-on-error pattern: executes all commands sequentially regardless
 * of individual failures.
 *
 * PRD #343: Commands are executed through the plugin system via shell_exec tool.
 * The plugin container has RBAC permissions; the MCP server does not.
 */
import { Logger } from './error-handling';
/**
 * Execution result for a single command
 */
export interface CommandExecutionResult {
    command: string;
    success: boolean;
    output?: string;
    error?: string;
    timestamp: Date;
}
/**
 * Options for command execution
 */
export interface CommandExecutionOptions {
    sessionId?: string;
    context?: string;
    logMetadata?: Record<string, unknown>;
}
/**
 * Execute a list of commands sequentially with continue-on-error pattern
 *
 * PRD #343: Commands are executed through the plugin's shell_exec tool.
 * PRD #359: Uses unified plugin registry for tool invocation.
 * The plugin container has RBAC; commands are executed exactly as provided
 * (no parsing or transformation).
 *
 * @param commands - Array of command strings to execute
 * @param logger - Logger instance for tracking execution
 * @param options - Optional execution context and metadata
 * @returns Array of execution results and overall success status
 */
export declare function executeCommands(commands: string[], logger: Logger, options?: CommandExecutionOptions): Promise<{
    results: CommandExecutionResult[];
    overallSuccess: boolean;
}>;
//# sourceMappingURL=command-executor.d.ts.map