def BoolProperty(name: str='', description: str='', default=False, options:
    set={'ANIMATABLE'}, subtype: str='NONE', update=None, get=None, set=None):
    """Returns a new boolean property definition. 

    :param name: Name used in the user interface. 
    :type name: str
    :param description: Text used for the tooltip and api documentation. 
    :type description: str
    :param options: Enumerator in [‘HIDDEN’, ‘SKIP_SAVE’, ‘ANIMATABLE’, ‘LIBRARY_EDITABLE’, ‘PROPORTIONAL’,’TEXTEDIT_UPDATE’]. 
    :type options: set
    :param subtype: Enumerator in [‘PIXEL’, ‘UNSIGNED’, ‘PERCENTAGE’, ‘FACTOR’, ‘ANGLE’, ‘TIME’, ‘DISTANCE’, ‘NONE’]. 
    :type subtype: str
    :param update: Function to be called when this value is modified, This function must take 2 values (self, context) and return None. Warning there are no safety checks to avoid infinite recursion. 
    :param get: Function to be called when this value is ‘read’, This function must take 1 value (self) and return the value of the property. 
    :param set: Function to be called when this value is ‘written’, This function must take 2 values (self, value) and return None. 
    """
    pass
