As mentioned. It depends on what you try to accomplish. What are all the variations/variables/parameters that should be able to be set.
Maybe you could do with placing several windows and then use visibility settings to control which and how many windows are shown. For example you can place tow windows on top of each other (left swing and right swing) and then use the visibility to show the ones needed and hide the one not needed. Or you could use single nested families which have a setting for left or right swing.
If it gets too big or too complicated it might be better to split it out to multiple families.
Just experiment to see what works. I have made many families anew several times. Sometimes because I found more efficient way to model and sometimes because of changed/increased needs and found a different method thet worked better
Louis

Please mention Revit version, especially when uploading Revit files.