from _typeshed import Incomplete

class HDC:
    dc: Incomplete
    def __init__(self, dc) -> None: ...
    def __int__(self) -> int: ...

class HWND:
    wnd: Incomplete
    def __init__(self, wnd) -> None: ...
    def __int__(self) -> int: ...

class Dib:
    image: Incomplete
    mode: Incomplete
    size: Incomplete
    def __init__(self, image, size: Incomplete | None = None) -> None: ...
    def expose(self, handle): ...
    def draw(self, handle, dst, src: Incomplete | None = None): ...
    def query_palette(self, handle): ...
    def paste(self, im, box: Incomplete | None = None) -> None: ...
    def frombytes(self, buffer): ...
    def tobytes(self): ...

class Window:
    hwnd: Incomplete
    def __init__(self, title: str = "PIL", width: Incomplete | None = None, height: Incomplete | None = None) -> None: ...
    def ui_handle_clear(self, dc, x0, y0, x1, y1) -> None: ...
    def ui_handle_damage(self, x0, y0, x1, y1) -> None: ...
    def ui_handle_destroy(self) -> None: ...
    def ui_handle_repair(self, dc, x0, y0, x1, y1) -> None: ...
    def ui_handle_resize(self, width, height) -> None: ...
    def mainloop(self) -> None: ...

class ImageWindow(Window):
    image: Incomplete
    def __init__(self, image, title: str = "PIL") -> None: ...
    def ui_handle_repair(self, dc, x0, y0, x1, y1) -> None: ...
