from __future__ import annotations
import omni.kit.imgui_renderer._imgui_renderer
import typing
import omni.appwindow._appwindow

__all__ = [
    "IImGuiRenderer",
    "acquire_imgui_renderer_interface",
    "release_imgui_renderer_interface"
]


class IImGuiRenderer():
    def attach_app_window(self, arg0: omni.appwindow._appwindow.IAppWindow) -> bool: ...
    @staticmethod
    def attach_app_window_with_imgui_context(*args, **kwargs) -> typing.Any: ...
    def clear_cursor_shape_override(self, arg0: omni.appwindow._appwindow.IAppWindow) -> None: ...
    def detach_app_window(self, arg0: omni.appwindow._appwindow.IAppWindow) -> None: ...
    def get_all_cursor_shape_names(self) -> typing.List[str]: ...
    @staticmethod
    def get_cursor_shape_override(*args, **kwargs) -> typing.Any: ...
    @staticmethod
    def get_cursor_shape_override_extend(*args, **kwargs) -> typing.Any: ...
    @staticmethod
    def get_window_set(*args, **kwargs) -> typing.Any: ...
    def has_cursor_shape_override(self, arg0: omni.appwindow._appwindow.IAppWindow) -> bool: ...
    def is_app_window_attached(self, arg0: omni.appwindow._appwindow.IAppWindow) -> bool: ...
    def register_cursor_shape_extend(self, arg0: str, arg1: str) -> None: ...
    @staticmethod
    def set_cursor_shape_override(*args, **kwargs) -> typing.Any: ...
    def set_cursor_shape_override_extend(self, arg0: omni.appwindow._appwindow.IAppWindow, arg1: str) -> None: ...
    def shutdown(self) -> None: ...
    def startup(self) -> None: ...
    def unregister_cursor_shape_extend(self, arg0: str) -> None: ...
    pass
def acquire_imgui_renderer_interface(plugin_name: str = None, library_path: str = None) -> IImGuiRenderer:
    pass
def release_imgui_renderer_interface(arg0: IImGuiRenderer) -> None:
    pass
