from io import BytesIO
from PIL import Image as PilImage
from ...types.he import He


ICO_CLOSE = ...
ICO_DEMO = ...
ICO_DOCUMENT = ...
ICO_HELP = ...
ICO_HOME = ...
ICO_ICON = ...
ICO_INFO = ...
ICO_APPMOD_LANGUAGE = ...
ICO_MAXIMIZE = ...
ICO_MINIMIZE = ...
ICO_MORE = ...
ICO_NORMALIZE = ...
ICO_QUITE = ...
ICO_SETTING = ...
ICO_USER = ...
ICO_HEBILL = ...
ICO_YANGS = ...


class Image(He):
    def __init__(self, u, source:str): ...

    @property
    def source(self)-> str: return ...
    @property
    def bytes_io(self)-> BytesIO: ...
    @property
    def bites(self)-> bytes: ...
    ##########
    def output_pil_image_obj(self, width: int = None, height: int = None)-> PilImage.Image: ...
    def save_by_pil_image(self, file: str | BytesIO, width: int = None, height: int = None)-> PilImage.Image: ...

    def pil_icons(self, file: str = None, sizes: list | tuple = None):...
    def save_as_pil_icons(self, file: str = None, sizes: list | tuple = None):...
    # 使用 wx.Image
    def wx_image(self, width: int = None, height: int = None):...
    def save_as_wx_image(self, file: str | BytesIO = None, width: int = None, height: int = None):...
    # 使用 wx.Bitmap
    def wx_bitmap(self, width: int = None, height: int = None):...
    def save_as_wx_bitmap(self, file: str = None, width: int = None, height: int = None):...
    def wx_bitmap_io(self, width: int = None, height: int = None):...
    # 使用 wx.Icon
    def wx_icon(self, size: int = None):...
    def save_as_wx_icon(self, file: str = None, size: int = None): ...
    def wx_icons(self, sizes: list = None): ...


class IconClose(Image):
    def __init__(self, u): ...
class IconDemo(Image):
    def __init__(self, u):...
class IconDocument(Image):
    def __init__(self, u): ...
class IconHelp(Image):
    def __init__(self, u): ...
class IconHome(Image):
    def __init__(self, u): ...
class IconIcon(Image):
    def __init__(self, u): ...
class IconInfo(Image):
    def __init__(self, u): ...
class IconLangauge(Image):
    def __init__(self, u): ...
class IconMaximize(Image):
    def __init__(self, u): ...
class IconMinimize(Image):
    def __init__(self, u): ...
class IconMore(Image):
    def __init__(self, u): ...
class IconNormalize(Image):
    def __init__(self, u): ...
class IconQuite(Image):
    def __init__(self, u): ...
class IconSetting(Image):
    def __init__(self, u): ...
class IconUser(Image):
    def __init__(self, u): ...
class IconHebill(Image):
    def __init__(self, u): ...
class IconYangs(Image):
    def __init__(self, u): ...
