Do we need signed/unsigned data flag?
Seriously - No. The data can be easily changed to signed as default losslessly. Unsigned 8-bit data (where 128 is the median) is easily changed to signed, and changed back if being saved as RIFF/WAV (which only supports unsigned 8-bit).
Do we need to record int/float data flag?
Can int/float data be losslessly (and easily) converted? If so, we should probobally keep all data as signed int and let the application convert as nessesary.
Do we need to offer endian data flag?
LSB/MSB can be changed losslessly, one should probobally be settled on for the data and stick with it. It's a fainly low-CPU process to change the endian on the application side in any event, and if the application uses the bitpacker, this isn't even an issue.