You should declare only the public properties which define the concept represented by the object. This means that first you need to define WHAT is the single responsibility of the object. Then expose the properties you want used by other objects.
Don't expose internal details i.e things that another object shouldn't care. If you just want to define a data structure (only fields, no behaviour) use directly an array it's easier.