Hi..
You can check Razavi for a brief view. The current could be fixed depending on the power constraints,slew rate constraints and the next block you are giving this output to(pushing equal current densities might be helpful if you want to maintain a vgs,for example).
Also the current in m1,m2 must be around 1.5 times that of the current in the diff pair,in order that the current through the cascode legs will not fall to 0 or a low value.
You can assume a similar vdsat for the cascodes and design taking care of the i/p o/p swings,and if there are any discrepancies you can adjust those values. Generally this architecture is used when there is a high vdd,say 3.3v. So,you won't have much of that problem unless otherwise,you need a relatively large swing.