from __future__ import annotations
import omni.appwindow._appwindow
import typing
import carb._carb
import carb.events._events

__all__ = [
    "IAppWindow",
    "IAppWindowFactory",
    "POSITION_CENTERED",
    "POSITION_UNSET",
    "WindowType",
    "acquire_app_window_factory_interface",
    "get_default_app_window"
]


class IAppWindow():
    def broadcast_input_blocking_state(self, arg0: bool) -> None: ...
    def get_action_mapping_set_path(self) -> str: ...
    def get_clipboard(self) -> str: ...
    def get_cursor_blink(self) -> bool: ...
    def get_dpi_scale(self) -> float: ...
    def get_dpi_scale_override(self) -> float: ...
    @staticmethod
    def get_gamepad(*args, **kwargs) -> typing.Any: ...
    def get_height(self) -> int: ...
    @staticmethod
    def get_input_blocking_state(*args, **kwargs) -> typing.Any: ...
    @staticmethod
    def get_keyboard(*args, **kwargs) -> typing.Any: ...
    @staticmethod
    def get_mouse(*args, **kwargs) -> typing.Any: ...
    def get_position(self) -> carb._carb.Int2: ...
    def get_size(self) -> carb._carb.Uint2: ...
    def get_title(self) -> str: ...
    def get_ui_scale(self) -> float: ...
    def get_width(self) -> int: ...
    @staticmethod
    def get_window(*args, **kwargs) -> typing.Any: ...
    def get_window_close_event_stream(self) -> carb.events._events.IEventStream: ...
    def get_window_content_scale_event_stream(self) -> carb.events._events.IEventStream: ...
    def get_window_drop_event_stream(self) -> carb.events._events.IEventStream: ...
    def get_window_focus_event_stream(self) -> carb.events._events.IEventStream: ...
    def get_window_minimize_event_stream(self) -> carb.events._events.IEventStream: ...
    def get_window_move_event_stream(self) -> carb.events._events.IEventStream: ...
    def get_window_resize_event_stream(self) -> carb.events._events.IEventStream: ...
    def is_fullscreen(self) -> bool: ...
    def is_maximized(self) -> bool: ...
    def maximize_window(self) -> None: ...
    def move(self, arg0: int, arg1: int) -> None: ...
    def resize(self, arg0: int, arg1: int) -> None: ...
    def restore_window(self) -> None: ...
    def set_clipboard(self, arg0: str) -> None: ...
    def set_dpi_scale_override(self, arg0: float) -> None: ...
    def set_fullscreen(self, arg0: bool) -> None: ...
    @staticmethod
    def set_input_blocking_state(*args, **kwargs) -> typing.Any: ...
    def shutdown(self) -> bool: ...
    def startup(self, name: str = '') -> bool: ...
    def startup_with_desc(self, title: str, width: int, height: int, x: int = 18446744073709551614, y: int = 18446744073709551614, decorations: bool = True, resize: bool = True, always_on_top: bool = False, scale_to_monitor: bool = True, dpi_scale_override: float = -1.0, cursor_blink: bool = True) -> None: ...
    def update(self, arg0: float) -> None: ...
    @property
    def ui_scale_multiplier(self) -> float:
        """
        :type: float
        """
    @ui_scale_multiplier.setter
    def ui_scale_multiplier(self, arg1: float) -> None:
        pass
    pass
class IAppWindowFactory():
    def create_window_by_type(self, arg0: WindowType) -> IAppWindow: ...
    def create_window_from_settings(self) -> IAppWindow: ...
    def create_window_ptr_by_type(self, arg0: WindowType) -> IAppWindow: ...
    def create_window_ptr_from_settings(self) -> IAppWindow: ...
    def destroy_window_ptr(self, arg0: IAppWindow) -> None: ...
    def get_app_window(self) -> IAppWindow: ...
    def get_default_window(self) -> IAppWindow: ...
    def get_window_at(self, arg0: int) -> IAppWindow: ...
    def get_window_count(self) -> int: ...
    def get_windows(self) -> tuple: ...
    def set_default_window(self, arg0: IAppWindow) -> None: ...
    pass
class WindowType():
    """
    Members:

      OS

      VIRTUAL
    """
    def __eq__(self, other: object) -> bool: ...
    def __getstate__(self) -> int: ...
    def __hash__(self) -> int: ...
    def __index__(self) -> int: ...
    def __init__(self, value: int) -> None: ...
    def __int__(self) -> int: ...
    def __ne__(self, other: object) -> bool: ...
    def __repr__(self) -> str: ...
    def __setstate__(self, state: int) -> None: ...
    @property
    def name(self) -> str:
        """
        :type: str
        """
    @property
    def value(self) -> int:
        """
        :type: int
        """
    OS: omni.appwindow._appwindow.WindowType # value = <WindowType.OS: 1>
    VIRTUAL: omni.appwindow._appwindow.WindowType # value = <WindowType.VIRTUAL: 0>
    __members__: dict # value = {'OS': <WindowType.OS: 1>, 'VIRTUAL': <WindowType.VIRTUAL: 0>}
    pass
def acquire_app_window_factory_interface(*args, **kwargs) -> typing.Any:
    pass
def get_default_app_window(*args, **kwargs) -> typing.Any:
    pass
POSITION_CENTERED = 18446744073709551615
POSITION_UNSET = 18446744073709551614
