import type { ExecutionResult, CommandExecutor } from '../../modules/review-execution/entities/reviewAction/reviewAction.gateway.js';
export interface CommandInfo {
    command: string;
    args: string[];
}
export declare abstract class ExecutionGatewayBase<TAction, TContext extends {
    localPath: string;
}> {
    protected readonly executor: CommandExecutor;
    constructor(executor: CommandExecutor);
    protected abstract buildCommand(action: TAction, context: TContext): CommandInfo | null;
    execute(actions: TAction[], context: TContext): Promise<ExecutionResult>;
}
//# sourceMappingURL=executionGateway.base.d.ts.map