if False:
    from typing import Dict, List, Tuple, Union, Optional


class UILabel:
    """
    Wrapper class around UI labels and buttons. It allows us to define
    a piece of UI once and use it across multiple UI elements.
    """

    def __init__(self, label='None', annotation='None', image='None', command='None',
                 command_pack="'<function pack_cmd>'", command_args='[]', command_keywords='{}', option_box='False',
                 check_box="''", disabled='False', radio_cb='[]', enable_cb='[]', divider_label='None'): pass

    def annotation(self): pass

    def check_box(self): pass

    def command(self): pass

    def command_option(self): pass

    def divider_label(self): pass

    def enabled(self):
        """
        Returns true if the UI should be created enabled. If a enable_cb
        is defined then execute the callback to determine if we should
        enable or disable the UI.
        """
        pass

    def image(self): pass

    def label(self): pass

    def option_box(self): pass

    def radioGrpItem(self):
        """
        Returns true if this ui label support check box menu item.
        """
        pass

    def radioItemOn(self):
        """
        If a check box callback has been added to this UI entry. Call that
        callback to determine if the item should be checked.
        """
        pass

    def setArgs(self, args): pass

    def setCommand(self, command): pass

    def type(self): pass


class UILabelGroup(UILabel):
    def __init__(self, label, items, radioGroup='False'): pass

    def items(self): pass

    def postMenuCommand(self): pass

    def radioGroup(self): pass

    def setArgs(self, args): pass

    def type(self): pass


def pack_load(command, command_args, command_keywords):
    """
    Identical to pack_cmd but it insures the plug-in is loaded before
    calling the command.
    """
    pass


def pack_cmd(command, command_args, command_keywords):
    """
    Packs the python command into a string command that can be
    executed by Maya.  Keywords argument is currently not implemented
    and is a placeholder for future code.
    """
    pass


EmptyLabel = UILabel()
