# /!\ Autogenerated code, modifications will be lost /!\
# see `generation/generate_bindings.py`

# Imports needed for typing
# (Note PEP484 state that import without as and * are not exposed by the stub file)
from typing import Any, Union
from enum import IntFlag
from godot.builtins import (
    AABB,
    Array,
    Basis,
    Color,
    Dictionary,
    NodePath,
    Plane,
    Quat,
    Rect2,
    RID,
    Transform2D,
    Transform,
    Vector2,
    Vector3,
    PoolByteArray,
    PoolIntArray,
    PoolRealArray,
    PoolStringArray,
    PoolVector2Array,
    PoolVector3Array,
    PoolColorArray,
    GDString,
)


class Error(IntFlag):
    OK: int
    FAILED: int
    ERR_UNAVAILABLE: int
    ERR_UNCONFIGURED: int
    ERR_UNAUTHORIZED: int
    ERR_PARAMETER_RANGE_ERROR: int
    ERR_OUT_OF_MEMORY: int
    ERR_FILE_NOT_FOUND: int
    ERR_FILE_BAD_DRIVE: int
    ERR_FILE_BAD_PATH: int
    ERR_FILE_NO_PERMISSION: int
    ERR_FILE_ALREADY_IN_USE: int
    ERR_FILE_CANT_OPEN: int
    ERR_FILE_CANT_WRITE: int
    ERR_FILE_CANT_READ: int
    ERR_FILE_UNRECOGNIZED: int
    ERR_FILE_CORRUPT: int
    ERR_FILE_MISSING_DEPENDENCIES: int
    ERR_FILE_EOF: int
    ERR_CANT_OPEN: int
    ERR_CANT_CREATE: int
    ERR_QUERY_FAILED: int
    ERR_ALREADY_IN_USE: int
    ERR_LOCKED: int
    ERR_TIMEOUT: int
    ERR_CANT_CONNECT: int
    ERR_CANT_RESOLVE: int
    ERR_CONNECTION_ERROR: int
    ERR_CANT_ACQUIRE_RESOURCE: int
    ERR_CANT_FORK: int
    ERR_INVALID_DATA: int
    ERR_INVALID_PARAMETER: int
    ERR_ALREADY_EXISTS: int
    ERR_DOES_NOT_EXIST: int
    ERR_DATABASE_CANT_READ: int
    ERR_DATABASE_CANT_WRITE: int
    ERR_COMPILATION_FAILED: int
    ERR_METHOD_NOT_FOUND: int
    ERR_LINK_FAILED: int
    ERR_SCRIPT_FAILED: int
    ERR_CYCLIC_LINK: int
    ERR_INVALID_DECLARATION: int
    ERR_DUPLICATE_SYMBOL: int
    ERR_PARSE_ERROR: int
    ERR_BUSY: int
    ERR_SKIP: int
    ERR_HELP: int
    ERR_BUG: int
    ERR_PRINTER_ON_FIRE: int


class VariantType(IntFlag):
    NIL: int
    BOOL: int
    INT: int
    REAL: int
    STRING: int
    VECTOR2: int
    RECT2: int
    VECTOR3: int
    TRANSFORM2D: int
    PLANE: int
    QUAT: int
    AABB: int
    BASIS: int
    TRANSFORM: int
    COLOR: int
    NODE_PATH: int
    RID: int
    OBJECT: int
    DICTIONARY: int
    ARRAY: int
    POOL_BYTE_ARRAY: int
    POOL_INT_ARRAY: int
    POOL_REAL_ARRAY: int
    POOL_STRING_ARRAY: int
    POOL_VECTOR2_ARRAY: int
    POOL_VECTOR3_ARRAY: int
    POOL_COLOR_ARRAY: int


class VariantOperator(IntFlag):
    EQUAL: int
    NOT_EQUAL: int
    LESS: int
    LESS_EQUAL: int
    GREATER: int
    GREATER_EQUAL: int
    ADD: int
    SUBTRACT: int
    MULTIPLY: int
    DIVIDE: int
    NEGATE: int
    POSITIVE: int
    MODULE: int
    STRING_CONCAT: int
    SHIFT_LEFT: int
    SHIFT_RIGHT: int
    BIT_AND: int
    BIT_OR: int
    BIT_XOR: int
    BIT_NEGATE: int
    AND: int
    OR: int
    XOR: int
    NOT: int
    IN: int
    MAX: int


### Classes ###


class Object():
    def free(self) -> None: ...
    def __init__(self): ...
    def __repr__(self) -> str: ...
    def __eq__(self, other: object) -> bool: ...
    def __ne__(self, other: object) -> bool: ...
    def __getattr__(self, name: str) -> Any: ...
    def __setattr__(self, name: str, value: Any): ...
    def call(self, name: str, *args) -> Any: ...



    @staticmethod
    def new() -> Object: ...


    # Constants
    CONNECT_DEFERRED: int
    CONNECT_ONESHOT: int
    CONNECT_PERSIST: int
    CONNECT_REFERENCE_COUNTED: int
    NOTIFICATION_POSTINITIALIZE: int
    NOTIFICATION_PREDELETE: int
    # Enums
    class ConnectFlags(IntFlag):
        CONNECT_DEFERRED: int
        CONNECT_PERSIST: int
        CONNECT_ONESHOT: int
        CONNECT_REFERENCE_COUNTED: int

    # Methods
    def add_user_signal(self,signal: Union[str, GDString],arguments: Array=Array(),) -> None: ...
    def callv(self,method: Union[str, GDString],arg_array: Array,) -> object: ...
    def can_translate_messages(self,) -> bool: ...
    def connect(self,signal: Union[str, GDString],target: Object,method: Union[str, GDString],binds: Array=Array(),flags: int=0,) -> Error: ...
    def disconnect(self,signal: Union[str, GDString],target: Object,method: Union[str, GDString],) -> None: ...
    def get(self,property: Union[str, GDString],) -> object: ...
    def get_class(self,) -> Union[str, GDString]: ...
    def get_incoming_connections(self,) -> Array: ...
    def get_indexed(self,property: Union[str, NodePath],) -> object: ...
    def get_instance_id(self,) -> int: ...
    def get_meta(self,name: Union[str, GDString],) -> object: ...
    def get_meta_list(self,) -> PoolStringArray: ...
    def get_method_list(self,) -> Array: ...
    def get_property_list(self,) -> Array: ...
    def get_script(self,) -> Reference: ...
    def get_signal_connection_list(self,signal: Union[str, GDString],) -> Array: ...
    def get_signal_list(self,) -> Array: ...
    def has_meta(self,name: Union[str, GDString],) -> bool: ...
    def has_method(self,method: Union[str, GDString],) -> bool: ...
    def has_signal(self,signal: Union[str, GDString],) -> bool: ...
    def has_user_signal(self,signal: Union[str, GDString],) -> bool: ...
    def is_blocking_signals(self,) -> bool: ...
    def is_class(self,class_: Union[str, GDString],) -> bool: ...
    def is_connected(self,signal: Union[str, GDString],target: Object,method: Union[str, GDString],) -> bool: ...
    def is_queued_for_deletion(self,) -> bool: ...
    def notification(self,what: int,reversed: bool=False,) -> None: ...
    def property_list_changed_notify(self,) -> None: ...
    def remove_meta(self,name: Union[str, GDString],) -> None: ...
    def set(self,property: Union[str, GDString],value: object,) -> None: ...
    def set_block_signals(self,enable: bool,) -> None: ...
    def set_deferred(self,property: Union[str, GDString],value: object,) -> None: ...
    def set_indexed(self,property: Union[str, NodePath],value: object,) -> None: ...
    def set_message_translation(self,enable: bool,) -> None: ...
    def set_meta(self,name: Union[str, GDString],value: object,) -> None: ...
    def set_script(self,script: Reference,) -> None: ...
    def to_string(self,) -> Union[str, GDString]: ...
    def tr(self,message: Union[str, GDString],) -> Union[str, GDString]: ...




class ARVRPositionalTracker(Object):


    @staticmethod
    def new() -> ARVRPositionalTracker: ...


    # Constants
    TRACKER_HAND_UNKNOWN: int
    TRACKER_LEFT_HAND: int
    TRACKER_RIGHT_HAND: int
    # Enums
    class TrackerHand(IntFlag):
        TRACKER_HAND_UNKNOWN: int
        TRACKER_LEFT_HAND: int
        TRACKER_RIGHT_HAND: int

    # Methods
    def get_hand(self,) -> ARVRPositionalTracker.TrackerHand: ...
    def get_joy_id(self,) -> int: ...
    def get_mesh(self,) -> Mesh: ...
    def get_name(self,) -> Union[str, GDString]: ...
    def get_orientation(self,) -> Basis: ...
    def get_position(self,) -> Vector3: ...
    def get_rumble(self,) -> float: ...
    def get_tracker_id(self,) -> int: ...
    def get_tracks_orientation(self,) -> bool: ...
    def get_tracks_position(self,) -> bool: ...
    def get_transform(self,adjust_by_reference_frame: bool,) -> Transform: ...
    def get_type(self,) -> _ARVRServer.TrackerType: ...
    def set_rumble(self,rumble: float,) -> None: ...

    # Properties
    rumble: float



class _ARVRServer(Object):

    # Constants
    DONT_RESET_ROTATION: int
    RESET_BUT_KEEP_TILT: int
    RESET_FULL_ROTATION: int
    TRACKER_ANCHOR: int
    TRACKER_ANY: int
    TRACKER_ANY_KNOWN: int
    TRACKER_BASESTATION: int
    TRACKER_CONTROLLER: int
    TRACKER_UNKNOWN: int
    # Enums
    class RotationMode(IntFlag):
        RESET_FULL_ROTATION: int
        RESET_BUT_KEEP_TILT: int
        DONT_RESET_ROTATION: int
    class TrackerType(IntFlag):
        TRACKER_CONTROLLER: int
        TRACKER_BASESTATION: int
        TRACKER_ANCHOR: int
        TRACKER_ANY_KNOWN: int
        TRACKER_UNKNOWN: int
        TRACKER_ANY: int

    # Methods
    def center_on_hmd(self,rotation_mode: int,keep_height: bool,) -> None: ...
    def find_interface(self,name: Union[str, GDString],) -> ARVRInterface: ...
    def get_hmd_transform(self,) -> Transform: ...
    def get_interface(self,idx: int,) -> ARVRInterface: ...
    def get_interface_count(self,) -> int: ...
    def get_interfaces(self,) -> Array: ...
    def get_last_commit_usec(self,) -> int: ...
    def get_last_frame_usec(self,) -> int: ...
    def get_last_process_usec(self,) -> int: ...
    def get_primary_interface(self,) -> ARVRInterface: ...
    def get_reference_frame(self,) -> Transform: ...
    def get_tracker(self,idx: int,) -> ARVRPositionalTracker: ...
    def get_tracker_count(self,) -> int: ...
    def get_world_scale(self,) -> float: ...
    def set_primary_interface(self,interface: ARVRInterface,) -> None: ...
    def set_world_scale(self,arg0: float,) -> None: ...

    # Properties
    primary_interface: Object
    world_scale: float



class _AudioServer(Object):

    # Constants
    SPEAKER_MODE_STEREO: int
    SPEAKER_SURROUND_31: int
    SPEAKER_SURROUND_51: int
    SPEAKER_SURROUND_71: int
    # Enums
    class SpeakerMode(IntFlag):
        SPEAKER_MODE_STEREO: int
        SPEAKER_SURROUND_31: int
        SPEAKER_SURROUND_51: int
        SPEAKER_SURROUND_71: int

    # Methods
    def add_bus(self,at_position: int=-1,) -> None: ...
    def add_bus_effect(self,bus_idx: int,effect: AudioEffect,at_position: int=-1,) -> None: ...
    def capture_get_device(self,) -> Union[str, GDString]: ...
    def capture_get_device_list(self,) -> Array: ...
    def capture_set_device(self,name: Union[str, GDString],) -> None: ...
    def generate_bus_layout(self,) -> AudioBusLayout: ...
    def get_bus_channels(self,bus_idx: int,) -> int: ...
    def get_bus_count(self,) -> int: ...
    def get_bus_effect(self,bus_idx: int,effect_idx: int,) -> AudioEffect: ...
    def get_bus_effect_count(self,bus_idx: int,) -> int: ...
    def get_bus_effect_instance(self,bus_idx: int,effect_idx: int,channel: int=0,) -> AudioEffectInstance: ...
    def get_bus_index(self,bus_name: Union[str, GDString],) -> int: ...
    def get_bus_name(self,bus_idx: int,) -> Union[str, GDString]: ...
    def get_bus_peak_volume_left_db(self,bus_idx: int,channel: int,) -> float: ...
    def get_bus_peak_volume_right_db(self,bus_idx: int,channel: int,) -> float: ...
    def get_bus_send(self,bus_idx: int,) -> Union[str, GDString]: ...
    def get_bus_volume_db(self,bus_idx: int,) -> float: ...
    def get_device(self,) -> Union[str, GDString]: ...
    def get_device_list(self,) -> Array: ...
    def get_global_rate_scale(self,) -> float: ...
    def get_mix_rate(self,) -> float: ...
    def get_output_latency(self,) -> float: ...
    def get_speaker_mode(self,) -> _AudioServer.SpeakerMode: ...
    def get_time_since_last_mix(self,) -> float: ...
    def get_time_to_next_mix(self,) -> float: ...
    def is_bus_bypassing_effects(self,bus_idx: int,) -> bool: ...
    def is_bus_effect_enabled(self,bus_idx: int,effect_idx: int,) -> bool: ...
    def is_bus_mute(self,bus_idx: int,) -> bool: ...
    def is_bus_solo(self,bus_idx: int,) -> bool: ...
    def lock(self,) -> None: ...
    def move_bus(self,index: int,to_index: int,) -> None: ...
    def remove_bus(self,index: int,) -> None: ...
    def remove_bus_effect(self,bus_idx: int,effect_idx: int,) -> None: ...
    def set_bus_bypass_effects(self,bus_idx: int,enable: bool,) -> None: ...
    def set_bus_count(self,amount: int,) -> None: ...
    def set_bus_effect_enabled(self,bus_idx: int,effect_idx: int,enabled: bool,) -> None: ...
    def set_bus_layout(self,bus_layout: AudioBusLayout,) -> None: ...
    def set_bus_mute(self,bus_idx: int,enable: bool,) -> None: ...
    def set_bus_name(self,bus_idx: int,name: Union[str, GDString],) -> None: ...
    def set_bus_send(self,bus_idx: int,send: Union[str, GDString],) -> None: ...
    def set_bus_solo(self,bus_idx: int,enable: bool,) -> None: ...
    def set_bus_volume_db(self,bus_idx: int,volume_db: float,) -> None: ...
    def set_device(self,device: Union[str, GDString],) -> None: ...
    def set_global_rate_scale(self,scale: float,) -> None: ...
    def swap_bus_effects(self,bus_idx: int,effect_idx: int,by_effect_idx: int,) -> None: ...
    def unlock(self,) -> None: ...

    # Properties
    bus_count: int
    device: Union[str, GDString]
    global_rate_scale: float



class _CameraServer(Object):

    # Constants
    FEED_CBCR_IMAGE: int
    FEED_RGBA_IMAGE: int
    FEED_YCBCR_IMAGE: int
    FEED_Y_IMAGE: int
    # Enums
    class FeedImage(IntFlag):
        FEED_RGBA_IMAGE: int
        FEED_YCBCR_IMAGE: int
        FEED_Y_IMAGE: int
        FEED_CBCR_IMAGE: int

    # Methods
    def add_feed(self,feed: CameraFeed,) -> None: ...
    def feeds(self,) -> Array: ...
    def get_feed(self,index: int,) -> CameraFeed: ...
    def get_feed_count(self,) -> int: ...
    def remove_feed(self,feed: CameraFeed,) -> None: ...




class EditorFileSystemDirectory(Object):


    # Methods
    def find_dir_index(self,name: Union[str, GDString],) -> int: ...
    def find_file_index(self,name: Union[str, GDString],) -> int: ...
    def get_file(self,idx: int,) -> Union[str, GDString]: ...
    def get_file_count(self,) -> int: ...
    def get_file_import_is_valid(self,idx: int,) -> bool: ...
    def get_file_path(self,idx: int,) -> Union[str, GDString]: ...
    def get_file_script_class_extends(self,idx: int,) -> Union[str, GDString]: ...
    def get_file_script_class_name(self,idx: int,) -> Union[str, GDString]: ...
    def get_file_type(self,idx: int,) -> Union[str, GDString]: ...
    def get_name(self,) -> Union[str, GDString]: ...
    def get_parent(self,) -> EditorFileSystemDirectory: ...
    def get_path(self,) -> Union[str, GDString]: ...
    def get_subdir(self,idx: int,) -> EditorFileSystemDirectory: ...
    def get_subdir_count(self,) -> int: ...




class EditorNavigationMeshGenerator(Object):


    # Methods
    def bake(self,nav_mesh: NavigationMesh,root_node: Node,) -> None: ...
    def clear(self,nav_mesh: NavigationMesh,) -> None: ...




class EditorSelection(Object):


    # Methods
    def add_node(self,node: Node,) -> None: ...
    def clear(self,) -> None: ...
    def get_selected_nodes(self,) -> Array: ...
    def get_transformable_selected_nodes(self,) -> Array: ...
    def remove_node(self,node: Node,) -> None: ...




class EditorVCSInterface(Object):


    # Methods
    def commit(self,msg: Union[str, GDString],) -> None: ...
    def get_file_diff(self,file_path: Union[str, GDString],) -> Array: ...
    def get_modified_files_data(self,) -> Dictionary: ...
    def get_project_name(self,) -> Union[str, GDString]: ...
    def get_vcs_name(self,) -> Union[str, GDString]: ...
    def initialize(self,project_root_path: Union[str, GDString],) -> bool: ...
    def is_addon_ready(self,) -> bool: ...
    def is_vcs_initialized(self,) -> bool: ...
    def shut_down(self,) -> bool: ...
    def stage_file(self,file_path: Union[str, GDString],) -> None: ...
    def unstage_file(self,file_path: Union[str, GDString],) -> None: ...




class _IP(Object):

    # Constants
    RESOLVER_INVALID_ID: int
    RESOLVER_MAX_QUERIES: int
    RESOLVER_STATUS_DONE: int
    RESOLVER_STATUS_ERROR: int
    RESOLVER_STATUS_NONE: int
    RESOLVER_STATUS_WAITING: int
    TYPE_ANY: int
    TYPE_IPV4: int
    TYPE_IPV6: int
    TYPE_NONE: int
    # Enums
    class ResolverStatus(IntFlag):
        RESOLVER_STATUS_NONE: int
        RESOLVER_STATUS_WAITING: int
        RESOLVER_STATUS_DONE: int
        RESOLVER_STATUS_ERROR: int
    class Type(IntFlag):
        TYPE_NONE: int
        TYPE_IPV4: int
        TYPE_IPV6: int
        TYPE_ANY: int

    # Methods
    def clear_cache(self,hostname: Union[str, GDString]="",) -> None: ...
    def erase_resolve_item(self,id: int,) -> None: ...
    def get_local_addresses(self,) -> Array: ...
    def get_local_interfaces(self,) -> Array: ...
    def get_resolve_item_address(self,id: int,) -> Union[str, GDString]: ...
    def get_resolve_item_status(self,id: int,) -> _IP.ResolverStatus: ...
    def resolve_hostname(self,host: Union[str, GDString],ip_type: int=3,) -> Union[str, GDString]: ...
    def resolve_hostname_queue_item(self,host: Union[str, GDString],ip_type: int=3,) -> int: ...




class _Input(Object):

    # Constants
    CURSOR_ARROW: int
    CURSOR_BDIAGSIZE: int
    CURSOR_BUSY: int
    CURSOR_CAN_DROP: int
    CURSOR_CROSS: int
    CURSOR_DRAG: int
    CURSOR_FDIAGSIZE: int
    CURSOR_FORBIDDEN: int
    CURSOR_HELP: int
    CURSOR_HSIZE: int
    CURSOR_HSPLIT: int
    CURSOR_IBEAM: int
    CURSOR_MOVE: int
    CURSOR_POINTING_HAND: int
    CURSOR_VSIZE: int
    CURSOR_VSPLIT: int
    CURSOR_WAIT: int
    MOUSE_MODE_CAPTURED: int
    MOUSE_MODE_CONFINED: int
    MOUSE_MODE_HIDDEN: int
    MOUSE_MODE_VISIBLE: int
    # Enums
    class MouseMode(IntFlag):
        MOUSE_MODE_VISIBLE: int
        MOUSE_MODE_HIDDEN: int
        MOUSE_MODE_CAPTURED: int
        MOUSE_MODE_CONFINED: int
    class CursorShape(IntFlag):
        CURSOR_ARROW: int
        CURSOR_IBEAM: int
        CURSOR_POINTING_HAND: int
        CURSOR_CROSS: int
        CURSOR_WAIT: int
        CURSOR_BUSY: int
        CURSOR_DRAG: int
        CURSOR_CAN_DROP: int
        CURSOR_FORBIDDEN: int
        CURSOR_VSIZE: int
        CURSOR_HSIZE: int
        CURSOR_BDIAGSIZE: int
        CURSOR_FDIAGSIZE: int
        CURSOR_MOVE: int
        CURSOR_VSPLIT: int
        CURSOR_HSPLIT: int
        CURSOR_HELP: int

    # Methods
    def action_press(self,action: Union[str, GDString],strength: float=1,) -> None: ...
    def action_release(self,action: Union[str, GDString],) -> None: ...
    def add_joy_mapping(self,mapping: Union[str, GDString],update_existing: bool=False,) -> None: ...
    def get_accelerometer(self,) -> Vector3: ...
    def get_action_strength(self,action: Union[str, GDString],) -> float: ...
    def get_connected_joypads(self,) -> Array: ...
    def get_current_cursor_shape(self,) -> _Input.CursorShape: ...
    def get_gravity(self,) -> Vector3: ...
    def get_gyroscope(self,) -> Vector3: ...
    def get_joy_axis(self,device: int,axis: int,) -> float: ...
    def get_joy_axis_index_from_string(self,axis: Union[str, GDString],) -> int: ...
    def get_joy_axis_string(self,axis_index: int,) -> Union[str, GDString]: ...
    def get_joy_button_index_from_string(self,button: Union[str, GDString],) -> int: ...
    def get_joy_button_string(self,button_index: int,) -> Union[str, GDString]: ...
    def get_joy_guid(self,device: int,) -> Union[str, GDString]: ...
    def get_joy_name(self,device: int,) -> Union[str, GDString]: ...
    def get_joy_vibration_duration(self,device: int,) -> float: ...
    def get_joy_vibration_strength(self,device: int,) -> Vector2: ...
    def get_last_mouse_speed(self,) -> Vector2: ...
    def get_magnetometer(self,) -> Vector3: ...
    def get_mouse_button_mask(self,) -> int: ...
    def get_mouse_mode(self,) -> _Input.MouseMode: ...
    def is_action_just_pressed(self,action: Union[str, GDString],) -> bool: ...
    def is_action_just_released(self,action: Union[str, GDString],) -> bool: ...
    def is_action_pressed(self,action: Union[str, GDString],) -> bool: ...
    def is_joy_button_pressed(self,device: int,button: int,) -> bool: ...
    def is_joy_known(self,device: int,) -> bool: ...
    def is_key_pressed(self,scancode: int,) -> bool: ...
    def is_mouse_button_pressed(self,button: int,) -> bool: ...
    def joy_connection_changed(self,device: int,connected: bool,name: Union[str, GDString],guid: Union[str, GDString],) -> None: ...
    def parse_input_event(self,event: InputEvent,) -> None: ...
    def remove_joy_mapping(self,guid: Union[str, GDString],) -> None: ...
    def set_custom_mouse_cursor(self,image: Resource,shape: int=0,hotspot: Vector2=Vector2(0, 0),) -> None: ...
    def set_default_cursor_shape(self,shape: int=0,) -> None: ...
    def set_mouse_mode(self,mode: int,) -> None: ...
    def set_use_accumulated_input(self,enable: bool,) -> None: ...
    def start_joy_vibration(self,device: int,weak_magnitude: float,strong_magnitude: float,duration: float=0,) -> None: ...
    def stop_joy_vibration(self,device: int,) -> None: ...
    def vibrate_handheld(self,duration_ms: int=500,) -> None: ...
    def warp_mouse_position(self,to: Vector2,) -> None: ...




class _InputMap(Object):


    # Methods
    def action_add_event(self,action: Union[str, GDString],event: InputEvent,) -> None: ...
    def action_erase_event(self,action: Union[str, GDString],event: InputEvent,) -> None: ...
    def action_erase_events(self,action: Union[str, GDString],) -> None: ...
    def action_has_event(self,action: Union[str, GDString],event: InputEvent,) -> bool: ...
    def action_set_deadzone(self,action: Union[str, GDString],deadzone: float,) -> None: ...
    def add_action(self,action: Union[str, GDString],deadzone: float=0.5,) -> None: ...
    def erase_action(self,action: Union[str, GDString],) -> None: ...
    def event_is_action(self,event: InputEvent,action: Union[str, GDString],) -> bool: ...
    def get_action_list(self,action: Union[str, GDString],) -> Array: ...
    def get_actions(self,) -> Array: ...
    def has_action(self,action: Union[str, GDString],) -> bool: ...
    def load_from_globals(self,) -> None: ...




class JNISingleton(Object):


    @staticmethod
    def new() -> JNISingleton: ...





    pass


class JSONRPC(Object):


    @staticmethod
    def new() -> JSONRPC: ...


    # Constants
    INTERNAL_ERROR: int
    INVALID_PARAMS: int
    INVALID_REQUEST: int
    METHOD_NOT_FOUND: int
    PARSE_ERROR: int
    # Enums
    class ErrorCode(IntFlag):
        PARSE_ERROR: int
        INTERNAL_ERROR: int
        INVALID_PARAMS: int
        METHOD_NOT_FOUND: int
        INVALID_REQUEST: int

    # Methods
    def make_notification(self,method: Union[str, GDString],params: object,) -> Dictionary: ...
    def make_request(self,method: Union[str, GDString],params: object,id: object,) -> Dictionary: ...
    def make_response(self,result: object,id: object,) -> Dictionary: ...
    def make_response_error(self,code: int,message: Union[str, GDString],id: object=None,) -> Dictionary: ...
    def process_action(self,action: object,recurse: bool=False,) -> object: ...
    def process_string(self,action: Union[str, GDString],) -> Union[str, GDString]: ...
    def set_scope(self,scope: Union[str, GDString],target: Object,) -> None: ...




class _JavaClassWrapper(Object):


    # Methods
    def wrap(self,name: Union[str, GDString],) -> JavaClass: ...




class _JavaScript(Object):


    # Methods
    def eval(self,code: Union[str, GDString],use_global_execution_context: bool=False,) -> object: ...




class MainLoop(Object):


    @staticmethod
    def new() -> MainLoop: ...


    # Constants
    NOTIFICATION_APP_PAUSED: int
    NOTIFICATION_APP_RESUMED: int
    NOTIFICATION_CRASH: int
    NOTIFICATION_OS_IME_UPDATE: int
    NOTIFICATION_OS_MEMORY_WARNING: int
    NOTIFICATION_TRANSLATION_CHANGED: int
    NOTIFICATION_WM_ABOUT: int
    NOTIFICATION_WM_FOCUS_IN: int
    NOTIFICATION_WM_FOCUS_OUT: int
    NOTIFICATION_WM_GO_BACK_REQUEST: int
    NOTIFICATION_WM_MOUSE_ENTER: int
    NOTIFICATION_WM_MOUSE_EXIT: int
    NOTIFICATION_WM_QUIT_REQUEST: int
    NOTIFICATION_WM_UNFOCUS_REQUEST: int

    # Methods
    def finish(self,) -> None: ...
    def idle(self,delta: float,) -> bool: ...
    def init(self,) -> None: ...
    def input_event(self,event: InputEvent,) -> None: ...
    def input_text(self,text: Union[str, GDString],) -> None: ...
    def iteration(self,delta: float,) -> bool: ...




class Node(Object):


    @staticmethod
    def new() -> Node: ...


    # Constants
    DUPLICATE_GROUPS: int
    DUPLICATE_SCRIPTS: int
    DUPLICATE_SIGNALS: int
    DUPLICATE_USE_INSTANCING: int
    NOTIFICATION_APP_PAUSED: int
    NOTIFICATION_APP_RESUMED: int
    NOTIFICATION_CRASH: int
    NOTIFICATION_DRAG_BEGIN: int
    NOTIFICATION_DRAG_END: int
    NOTIFICATION_ENTER_TREE: int
    NOTIFICATION_EXIT_TREE: int
    NOTIFICATION_INSTANCED: int
    NOTIFICATION_INTERNAL_PHYSICS_PROCESS: int
    NOTIFICATION_INTERNAL_PROCESS: int
    NOTIFICATION_MOVED_IN_PARENT: int
    NOTIFICATION_OS_IME_UPDATE: int
    NOTIFICATION_OS_MEMORY_WARNING: int
    NOTIFICATION_PARENTED: int
    NOTIFICATION_PATH_CHANGED: int
    NOTIFICATION_PAUSED: int
    NOTIFICATION_PHYSICS_PROCESS: int
    NOTIFICATION_PROCESS: int
    NOTIFICATION_READY: int
    NOTIFICATION_TRANSLATION_CHANGED: int
    NOTIFICATION_UNPARENTED: int
    NOTIFICATION_UNPAUSED: int
    NOTIFICATION_WM_ABOUT: int
    NOTIFICATION_WM_FOCUS_IN: int
    NOTIFICATION_WM_FOCUS_OUT: int
    NOTIFICATION_WM_GO_BACK_REQUEST: int
    NOTIFICATION_WM_MOUSE_ENTER: int
    NOTIFICATION_WM_MOUSE_EXIT: int
    NOTIFICATION_WM_QUIT_REQUEST: int
    NOTIFICATION_WM_UNFOCUS_REQUEST: int
    PAUSE_MODE_INHERIT: int
    PAUSE_MODE_PROCESS: int
    PAUSE_MODE_STOP: int
    # Enums
    class PauseMode(IntFlag):
        PAUSE_MODE_INHERIT: int
        PAUSE_MODE_STOP: int
        PAUSE_MODE_PROCESS: int
    class DuplicateFlags(IntFlag):
        DUPLICATE_SIGNALS: int
        DUPLICATE_GROUPS: int
        DUPLICATE_SCRIPTS: int
        DUPLICATE_USE_INSTANCING: int

    # Methods
    def add_child(self,node: Node,legible_unique_name: bool=False,) -> None: ...
    def add_child_below_node(self,node: Node,child_node: Node,legible_unique_name: bool=False,) -> None: ...
    def add_to_group(self,group: Union[str, GDString],persistent: bool=False,) -> None: ...
    def can_process(self,) -> bool: ...
    def duplicate(self,flags: int=15,) -> Node: ...
    def find_node(self,mask: Union[str, GDString],recursive: bool=True,owned: bool=True,) -> Node: ...
    def find_parent(self,mask: Union[str, GDString],) -> Node: ...
    def get_child(self,idx: int,) -> Node: ...
    def get_child_count(self,) -> int: ...
    def get_children(self,) -> Array: ...
    def get_custom_multiplayer(self,) -> MultiplayerAPI: ...
    def get_filename(self,) -> Union[str, GDString]: ...
    def get_groups(self,) -> Array: ...
    def get_index(self,) -> int: ...
    def get_multiplayer(self,) -> MultiplayerAPI: ...
    def get_name(self,) -> Union[str, GDString]: ...
    def get_network_master(self,) -> int: ...
    def get_node(self,path: Union[str, NodePath],) -> Node: ...
    def get_node_and_resource(self,path: Union[str, NodePath],) -> Array: ...
    def get_node_or_null(self,path: Union[str, NodePath],) -> Node: ...
    def get_owner(self,) -> Node: ...
    def get_parent(self,) -> Node: ...
    def get_path(self,) -> Union[str, NodePath]: ...
    def get_path_to(self,node: Node,) -> Union[str, NodePath]: ...
    def get_pause_mode(self,) -> Node.PauseMode: ...
    def get_physics_process_delta_time(self,) -> float: ...
    def get_position_in_parent(self,) -> int: ...
    def get_process_delta_time(self,) -> float: ...
    def get_process_priority(self,) -> int: ...
    def get_scene_instance_load_placeholder(self,) -> bool: ...
    def get_tree(self,) -> SceneTree: ...
    def get_viewport(self,) -> Viewport: ...
    def has_node(self,path: Union[str, NodePath],) -> bool: ...
    def has_node_and_resource(self,path: Union[str, NodePath],) -> bool: ...
    def is_a_parent_of(self,node: Node,) -> bool: ...
    def is_displayed_folded(self,) -> bool: ...
    def is_greater_than(self,node: Node,) -> bool: ...
    def is_in_group(self,group: Union[str, GDString],) -> bool: ...
    def is_inside_tree(self,) -> bool: ...
    def is_network_master(self,) -> bool: ...
    def is_physics_processing(self,) -> bool: ...
    def is_physics_processing_internal(self,) -> bool: ...
    def is_processing(self,) -> bool: ...
    def is_processing_input(self,) -> bool: ...
    def is_processing_internal(self,) -> bool: ...
    def is_processing_unhandled_input(self,) -> bool: ...
    def is_processing_unhandled_key_input(self,) -> bool: ...
    def move_child(self,child_node: Node,to_position: int,) -> None: ...
    def print_stray_nodes(self,) -> None: ...
    def print_tree(self,) -> None: ...
    def print_tree_pretty(self,) -> None: ...
    def propagate_call(self,method: Union[str, GDString],args: Array=Array(),parent_first: bool=False,) -> None: ...
    def propagate_notification(self,what: int,) -> None: ...
    def queue_free(self,) -> None: ...
    def raise_(self,) -> None: ...
    def remove_and_skip(self,) -> None: ...
    def remove_child(self,node: Node,) -> None: ...
    def remove_from_group(self,group: Union[str, GDString],) -> None: ...
    def replace_by(self,node: Node,keep_data: bool=False,) -> None: ...
    def request_ready(self,) -> None: ...
    def rpc_config(self,method: Union[str, GDString],mode: int,) -> None: ...
    def rset(self,property: Union[str, GDString],value: object,) -> None: ...
    def rset_config(self,property: Union[str, GDString],mode: int,) -> None: ...
    def rset_id(self,peer_id: int,property: Union[str, GDString],value: object,) -> None: ...
    def rset_unreliable(self,property: Union[str, GDString],value: object,) -> None: ...
    def rset_unreliable_id(self,peer_id: int,property: Union[str, GDString],value: object,) -> None: ...
    def set_custom_multiplayer(self,api: MultiplayerAPI,) -> None: ...
    def set_display_folded(self,fold: bool,) -> None: ...
    def set_filename(self,filename: Union[str, GDString],) -> None: ...
    def set_name(self,name: Union[str, GDString],) -> None: ...
    def set_network_master(self,id: int,recursive: bool=True,) -> None: ...
    def set_owner(self,owner: Node,) -> None: ...
    def set_pause_mode(self,mode: int,) -> None: ...
    def set_physics_process(self,enable: bool,) -> None: ...
    def set_physics_process_internal(self,enable: bool,) -> None: ...
    def set_process(self,enable: bool,) -> None: ...
    def set_process_input(self,enable: bool,) -> None: ...
    def set_process_internal(self,enable: bool,) -> None: ...
    def set_process_priority(self,priority: int,) -> None: ...
    def set_process_unhandled_input(self,enable: bool,) -> None: ...
    def set_process_unhandled_key_input(self,enable: bool,) -> None: ...
    def set_scene_instance_load_placeholder(self,load_placeholder: bool,) -> None: ...
    def update_configuration_warning(self,) -> None: ...

    # Properties
    _import_path: Union[str, NodePath]
    custom_multiplayer: MultiplayerAPI
    editor_description: Union[str, GDString]
    filename: Union[str, GDString]
    multiplayer: MultiplayerAPI
    name: Union[str, GDString]
    owner: Node
    pause_mode: int
    process_priority: int



class _Performance(Object):

    # Constants
    AUDIO_OUTPUT_LATENCY: int
    MEMORY_DYNAMIC: int
    MEMORY_DYNAMIC_MAX: int
    MEMORY_MESSAGE_BUFFER_MAX: int
    MEMORY_STATIC: int
    MEMORY_STATIC_MAX: int
    MONITOR_MAX: int
    OBJECT_COUNT: int
    OBJECT_NODE_COUNT: int
    OBJECT_ORPHAN_NODE_COUNT: int
    OBJECT_RESOURCE_COUNT: int
    PHYSICS_2D_ACTIVE_OBJECTS: int
    PHYSICS_2D_COLLISION_PAIRS: int
    PHYSICS_2D_ISLAND_COUNT: int
    PHYSICS_3D_ACTIVE_OBJECTS: int
    PHYSICS_3D_COLLISION_PAIRS: int
    PHYSICS_3D_ISLAND_COUNT: int
    RENDER_2D_DRAW_CALLS_IN_FRAME: int
    RENDER_2D_ITEMS_IN_FRAME: int
    RENDER_DRAW_CALLS_IN_FRAME: int
    RENDER_MATERIAL_CHANGES_IN_FRAME: int
    RENDER_OBJECTS_IN_FRAME: int
    RENDER_SHADER_CHANGES_IN_FRAME: int
    RENDER_SURFACE_CHANGES_IN_FRAME: int
    RENDER_TEXTURE_MEM_USED: int
    RENDER_USAGE_VIDEO_MEM_TOTAL: int
    RENDER_VERTEX_MEM_USED: int
    RENDER_VERTICES_IN_FRAME: int
    RENDER_VIDEO_MEM_USED: int
    TIME_FPS: int
    TIME_PHYSICS_PROCESS: int
    TIME_PROCESS: int
    # Enums
    class Monitor(IntFlag):
        TIME_FPS: int
        TIME_PROCESS: int
        TIME_PHYSICS_PROCESS: int
        MEMORY_STATIC: int
        MEMORY_DYNAMIC: int
        MEMORY_STATIC_MAX: int
        MEMORY_DYNAMIC_MAX: int
        MEMORY_MESSAGE_BUFFER_MAX: int
        OBJECT_COUNT: int
        OBJECT_RESOURCE_COUNT: int
        OBJECT_NODE_COUNT: int
        OBJECT_ORPHAN_NODE_COUNT: int
        RENDER_OBJECTS_IN_FRAME: int
        RENDER_VERTICES_IN_FRAME: int
        RENDER_MATERIAL_CHANGES_IN_FRAME: int
        RENDER_SHADER_CHANGES_IN_FRAME: int
        RENDER_SURFACE_CHANGES_IN_FRAME: int
        RENDER_DRAW_CALLS_IN_FRAME: int
        RENDER_2D_ITEMS_IN_FRAME: int
        RENDER_2D_DRAW_CALLS_IN_FRAME: int
        RENDER_VIDEO_MEM_USED: int
        RENDER_TEXTURE_MEM_USED: int
        RENDER_VERTEX_MEM_USED: int
        RENDER_USAGE_VIDEO_MEM_TOTAL: int
        PHYSICS_2D_ACTIVE_OBJECTS: int
        PHYSICS_2D_COLLISION_PAIRS: int
        PHYSICS_2D_ISLAND_COUNT: int
        PHYSICS_3D_ACTIVE_OBJECTS: int
        PHYSICS_3D_COLLISION_PAIRS: int
        PHYSICS_3D_ISLAND_COUNT: int
        AUDIO_OUTPUT_LATENCY: int
        MONITOR_MAX: int

    # Methods
    def get_monitor(self,monitor: int,) -> float: ...




class Physics2DDirectBodyState(Object):


    # Methods
    def add_central_force(self,force: Vector2,) -> None: ...
    def add_force(self,offset: Vector2,force: Vector2,) -> None: ...
    def add_torque(self,torque: float,) -> None: ...
    def apply_central_impulse(self,impulse: Vector2,) -> None: ...
    def apply_impulse(self,offset: Vector2,impulse: Vector2,) -> None: ...
    def apply_torque_impulse(self,impulse: float,) -> None: ...
    def get_angular_velocity(self,) -> float: ...
    def get_contact_collider(self,contact_idx: int,) -> RID: ...
    def get_contact_collider_id(self,contact_idx: int,) -> int: ...
    def get_contact_collider_object(self,contact_idx: int,) -> Object: ...
    def get_contact_collider_position(self,contact_idx: int,) -> Vector2: ...
    def get_contact_collider_shape(self,contact_idx: int,) -> int: ...
    def get_contact_collider_shape_metadata(self,contact_idx: int,) -> object: ...
    def get_contact_collider_velocity_at_position(self,contact_idx: int,) -> Vector2: ...
    def get_contact_count(self,) -> int: ...
    def get_contact_local_normal(self,contact_idx: int,) -> Vector2: ...
    def get_contact_local_position(self,contact_idx: int,) -> Vector2: ...
    def get_contact_local_shape(self,contact_idx: int,) -> int: ...
    def get_inverse_inertia(self,) -> float: ...
    def get_inverse_mass(self,) -> float: ...
    def get_linear_velocity(self,) -> Vector2: ...
    def get_space_state(self,) -> Physics2DDirectSpaceState: ...
    def get_step(self,) -> float: ...
    def get_total_angular_damp(self,) -> float: ...
    def get_total_gravity(self,) -> Vector2: ...
    def get_total_linear_damp(self,) -> float: ...
    def get_transform(self,) -> Transform2D: ...
    def integrate_forces(self,) -> None: ...
    def is_sleeping(self,) -> bool: ...
    def set_angular_velocity(self,velocity: float,) -> None: ...
    def set_linear_velocity(self,velocity: Vector2,) -> None: ...
    def set_sleep_state(self,enabled: bool,) -> None: ...
    def set_transform(self,transform: Transform2D,) -> None: ...

    # Properties
    angular_velocity: float
    inverse_inertia: float
    inverse_mass: float
    linear_velocity: Vector2
    sleeping: bool
    step: float
    total_angular_damp: float
    total_gravity: Vector2
    total_linear_damp: float
    transform: Transform2D



class Physics2DDirectSpaceState(Object):


    # Methods
    def cast_motion(self,shape: Physics2DShapeQueryParameters,) -> Array: ...
    def collide_shape(self,shape: Physics2DShapeQueryParameters,max_results: int=32,) -> Array: ...
    def get_rest_info(self,shape: Physics2DShapeQueryParameters,) -> Dictionary: ...
    def intersect_point(self,point: Vector2,max_results: int=32,exclude: Array=Array(),collision_layer: int=2147483647,collide_with_bodies: bool=True,collide_with_areas: bool=False,) -> Array: ...
    def intersect_point_on_canvas(self,point: Vector2,canvas_instance_id: int,max_results: int=32,exclude: Array=Array(),collision_layer: int=2147483647,collide_with_bodies: bool=True,collide_with_areas: bool=False,) -> Array: ...
    def intersect_ray(self,from_: Vector2,to: Vector2,exclude: Array=Array(),collision_layer: int=2147483647,collide_with_bodies: bool=True,collide_with_areas: bool=False,) -> Dictionary: ...
    def intersect_shape(self,shape: Physics2DShapeQueryParameters,max_results: int=32,) -> Array: ...




class _Physics2DServer(Object):

    # Constants
    AREA_BODY_ADDED: int
    AREA_BODY_REMOVED: int
    AREA_PARAM_ANGULAR_DAMP: int
    AREA_PARAM_GRAVITY: int
    AREA_PARAM_GRAVITY_DISTANCE_SCALE: int
    AREA_PARAM_GRAVITY_IS_POINT: int
    AREA_PARAM_GRAVITY_POINT_ATTENUATION: int
    AREA_PARAM_GRAVITY_VECTOR: int
    AREA_PARAM_LINEAR_DAMP: int
    AREA_PARAM_PRIORITY: int
    AREA_SPACE_OVERRIDE_COMBINE: int
    AREA_SPACE_OVERRIDE_COMBINE_REPLACE: int
    AREA_SPACE_OVERRIDE_DISABLED: int
    AREA_SPACE_OVERRIDE_REPLACE: int
    AREA_SPACE_OVERRIDE_REPLACE_COMBINE: int
    BODY_MODE_CHARACTER: int
    BODY_MODE_KINEMATIC: int
    BODY_MODE_RIGID: int
    BODY_MODE_STATIC: int
    BODY_PARAM_ANGULAR_DAMP: int
    BODY_PARAM_BOUNCE: int
    BODY_PARAM_FRICTION: int
    BODY_PARAM_GRAVITY_SCALE: int
    BODY_PARAM_INERTIA: int
    BODY_PARAM_LINEAR_DAMP: int
    BODY_PARAM_MASS: int
    BODY_PARAM_MAX: int
    BODY_STATE_ANGULAR_VELOCITY: int
    BODY_STATE_CAN_SLEEP: int
    BODY_STATE_LINEAR_VELOCITY: int
    BODY_STATE_SLEEPING: int
    BODY_STATE_TRANSFORM: int
    CCD_MODE_CAST_RAY: int
    CCD_MODE_CAST_SHAPE: int
    CCD_MODE_DISABLED: int
    DAMPED_STRING_DAMPING: int
    DAMPED_STRING_REST_LENGTH: int
    DAMPED_STRING_STIFFNESS: int
    INFO_ACTIVE_OBJECTS: int
    INFO_COLLISION_PAIRS: int
    INFO_ISLAND_COUNT: int
    JOINT_DAMPED_SPRING: int
    JOINT_GROOVE: int
    JOINT_PARAM_BIAS: int
    JOINT_PARAM_MAX_BIAS: int
    JOINT_PARAM_MAX_FORCE: int
    JOINT_PIN: int
    SHAPE_CAPSULE: int
    SHAPE_CIRCLE: int
    SHAPE_CONCAVE_POLYGON: int
    SHAPE_CONVEX_POLYGON: int
    SHAPE_CUSTOM: int
    SHAPE_LINE: int
    SHAPE_RAY: int
    SHAPE_RECTANGLE: int
    SHAPE_SEGMENT: int
    SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD: int
    SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD: int
    SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION: int
    SPACE_PARAM_BODY_TIME_TO_SLEEP: int
    SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS: int
    SPACE_PARAM_CONTACT_MAX_SEPARATION: int
    SPACE_PARAM_CONTACT_RECYCLE_RADIUS: int
    SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH: int
    # Enums
    class ProcessInfo(IntFlag):
        INFO_ACTIVE_OBJECTS: int
        INFO_COLLISION_PAIRS: int
        INFO_ISLAND_COUNT: int
    class AreaBodyStatus(IntFlag):
        AREA_BODY_ADDED: int
        AREA_BODY_REMOVED: int
    class DampedStringParam(IntFlag):
        DAMPED_STRING_REST_LENGTH: int
        DAMPED_STRING_STIFFNESS: int
        DAMPED_STRING_DAMPING: int
    class BodyMode(IntFlag):
        BODY_MODE_STATIC: int
        BODY_MODE_KINEMATIC: int
        BODY_MODE_RIGID: int
        BODY_MODE_CHARACTER: int
    class ShapeType(IntFlag):
        SHAPE_LINE: int
        SHAPE_RAY: int
        SHAPE_SEGMENT: int
        SHAPE_CIRCLE: int
        SHAPE_RECTANGLE: int
        SHAPE_CAPSULE: int
        SHAPE_CONVEX_POLYGON: int
        SHAPE_CONCAVE_POLYGON: int
        SHAPE_CUSTOM: int
    class JointParam(IntFlag):
        JOINT_PARAM_BIAS: int
        JOINT_PARAM_MAX_BIAS: int
        JOINT_PARAM_MAX_FORCE: int
    class SpaceParameter(IntFlag):
        SPACE_PARAM_CONTACT_RECYCLE_RADIUS: int
        SPACE_PARAM_CONTACT_MAX_SEPARATION: int
        SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION: int
        SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD: int
        SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD: int
        SPACE_PARAM_BODY_TIME_TO_SLEEP: int
        SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS: int
        SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH: int
    class JointType(IntFlag):
        JOINT_PIN: int
        JOINT_GROOVE: int
        JOINT_DAMPED_SPRING: int
    class CCDMode(IntFlag):
        CCD_MODE_DISABLED: int
        CCD_MODE_CAST_RAY: int
        CCD_MODE_CAST_SHAPE: int
    class BodyState(IntFlag):
        BODY_STATE_TRANSFORM: int
        BODY_STATE_LINEAR_VELOCITY: int
        BODY_STATE_ANGULAR_VELOCITY: int
        BODY_STATE_SLEEPING: int
        BODY_STATE_CAN_SLEEP: int
    class BodyParameter(IntFlag):
        BODY_PARAM_BOUNCE: int
        BODY_PARAM_FRICTION: int
        BODY_PARAM_MASS: int
        BODY_PARAM_INERTIA: int
        BODY_PARAM_GRAVITY_SCALE: int
        BODY_PARAM_LINEAR_DAMP: int
        BODY_PARAM_ANGULAR_DAMP: int
        BODY_PARAM_MAX: int
    class AreaSpaceOverrideMode(IntFlag):
        AREA_SPACE_OVERRIDE_DISABLED: int
        AREA_SPACE_OVERRIDE_COMBINE: int
        AREA_SPACE_OVERRIDE_COMBINE_REPLACE: int
        AREA_SPACE_OVERRIDE_REPLACE: int
        AREA_SPACE_OVERRIDE_REPLACE_COMBINE: int
    class AreaParameter(IntFlag):
        AREA_PARAM_GRAVITY: int
        AREA_PARAM_GRAVITY_VECTOR: int
        AREA_PARAM_GRAVITY_IS_POINT: int
        AREA_PARAM_GRAVITY_DISTANCE_SCALE: int
        AREA_PARAM_GRAVITY_POINT_ATTENUATION: int
        AREA_PARAM_LINEAR_DAMP: int
        AREA_PARAM_ANGULAR_DAMP: int
        AREA_PARAM_PRIORITY: int

    # Methods
    def area_add_shape(self,area: RID,shape: RID,transform: Transform2D=Transform2D(Vector2(1, 0), Vector2(0, 1), Vector2(0, 0)),disabled: bool=False,) -> None: ...
    def area_attach_canvas_instance_id(self,area: RID,id: int,) -> None: ...
    def area_attach_object_instance_id(self,area: RID,id: int,) -> None: ...
    def area_clear_shapes(self,area: RID,) -> None: ...
    def area_create(self,) -> RID: ...
    def area_get_canvas_instance_id(self,area: RID,) -> int: ...
    def area_get_object_instance_id(self,area: RID,) -> int: ...
    def area_get_param(self,area: RID,param: int,) -> object: ...
    def area_get_shape(self,area: RID,shape_idx: int,) -> RID: ...
    def area_get_shape_count(self,area: RID,) -> int: ...
    def area_get_shape_transform(self,area: RID,shape_idx: int,) -> Transform2D: ...
    def area_get_space(self,area: RID,) -> RID: ...
    def area_get_space_override_mode(self,area: RID,) -> _Physics2DServer.AreaSpaceOverrideMode: ...
    def area_get_transform(self,area: RID,) -> Transform2D: ...
    def area_remove_shape(self,area: RID,shape_idx: int,) -> None: ...
    def area_set_area_monitor_callback(self,area: RID,receiver: Object,method: Union[str, GDString],) -> None: ...
    def area_set_collision_layer(self,area: RID,layer: int,) -> None: ...
    def area_set_collision_mask(self,area: RID,mask: int,) -> None: ...
    def area_set_monitor_callback(self,area: RID,receiver: Object,method: Union[str, GDString],) -> None: ...
    def area_set_monitorable(self,area: RID,monitorable: bool,) -> None: ...
    def area_set_param(self,area: RID,param: int,value: object,) -> None: ...
    def area_set_shape(self,area: RID,shape_idx: int,shape: RID,) -> None: ...
    def area_set_shape_disabled(self,area: RID,shape_idx: int,disabled: bool,) -> None: ...
    def area_set_shape_transform(self,area: RID,shape_idx: int,transform: Transform2D,) -> None: ...
    def area_set_space(self,area: RID,space: RID,) -> None: ...
    def area_set_space_override_mode(self,area: RID,mode: int,) -> None: ...
    def area_set_transform(self,area: RID,transform: Transform2D,) -> None: ...
    def body_add_central_force(self,body: RID,force: Vector2,) -> None: ...
    def body_add_collision_exception(self,body: RID,excepted_body: RID,) -> None: ...
    def body_add_force(self,body: RID,offset: Vector2,force: Vector2,) -> None: ...
    def body_add_shape(self,body: RID,shape: RID,transform: Transform2D=Transform2D(Vector2(1, 0), Vector2(0, 1), Vector2(0, 0)),disabled: bool=False,) -> None: ...
    def body_add_torque(self,body: RID,torque: float,) -> None: ...
    def body_apply_central_impulse(self,body: RID,impulse: Vector2,) -> None: ...
    def body_apply_impulse(self,body: RID,position: Vector2,impulse: Vector2,) -> None: ...
    def body_apply_torque_impulse(self,body: RID,impulse: float,) -> None: ...
    def body_attach_canvas_instance_id(self,body: RID,id: int,) -> None: ...
    def body_attach_object_instance_id(self,body: RID,id: int,) -> None: ...
    def body_clear_shapes(self,body: RID,) -> None: ...
    def body_create(self,) -> RID: ...
    def body_get_canvas_instance_id(self,body: RID,) -> int: ...
    def body_get_collision_layer(self,body: RID,) -> int: ...
    def body_get_collision_mask(self,body: RID,) -> int: ...
    def body_get_continuous_collision_detection_mode(self,body: RID,) -> _Physics2DServer.CCDMode: ...
    def body_get_direct_state(self,body: RID,) -> Physics2DDirectBodyState: ...
    def body_get_max_contacts_reported(self,body: RID,) -> int: ...
    def body_get_mode(self,body: RID,) -> _Physics2DServer.BodyMode: ...
    def body_get_object_instance_id(self,body: RID,) -> int: ...
    def body_get_param(self,body: RID,param: int,) -> float: ...
    def body_get_shape(self,body: RID,shape_idx: int,) -> RID: ...
    def body_get_shape_count(self,body: RID,) -> int: ...
    def body_get_shape_metadata(self,body: RID,shape_idx: int,) -> object: ...
    def body_get_shape_transform(self,body: RID,shape_idx: int,) -> Transform2D: ...
    def body_get_space(self,body: RID,) -> RID: ...
    def body_get_state(self,body: RID,state: int,) -> object: ...
    def body_is_omitting_force_integration(self,body: RID,) -> bool: ...
    def body_remove_collision_exception(self,body: RID,excepted_body: RID,) -> None: ...
    def body_remove_shape(self,body: RID,shape_idx: int,) -> None: ...
    def body_set_axis_velocity(self,body: RID,axis_velocity: Vector2,) -> None: ...
    def body_set_collision_layer(self,body: RID,layer: int,) -> None: ...
    def body_set_collision_mask(self,body: RID,mask: int,) -> None: ...
    def body_set_continuous_collision_detection_mode(self,body: RID,mode: int,) -> None: ...
    def body_set_force_integration_callback(self,body: RID,receiver: Object,method: Union[str, GDString],userdata: object=None,) -> None: ...
    def body_set_max_contacts_reported(self,body: RID,amount: int,) -> None: ...
    def body_set_mode(self,body: RID,mode: int,) -> None: ...
    def body_set_omit_force_integration(self,body: RID,enable: bool,) -> None: ...
    def body_set_param(self,body: RID,param: int,value: float,) -> None: ...
    def body_set_shape(self,body: RID,shape_idx: int,shape: RID,) -> None: ...
    def body_set_shape_as_one_way_collision(self,body: RID,shape_idx: int,enable: bool,margin: float,) -> None: ...
    def body_set_shape_disabled(self,body: RID,shape_idx: int,disabled: bool,) -> None: ...
    def body_set_shape_metadata(self,body: RID,shape_idx: int,metadata: object,) -> None: ...
    def body_set_shape_transform(self,body: RID,shape_idx: int,transform: Transform2D,) -> None: ...
    def body_set_space(self,body: RID,space: RID,) -> None: ...
    def body_set_state(self,body: RID,state: int,value: object,) -> None: ...
    def body_test_motion(self,body: RID,from_: Transform2D,motion: Vector2,infinite_inertia: bool,margin: float=0.08,result: Physics2DTestMotionResult=None,) -> bool: ...
    def capsule_shape_create(self,) -> RID: ...
    def circle_shape_create(self,) -> RID: ...
    def concave_polygon_shape_create(self,) -> RID: ...
    def convex_polygon_shape_create(self,) -> RID: ...
    def damped_spring_joint_create(self,anchor_a: Vector2,anchor_b: Vector2,body_a: RID,body_b: RID=RID(),) -> RID: ...
    def damped_string_joint_get_param(self,joint: RID,param: int,) -> float: ...
    def damped_string_joint_set_param(self,joint: RID,param: int,value: float,) -> None: ...
    def free_rid(self,rid: RID,) -> None: ...
    def get_process_info(self,process_info: int,) -> int: ...
    def groove_joint_create(self,groove1_a: Vector2,groove2_a: Vector2,anchor_b: Vector2,body_a: RID=RID(),body_b: RID=RID(),) -> RID: ...
    def joint_get_param(self,joint: RID,param: int,) -> float: ...
    def joint_get_type(self,joint: RID,) -> _Physics2DServer.JointType: ...
    def joint_set_param(self,joint: RID,param: int,value: float,) -> None: ...
    def line_shape_create(self,) -> RID: ...
    def pin_joint_create(self,anchor: Vector2,body_a: RID,body_b: RID=RID(),) -> RID: ...
    def ray_shape_create(self,) -> RID: ...
    def rectangle_shape_create(self,) -> RID: ...
    def segment_shape_create(self,) -> RID: ...
    def set_active(self,active: bool,) -> None: ...
    def shape_get_data(self,shape: RID,) -> object: ...
    def shape_get_type(self,shape: RID,) -> _Physics2DServer.ShapeType: ...
    def shape_set_data(self,shape: RID,data: object,) -> None: ...
    def space_create(self,) -> RID: ...
    def space_get_direct_state(self,space: RID,) -> Physics2DDirectSpaceState: ...
    def space_get_param(self,space: RID,param: int,) -> float: ...
    def space_is_active(self,space: RID,) -> bool: ...
    def space_set_active(self,space: RID,active: bool,) -> None: ...
    def space_set_param(self,space: RID,param: int,value: float,) -> None: ...




class PhysicsDirectBodyState(Object):


    # Methods
    def add_central_force(self,force: Vector3,) -> None: ...
    def add_force(self,force: Vector3,position: Vector3,) -> None: ...
    def add_torque(self,torque: Vector3,) -> None: ...
    def apply_central_impulse(self,j: Vector3,) -> None: ...
    def apply_impulse(self,position: Vector3,j: Vector3,) -> None: ...
    def apply_torque_impulse(self,j: Vector3,) -> None: ...
    def get_angular_velocity(self,) -> Vector3: ...
    def get_center_of_mass(self,) -> Vector3: ...
    def get_contact_collider(self,contact_idx: int,) -> RID: ...
    def get_contact_collider_id(self,contact_idx: int,) -> int: ...
    def get_contact_collider_object(self,contact_idx: int,) -> Object: ...
    def get_contact_collider_position(self,contact_idx: int,) -> Vector3: ...
    def get_contact_collider_shape(self,contact_idx: int,) -> int: ...
    def get_contact_collider_velocity_at_position(self,contact_idx: int,) -> Vector3: ...
    def get_contact_count(self,) -> int: ...
    def get_contact_impulse(self,contact_idx: int,) -> float: ...
    def get_contact_local_normal(self,contact_idx: int,) -> Vector3: ...
    def get_contact_local_position(self,contact_idx: int,) -> Vector3: ...
    def get_contact_local_shape(self,contact_idx: int,) -> int: ...
    def get_inverse_inertia(self,) -> Vector3: ...
    def get_inverse_mass(self,) -> float: ...
    def get_linear_velocity(self,) -> Vector3: ...
    def get_principal_inertia_axes(self,) -> Basis: ...
    def get_space_state(self,) -> PhysicsDirectSpaceState: ...
    def get_step(self,) -> float: ...
    def get_total_angular_damp(self,) -> float: ...
    def get_total_gravity(self,) -> Vector3: ...
    def get_total_linear_damp(self,) -> float: ...
    def get_transform(self,) -> Transform: ...
    def integrate_forces(self,) -> None: ...
    def is_sleeping(self,) -> bool: ...
    def set_angular_velocity(self,velocity: Vector3,) -> None: ...
    def set_linear_velocity(self,velocity: Vector3,) -> None: ...
    def set_sleep_state(self,enabled: bool,) -> None: ...
    def set_transform(self,transform: Transform,) -> None: ...

    # Properties
    angular_velocity: Vector3
    center_of_mass: Vector3
    inverse_inertia: Vector3
    inverse_mass: float
    linear_velocity: Vector3
    principal_inertia_axes: Basis
    sleeping: bool
    step: float
    total_angular_damp: float
    total_gravity: Vector3
    total_linear_damp: float
    transform: Transform2D



class PhysicsDirectSpaceState(Object):


    # Methods
    def cast_motion(self,shape: PhysicsShapeQueryParameters,motion: Vector3,) -> Array: ...
    def collide_shape(self,shape: PhysicsShapeQueryParameters,max_results: int=32,) -> Array: ...
    def get_rest_info(self,shape: PhysicsShapeQueryParameters,) -> Dictionary: ...
    def intersect_ray(self,from_: Vector3,to: Vector3,exclude: Array=Array(),collision_mask: int=2147483647,collide_with_bodies: bool=True,collide_with_areas: bool=False,) -> Dictionary: ...
    def intersect_shape(self,shape: PhysicsShapeQueryParameters,max_results: int=32,) -> Array: ...




class _PhysicsServer(Object):

    # Constants
    AREA_BODY_ADDED: int
    AREA_BODY_REMOVED: int
    AREA_PARAM_ANGULAR_DAMP: int
    AREA_PARAM_GRAVITY: int
    AREA_PARAM_GRAVITY_DISTANCE_SCALE: int
    AREA_PARAM_GRAVITY_IS_POINT: int
    AREA_PARAM_GRAVITY_POINT_ATTENUATION: int
    AREA_PARAM_GRAVITY_VECTOR: int
    AREA_PARAM_LINEAR_DAMP: int
    AREA_PARAM_PRIORITY: int
    AREA_SPACE_OVERRIDE_COMBINE: int
    AREA_SPACE_OVERRIDE_COMBINE_REPLACE: int
    AREA_SPACE_OVERRIDE_DISABLED: int
    AREA_SPACE_OVERRIDE_REPLACE: int
    AREA_SPACE_OVERRIDE_REPLACE_COMBINE: int
    BODY_AXIS_ANGULAR_X: int
    BODY_AXIS_ANGULAR_Y: int
    BODY_AXIS_ANGULAR_Z: int
    BODY_AXIS_LINEAR_X: int
    BODY_AXIS_LINEAR_Y: int
    BODY_AXIS_LINEAR_Z: int
    BODY_MODE_CHARACTER: int
    BODY_MODE_KINEMATIC: int
    BODY_MODE_RIGID: int
    BODY_MODE_STATIC: int
    BODY_PARAM_ANGULAR_DAMP: int
    BODY_PARAM_BOUNCE: int
    BODY_PARAM_FRICTION: int
    BODY_PARAM_GRAVITY_SCALE: int
    BODY_PARAM_LINEAR_DAMP: int
    BODY_PARAM_MASS: int
    BODY_PARAM_MAX: int
    BODY_STATE_ANGULAR_VELOCITY: int
    BODY_STATE_CAN_SLEEP: int
    BODY_STATE_LINEAR_VELOCITY: int
    BODY_STATE_SLEEPING: int
    BODY_STATE_TRANSFORM: int
    CONE_TWIST_JOINT_BIAS: int
    CONE_TWIST_JOINT_RELAXATION: int
    CONE_TWIST_JOINT_SOFTNESS: int
    CONE_TWIST_JOINT_SWING_SPAN: int
    CONE_TWIST_JOINT_TWIST_SPAN: int
    G6DOF_JOINT_ANGULAR_DAMPING: int
    G6DOF_JOINT_ANGULAR_ERP: int
    G6DOF_JOINT_ANGULAR_FORCE_LIMIT: int
    G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS: int
    G6DOF_JOINT_ANGULAR_LOWER_LIMIT: int
    G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT: int
    G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY: int
    G6DOF_JOINT_ANGULAR_RESTITUTION: int
    G6DOF_JOINT_ANGULAR_UPPER_LIMIT: int
    G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT: int
    G6DOF_JOINT_FLAG_ENABLE_LINEAR_LIMIT: int
    G6DOF_JOINT_FLAG_ENABLE_LINEAR_MOTOR: int
    G6DOF_JOINT_FLAG_ENABLE_MOTOR: int
    G6DOF_JOINT_LINEAR_DAMPING: int
    G6DOF_JOINT_LINEAR_LIMIT_SOFTNESS: int
    G6DOF_JOINT_LINEAR_LOWER_LIMIT: int
    G6DOF_JOINT_LINEAR_MOTOR_FORCE_LIMIT: int
    G6DOF_JOINT_LINEAR_MOTOR_TARGET_VELOCITY: int
    G6DOF_JOINT_LINEAR_RESTITUTION: int
    G6DOF_JOINT_LINEAR_UPPER_LIMIT: int
    HINGE_JOINT_BIAS: int
    HINGE_JOINT_FLAG_ENABLE_MOTOR: int
    HINGE_JOINT_FLAG_USE_LIMIT: int
    HINGE_JOINT_LIMIT_BIAS: int
    HINGE_JOINT_LIMIT_LOWER: int
    HINGE_JOINT_LIMIT_RELAXATION: int
    HINGE_JOINT_LIMIT_SOFTNESS: int
    HINGE_JOINT_LIMIT_UPPER: int
    HINGE_JOINT_MOTOR_MAX_IMPULSE: int
    HINGE_JOINT_MOTOR_TARGET_VELOCITY: int
    INFO_ACTIVE_OBJECTS: int
    INFO_COLLISION_PAIRS: int
    INFO_ISLAND_COUNT: int
    JOINT_6DOF: int
    JOINT_CONE_TWIST: int
    JOINT_HINGE: int
    JOINT_PIN: int
    JOINT_SLIDER: int
    PIN_JOINT_BIAS: int
    PIN_JOINT_DAMPING: int
    PIN_JOINT_IMPULSE_CLAMP: int
    SHAPE_BOX: int
    SHAPE_CAPSULE: int
    SHAPE_CONCAVE_POLYGON: int
    SHAPE_CONVEX_POLYGON: int
    SHAPE_CUSTOM: int
    SHAPE_CYLINDER: int
    SHAPE_HEIGHTMAP: int
    SHAPE_PLANE: int
    SHAPE_RAY: int
    SHAPE_SPHERE: int
    SLIDER_JOINT_ANGULAR_LIMIT_DAMPING: int
    SLIDER_JOINT_ANGULAR_LIMIT_LOWER: int
    SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION: int
    SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS: int
    SLIDER_JOINT_ANGULAR_LIMIT_UPPER: int
    SLIDER_JOINT_ANGULAR_MOTION_DAMPING: int
    SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION: int
    SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS: int
    SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING: int
    SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION: int
    SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS: int
    SLIDER_JOINT_LINEAR_LIMIT_DAMPING: int
    SLIDER_JOINT_LINEAR_LIMIT_LOWER: int
    SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION: int
    SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS: int
    SLIDER_JOINT_LINEAR_LIMIT_UPPER: int
    SLIDER_JOINT_LINEAR_MOTION_DAMPING: int
    SLIDER_JOINT_LINEAR_MOTION_RESTITUTION: int
    SLIDER_JOINT_LINEAR_MOTION_SOFTNESS: int
    SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING: int
    SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION: int
    SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS: int
    SLIDER_JOINT_MAX: int
    SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO: int
    SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD: int
    SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD: int
    SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION: int
    SPACE_PARAM_BODY_TIME_TO_SLEEP: int
    SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS: int
    SPACE_PARAM_CONTACT_MAX_SEPARATION: int
    SPACE_PARAM_CONTACT_RECYCLE_RADIUS: int
    SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH: int
    # Enums
    class BodyAxis(IntFlag):
        BODY_AXIS_LINEAR_X: int
        BODY_AXIS_LINEAR_Y: int
        BODY_AXIS_LINEAR_Z: int
        BODY_AXIS_ANGULAR_X: int
        BODY_AXIS_ANGULAR_Y: int
        BODY_AXIS_ANGULAR_Z: int
    class ProcessInfo(IntFlag):
        INFO_ACTIVE_OBJECTS: int
        INFO_COLLISION_PAIRS: int
        INFO_ISLAND_COUNT: int
    class AreaBodyStatus(IntFlag):
        AREA_BODY_ADDED: int
        AREA_BODY_REMOVED: int
    class BodyMode(IntFlag):
        BODY_MODE_STATIC: int
        BODY_MODE_KINEMATIC: int
        BODY_MODE_RIGID: int
        BODY_MODE_CHARACTER: int
    class ShapeType(IntFlag):
        SHAPE_PLANE: int
        SHAPE_RAY: int
        SHAPE_SPHERE: int
        SHAPE_BOX: int
        SHAPE_CAPSULE: int
        SHAPE_CYLINDER: int
        SHAPE_CONVEX_POLYGON: int
        SHAPE_CONCAVE_POLYGON: int
        SHAPE_HEIGHTMAP: int
        SHAPE_CUSTOM: int
    class PinJointParam(IntFlag):
        PIN_JOINT_BIAS: int
        PIN_JOINT_DAMPING: int
        PIN_JOINT_IMPULSE_CLAMP: int
    class SpaceParameter(IntFlag):
        SPACE_PARAM_CONTACT_RECYCLE_RADIUS: int
        SPACE_PARAM_CONTACT_MAX_SEPARATION: int
        SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION: int
        SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD: int
        SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD: int
        SPACE_PARAM_BODY_TIME_TO_SLEEP: int
        SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO: int
        SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS: int
        SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH: int
    class ConeTwistJointParam(IntFlag):
        CONE_TWIST_JOINT_SWING_SPAN: int
        CONE_TWIST_JOINT_TWIST_SPAN: int
        CONE_TWIST_JOINT_BIAS: int
        CONE_TWIST_JOINT_SOFTNESS: int
        CONE_TWIST_JOINT_RELAXATION: int
    class JointType(IntFlag):
        JOINT_PIN: int
        JOINT_HINGE: int
        JOINT_SLIDER: int
        JOINT_CONE_TWIST: int
        JOINT_6DOF: int
    class BodyState(IntFlag):
        BODY_STATE_TRANSFORM: int
        BODY_STATE_LINEAR_VELOCITY: int
        BODY_STATE_ANGULAR_VELOCITY: int
        BODY_STATE_SLEEPING: int
        BODY_STATE_CAN_SLEEP: int
    class BodyParameter(IntFlag):
        BODY_PARAM_BOUNCE: int
        BODY_PARAM_FRICTION: int
        BODY_PARAM_MASS: int
        BODY_PARAM_GRAVITY_SCALE: int
        BODY_PARAM_LINEAR_DAMP: int
        BODY_PARAM_ANGULAR_DAMP: int
        BODY_PARAM_MAX: int
    class G6DOFJointAxisParam(IntFlag):
        G6DOF_JOINT_LINEAR_LOWER_LIMIT: int
        G6DOF_JOINT_LINEAR_UPPER_LIMIT: int
        G6DOF_JOINT_LINEAR_LIMIT_SOFTNESS: int
        G6DOF_JOINT_LINEAR_RESTITUTION: int
        G6DOF_JOINT_LINEAR_DAMPING: int
        G6DOF_JOINT_LINEAR_MOTOR_TARGET_VELOCITY: int
        G6DOF_JOINT_LINEAR_MOTOR_FORCE_LIMIT: int
        G6DOF_JOINT_ANGULAR_LOWER_LIMIT: int
        G6DOF_JOINT_ANGULAR_UPPER_LIMIT: int
        G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS: int
        G6DOF_JOINT_ANGULAR_DAMPING: int
        G6DOF_JOINT_ANGULAR_RESTITUTION: int
        G6DOF_JOINT_ANGULAR_FORCE_LIMIT: int
        G6DOF_JOINT_ANGULAR_ERP: int
        G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY: int
        G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT: int
    class SliderJointParam(IntFlag):
        SLIDER_JOINT_LINEAR_LIMIT_UPPER: int
        SLIDER_JOINT_LINEAR_LIMIT_LOWER: int
        SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS: int
        SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION: int
        SLIDER_JOINT_LINEAR_LIMIT_DAMPING: int
        SLIDER_JOINT_LINEAR_MOTION_SOFTNESS: int
        SLIDER_JOINT_LINEAR_MOTION_RESTITUTION: int
        SLIDER_JOINT_LINEAR_MOTION_DAMPING: int
        SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS: int
        SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION: int
        SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING: int
        SLIDER_JOINT_ANGULAR_LIMIT_UPPER: int
        SLIDER_JOINT_ANGULAR_LIMIT_LOWER: int
        SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS: int
        SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION: int
        SLIDER_JOINT_ANGULAR_LIMIT_DAMPING: int
        SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS: int
        SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION: int
        SLIDER_JOINT_ANGULAR_MOTION_DAMPING: int
        SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS: int
        SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION: int
        SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING: int
        SLIDER_JOINT_MAX: int
    class HingeJointParam(IntFlag):
        HINGE_JOINT_BIAS: int
        HINGE_JOINT_LIMIT_UPPER: int
        HINGE_JOINT_LIMIT_LOWER: int
        HINGE_JOINT_LIMIT_BIAS: int
        HINGE_JOINT_LIMIT_SOFTNESS: int
        HINGE_JOINT_LIMIT_RELAXATION: int
        HINGE_JOINT_MOTOR_TARGET_VELOCITY: int
        HINGE_JOINT_MOTOR_MAX_IMPULSE: int
    class G6DOFJointAxisFlag(IntFlag):
        G6DOF_JOINT_FLAG_ENABLE_LINEAR_LIMIT: int
        G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT: int
        G6DOF_JOINT_FLAG_ENABLE_MOTOR: int
        G6DOF_JOINT_FLAG_ENABLE_LINEAR_MOTOR: int
    class HingeJointFlag(IntFlag):
        HINGE_JOINT_FLAG_USE_LIMIT: int
        HINGE_JOINT_FLAG_ENABLE_MOTOR: int
    class AreaSpaceOverrideMode(IntFlag):
        AREA_SPACE_OVERRIDE_DISABLED: int
        AREA_SPACE_OVERRIDE_COMBINE: int
        AREA_SPACE_OVERRIDE_COMBINE_REPLACE: int
        AREA_SPACE_OVERRIDE_REPLACE: int
        AREA_SPACE_OVERRIDE_REPLACE_COMBINE: int
    class AreaParameter(IntFlag):
        AREA_PARAM_GRAVITY: int
        AREA_PARAM_GRAVITY_VECTOR: int
        AREA_PARAM_GRAVITY_IS_POINT: int
        AREA_PARAM_GRAVITY_DISTANCE_SCALE: int
        AREA_PARAM_GRAVITY_POINT_ATTENUATION: int
        AREA_PARAM_LINEAR_DAMP: int
        AREA_PARAM_ANGULAR_DAMP: int
        AREA_PARAM_PRIORITY: int

    # Methods
    def area_add_shape(self,area: RID,shape: RID,transform: Transform=Transform(Vector3(1, 0, 0), Vector3(0, 1, 0), Vector3(0, 0, 1), Vector3(0, 0, 0)),disabled: bool=False,) -> None: ...
    def area_attach_object_instance_id(self,area: RID,id: int,) -> None: ...
    def area_clear_shapes(self,area: RID,) -> None: ...
    def area_create(self,) -> RID: ...
    def area_get_object_instance_id(self,area: RID,) -> int: ...
    def area_get_param(self,area: RID,param: int,) -> object: ...
    def area_get_shape(self,area: RID,shape_idx: int,) -> RID: ...
    def area_get_shape_count(self,area: RID,) -> int: ...
    def area_get_shape_transform(self,area: RID,shape_idx: int,) -> Transform: ...
    def area_get_space(self,area: RID,) -> RID: ...
    def area_get_space_override_mode(self,area: RID,) -> _PhysicsServer.AreaSpaceOverrideMode: ...
    def area_get_transform(self,area: RID,) -> Transform: ...
    def area_is_ray_pickable(self,area: RID,) -> bool: ...
    def area_remove_shape(self,area: RID,shape_idx: int,) -> None: ...
    def area_set_area_monitor_callback(self,area: RID,receiver: Object,method: Union[str, GDString],) -> None: ...
    def area_set_collision_layer(self,area: RID,layer: int,) -> None: ...
    def area_set_collision_mask(self,area: RID,mask: int,) -> None: ...
    def area_set_monitor_callback(self,area: RID,receiver: Object,method: Union[str, GDString],) -> None: ...
    def area_set_monitorable(self,area: RID,monitorable: bool,) -> None: ...
    def area_set_param(self,area: RID,param: int,value: object,) -> None: ...
    def area_set_ray_pickable(self,area: RID,enable: bool,) -> None: ...
    def area_set_shape(self,area: RID,shape_idx: int,shape: RID,) -> None: ...
    def area_set_shape_disabled(self,area: RID,shape_idx: int,disabled: bool,) -> None: ...
    def area_set_shape_transform(self,area: RID,shape_idx: int,transform: Transform,) -> None: ...
    def area_set_space(self,area: RID,space: RID,) -> None: ...
    def area_set_space_override_mode(self,area: RID,mode: int,) -> None: ...
    def area_set_transform(self,area: RID,transform: Transform,) -> None: ...
    def body_add_central_force(self,body: RID,force: Vector3,) -> None: ...
    def body_add_collision_exception(self,body: RID,excepted_body: RID,) -> None: ...
    def body_add_force(self,body: RID,force: Vector3,position: Vector3,) -> None: ...
    def body_add_shape(self,body: RID,shape: RID,transform: Transform=Transform(Vector3(1, 0, 0), Vector3(0, 1, 0), Vector3(0, 0, 1), Vector3(0, 0, 0)),disabled: bool=False,) -> None: ...
    def body_add_torque(self,body: RID,torque: Vector3,) -> None: ...
    def body_apply_central_impulse(self,body: RID,impulse: Vector3,) -> None: ...
    def body_apply_impulse(self,body: RID,position: Vector3,impulse: Vector3,) -> None: ...
    def body_apply_torque_impulse(self,body: RID,impulse: Vector3,) -> None: ...
    def body_attach_object_instance_id(self,body: RID,id: int,) -> None: ...
    def body_clear_shapes(self,body: RID,) -> None: ...
    def body_create(self,mode: int=2,init_sleeping: bool=False,) -> RID: ...
    def body_get_collision_layer(self,body: RID,) -> int: ...
    def body_get_collision_mask(self,body: RID,) -> int: ...
    def body_get_direct_state(self,body: RID,) -> PhysicsDirectBodyState: ...
    def body_get_kinematic_safe_margin(self,body: RID,) -> float: ...
    def body_get_max_contacts_reported(self,body: RID,) -> int: ...
    def body_get_mode(self,body: RID,) -> _PhysicsServer.BodyMode: ...
    def body_get_object_instance_id(self,body: RID,) -> int: ...
    def body_get_param(self,body: RID,param: int,) -> float: ...
    def body_get_shape(self,body: RID,shape_idx: int,) -> RID: ...
    def body_get_shape_count(self,body: RID,) -> int: ...
    def body_get_shape_transform(self,body: RID,shape_idx: int,) -> Transform: ...
    def body_get_space(self,body: RID,) -> RID: ...
    def body_get_state(self,body: RID,state: int,) -> object: ...
    def body_is_axis_locked(self,body: RID,axis: int,) -> bool: ...
    def body_is_continuous_collision_detection_enabled(self,body: RID,) -> bool: ...
    def body_is_omitting_force_integration(self,body: RID,) -> bool: ...
    def body_is_ray_pickable(self,body: RID,) -> bool: ...
    def body_remove_collision_exception(self,body: RID,excepted_body: RID,) -> None: ...
    def body_remove_shape(self,body: RID,shape_idx: int,) -> None: ...
    def body_set_axis_lock(self,body: RID,axis: int,lock: bool,) -> None: ...
    def body_set_axis_velocity(self,body: RID,axis_velocity: Vector3,) -> None: ...
    def body_set_collision_layer(self,body: RID,layer: int,) -> None: ...
    def body_set_collision_mask(self,body: RID,mask: int,) -> None: ...
    def body_set_enable_continuous_collision_detection(self,body: RID,enable: bool,) -> None: ...
    def body_set_force_integration_callback(self,body: RID,receiver: Object,method: Union[str, GDString],userdata: object=None,) -> None: ...
    def body_set_kinematic_safe_margin(self,body: RID,margin: float,) -> None: ...
    def body_set_max_contacts_reported(self,body: RID,amount: int,) -> None: ...
    def body_set_mode(self,body: RID,mode: int,) -> None: ...
    def body_set_omit_force_integration(self,body: RID,enable: bool,) -> None: ...
    def body_set_param(self,body: RID,param: int,value: float,) -> None: ...
    def body_set_ray_pickable(self,body: RID,enable: bool,) -> None: ...
    def body_set_shape(self,body: RID,shape_idx: int,shape: RID,) -> None: ...
    def body_set_shape_disabled(self,body: RID,shape_idx: int,disabled: bool,) -> None: ...
    def body_set_shape_transform(self,body: RID,shape_idx: int,transform: Transform,) -> None: ...
    def body_set_space(self,body: RID,space: RID,) -> None: ...
    def body_set_state(self,body: RID,state: int,value: object,) -> None: ...
    def cone_twist_joint_get_param(self,joint: RID,param: int,) -> float: ...
    def cone_twist_joint_set_param(self,joint: RID,param: int,value: float,) -> None: ...
    def free_rid(self,rid: RID,) -> None: ...
    def generic_6dof_joint_get_flag(self,joint: RID,axis: int,flag: int,) -> bool: ...
    def generic_6dof_joint_get_param(self,joint: RID,axis: int,param: int,) -> float: ...
    def generic_6dof_joint_set_flag(self,joint: RID,axis: int,flag: int,enable: bool,) -> None: ...
    def generic_6dof_joint_set_param(self,joint: RID,axis: int,param: int,value: float,) -> None: ...
    def get_process_info(self,process_info: int,) -> int: ...
    def hinge_joint_get_flag(self,joint: RID,flag: int,) -> bool: ...
    def hinge_joint_get_param(self,joint: RID,param: int,) -> float: ...
    def hinge_joint_set_flag(self,joint: RID,flag: int,enabled: bool,) -> None: ...
    def hinge_joint_set_param(self,joint: RID,param: int,value: float,) -> None: ...
    def joint_create_cone_twist(self,body_A: RID,local_ref_A: Transform,body_B: RID,local_ref_B: Transform,) -> RID: ...
    def joint_create_generic_6dof(self,body_A: RID,local_ref_A: Transform,body_B: RID,local_ref_B: Transform,) -> RID: ...
    def joint_create_hinge(self,body_A: RID,hinge_A: Transform,body_B: RID,hinge_B: Transform,) -> RID: ...
    def joint_create_pin(self,body_A: RID,local_A: Vector3,body_B: RID,local_B: Vector3,) -> RID: ...
    def joint_create_slider(self,body_A: RID,local_ref_A: Transform,body_B: RID,local_ref_B: Transform,) -> RID: ...
    def joint_get_solver_priority(self,joint: RID,) -> int: ...
    def joint_get_type(self,joint: RID,) -> _PhysicsServer.JointType: ...
    def joint_set_solver_priority(self,joint: RID,priority: int,) -> None: ...
    def pin_joint_get_local_a(self,joint: RID,) -> Vector3: ...
    def pin_joint_get_local_b(self,joint: RID,) -> Vector3: ...
    def pin_joint_get_param(self,joint: RID,param: int,) -> float: ...
    def pin_joint_set_local_a(self,joint: RID,local_A: Vector3,) -> None: ...
    def pin_joint_set_local_b(self,joint: RID,local_B: Vector3,) -> None: ...
    def pin_joint_set_param(self,joint: RID,param: int,value: float,) -> None: ...
    def set_active(self,active: bool,) -> None: ...
    def shape_create(self,type_: int,) -> RID: ...
    def shape_get_data(self,shape: RID,) -> object: ...
    def shape_get_type(self,shape: RID,) -> _PhysicsServer.ShapeType: ...
    def shape_set_data(self,shape: RID,data: object,) -> None: ...
    def slider_joint_get_param(self,joint: RID,param: int,) -> float: ...
    def slider_joint_set_param(self,joint: RID,param: int,value: float,) -> None: ...
    def space_create(self,) -> RID: ...
    def space_get_direct_state(self,space: RID,) -> PhysicsDirectSpaceState: ...
    def space_get_param(self,space: RID,param: int,) -> float: ...
    def space_is_active(self,space: RID,) -> bool: ...
    def space_set_active(self,space: RID,active: bool,) -> None: ...
    def space_set_param(self,space: RID,param: int,value: float,) -> None: ...




class _ProjectSettings(Object):


    # Methods
    def add_property_info(self,hint: Dictionary,) -> None: ...
    def clear(self,name: Union[str, GDString],) -> None: ...
    def get_order(self,name: Union[str, GDString],) -> int: ...
    def get_setting(self,name: Union[str, GDString],) -> object: ...
    def globalize_path(self,path: Union[str, GDString],) -> Union[str, GDString]: ...
    def has_setting(self,name: Union[str, GDString],) -> bool: ...
    def load_resource_pack(self,pack: Union[str, GDString],replace_files: bool=True,) -> bool: ...
    def localize_path(self,path: Union[str, GDString],) -> Union[str, GDString]: ...
    def property_can_revert(self,name: Union[str, GDString],) -> bool: ...
    def property_get_revert(self,name: Union[str, GDString],) -> object: ...
    def save(self,) -> Error: ...
    def save_custom(self,file: Union[str, GDString],) -> Error: ...
    def set_initial_value(self,name: Union[str, GDString],value: object,) -> None: ...
    def set_order(self,name: Union[str, GDString],position: int,) -> None: ...
    def set_setting(self,name: Union[str, GDString],value: object,) -> None: ...




class Reference(Object):


    def __init__(self): ...

    @classmethod
    def new(cls) -> Reference: ...


    # Methods
    def init_ref(self,) -> bool: ...
    def reference(self,) -> bool: ...
    def unreference(self,) -> bool: ...




class _TranslationServer(Object):


    # Methods
    def add_translation(self,translation: Translation,) -> None: ...
    def clear(self,) -> None: ...
    def get_loaded_locales(self,) -> Array: ...
    def get_locale(self,) -> Union[str, GDString]: ...
    def get_locale_name(self,locale: Union[str, GDString],) -> Union[str, GDString]: ...
    def remove_translation(self,translation: Translation,) -> None: ...
    def set_locale(self,locale: Union[str, GDString],) -> None: ...
    def translate(self,message: Union[str, GDString],) -> Union[str, GDString]: ...




class TreeItem(Object):

    # Constants
    ALIGN_CENTER: int
    ALIGN_LEFT: int
    ALIGN_RIGHT: int
    CELL_MODE_CHECK: int
    CELL_MODE_CUSTOM: int
    CELL_MODE_ICON: int
    CELL_MODE_RANGE: int
    CELL_MODE_STRING: int
    # Enums
    class TreeCellMode(IntFlag):
        CELL_MODE_STRING: int
        CELL_MODE_CHECK: int
        CELL_MODE_RANGE: int
        CELL_MODE_ICON: int
        CELL_MODE_CUSTOM: int
    class TextAlign(IntFlag):
        ALIGN_LEFT: int
        ALIGN_CENTER: int
        ALIGN_RIGHT: int

    # Methods
    def add_button(self,column: int,button: Texture,button_idx: int=-1,disabled: bool=False,tooltip: Union[str, GDString]="",) -> None: ...
    def clear_custom_bg_color(self,column: int,) -> None: ...
    def clear_custom_color(self,column: int,) -> None: ...
    def deselect(self,column: int,) -> None: ...
    def erase_button(self,column: int,button_idx: int,) -> None: ...
    def get_button(self,column: int,button_idx: int,) -> Texture: ...
    def get_button_count(self,column: int,) -> int: ...
    def get_button_tooltip(self,column: int,button_idx: int,) -> Union[str, GDString]: ...
    def get_cell_mode(self,column: int,) -> TreeItem.TreeCellMode: ...
    def get_children(self,) -> TreeItem: ...
    def get_custom_bg_color(self,column: int,) -> Color: ...
    def get_custom_color(self,column: int,) -> Color: ...
    def get_custom_minimum_height(self,) -> int: ...
    def get_expand_right(self,column: int,) -> bool: ...
    def get_icon(self,column: int,) -> Texture: ...
    def get_icon_max_width(self,column: int,) -> int: ...
    def get_icon_modulate(self,column: int,) -> Color: ...
    def get_icon_region(self,column: int,) -> Rect2: ...
    def get_metadata(self,column: int,) -> object: ...
    def get_next(self,) -> TreeItem: ...
    def get_next_visible(self,wrap: bool=False,) -> TreeItem: ...
    def get_parent(self,) -> TreeItem: ...
    def get_prev(self,) -> TreeItem: ...
    def get_prev_visible(self,wrap: bool=False,) -> TreeItem: ...
    def get_range(self,column: int,) -> float: ...
    def get_range_config(self,column: int,) -> Dictionary: ...
    def get_suffix(self,column: int,) -> Union[str, GDString]: ...
    def get_text(self,column: int,) -> Union[str, GDString]: ...
    def get_text_align(self,column: int,) -> TreeItem.TextAlign: ...
    def get_tooltip(self,column: int,) -> Union[str, GDString]: ...
    def is_button_disabled(self,column: int,button_idx: int,) -> bool: ...
    def is_checked(self,column: int,) -> bool: ...
    def is_collapsed(self,) -> bool: ...
    def is_custom_set_as_button(self,column: int,) -> bool: ...
    def is_editable(self,column: int,) -> bool: ...
    def is_folding_disabled(self,) -> bool: ...
    def is_selectable(self,column: int,) -> bool: ...
    def is_selected(self,column: int,) -> bool: ...
    def move_to_bottom(self,) -> None: ...
    def move_to_top(self,) -> None: ...
    def remove_child(self,child: Object,) -> None: ...
    def select(self,column: int,) -> None: ...
    def set_button(self,column: int,button_idx: int,button: Texture,) -> None: ...
    def set_button_disabled(self,column: int,button_idx: int,disabled: bool,) -> None: ...
    def set_cell_mode(self,column: int,mode: int,) -> None: ...
    def set_checked(self,column: int,checked: bool,) -> None: ...
    def set_collapsed(self,enable: bool,) -> None: ...
    def set_custom_as_button(self,column: int,enable: bool,) -> None: ...
    def set_custom_bg_color(self,column: int,color: Color,just_outline: bool=False,) -> None: ...
    def set_custom_color(self,column: int,color: Color,) -> None: ...
    def set_custom_draw(self,column: int,object: Object,callback: Union[str, GDString],) -> None: ...
    def set_custom_minimum_height(self,height: int,) -> None: ...
    def set_disable_folding(self,disable: bool,) -> None: ...
    def set_editable(self,column: int,enabled: bool,) -> None: ...
    def set_expand_right(self,column: int,enable: bool,) -> None: ...
    def set_icon(self,column: int,texture: Texture,) -> None: ...
    def set_icon_max_width(self,column: int,width: int,) -> None: ...
    def set_icon_modulate(self,column: int,modulate: Color,) -> None: ...
    def set_icon_region(self,column: int,region: Rect2,) -> None: ...
    def set_metadata(self,column: int,meta: object,) -> None: ...
    def set_range(self,column: int,value: float,) -> None: ...
    def set_range_config(self,column: int,min: float,max: float,step: float,expr: bool=False,) -> None: ...
    def set_selectable(self,column: int,selectable: bool,) -> None: ...
    def set_suffix(self,column: int,text: Union[str, GDString],) -> None: ...
    def set_text(self,column: int,text: Union[str, GDString],) -> None: ...
    def set_text_align(self,column: int,text_align: int,) -> None: ...
    def set_tooltip(self,column: int,tooltip: Union[str, GDString],) -> None: ...

    # Properties
    collapsed: bool
    custom_minimum_height: int
    disable_folding: bool



class UndoRedo(Object):


    @staticmethod
    def new() -> UndoRedo: ...


    # Constants
    MERGE_ALL: int
    MERGE_DISABLE: int
    MERGE_ENDS: int
    # Enums
    class MergeMode(IntFlag):
        MERGE_DISABLE: int
        MERGE_ENDS: int
        MERGE_ALL: int

    # Methods
    def add_do_property(self,object: Object,property: Union[str, GDString],value: object,) -> None: ...
    def add_do_reference(self,object: Object,) -> None: ...
    def add_undo_property(self,object: Object,property: Union[str, GDString],value: object,) -> None: ...
    def add_undo_reference(self,object: Object,) -> None: ...
    def clear_history(self,increase_version: bool=True,) -> None: ...
    def commit_action(self,) -> None: ...
    def create_action(self,name: Union[str, GDString],merge_mode: int=0,) -> None: ...
    def get_current_action_name(self,) -> Union[str, GDString]: ...
    def get_version(self,) -> int: ...
    def has_redo(self,) -> bool: ...
    def has_undo(self,) -> bool: ...
    def is_commiting_action(self,) -> bool: ...
    def redo(self,) -> bool: ...
    def undo(self,) -> bool: ...




class _VisualServer(Object):

    # Constants
    ARRAY_BONES: int
    ARRAY_COLOR: int
    ARRAY_COMPRESS_BONES: int
    ARRAY_COMPRESS_COLOR: int
    ARRAY_COMPRESS_DEFAULT: int
    ARRAY_COMPRESS_INDEX: int
    ARRAY_COMPRESS_NORMAL: int
    ARRAY_COMPRESS_TANGENT: int
    ARRAY_COMPRESS_TEX_UV: int
    ARRAY_COMPRESS_TEX_UV2: int
    ARRAY_COMPRESS_VERTEX: int
    ARRAY_COMPRESS_WEIGHTS: int
    ARRAY_FLAG_USE_16_BIT_BONES: int
    ARRAY_FLAG_USE_2D_VERTICES: int
    ARRAY_FORMAT_BONES: int
    ARRAY_FORMAT_COLOR: int
    ARRAY_FORMAT_INDEX: int
    ARRAY_FORMAT_NORMAL: int
    ARRAY_FORMAT_TANGENT: int
    ARRAY_FORMAT_TEX_UV: int
    ARRAY_FORMAT_TEX_UV2: int
    ARRAY_FORMAT_VERTEX: int
    ARRAY_FORMAT_WEIGHTS: int
    ARRAY_INDEX: int
    ARRAY_MAX: int
    ARRAY_NORMAL: int
    ARRAY_TANGENT: int
    ARRAY_TEX_UV: int
    ARRAY_TEX_UV2: int
    ARRAY_VERTEX: int
    ARRAY_WEIGHTS: int
    ARRAY_WEIGHTS_SIZE: int
    BLEND_SHAPE_MODE_NORMALIZED: int
    BLEND_SHAPE_MODE_RELATIVE: int
    CANVAS_ITEM_Z_MAX: int
    CANVAS_ITEM_Z_MIN: int
    CANVAS_LIGHT_FILTER_NONE: int
    CANVAS_LIGHT_FILTER_PCF13: int
    CANVAS_LIGHT_FILTER_PCF3: int
    CANVAS_LIGHT_FILTER_PCF5: int
    CANVAS_LIGHT_FILTER_PCF7: int
    CANVAS_LIGHT_FILTER_PCF9: int
    CANVAS_LIGHT_MODE_ADD: int
    CANVAS_LIGHT_MODE_MASK: int
    CANVAS_LIGHT_MODE_MIX: int
    CANVAS_LIGHT_MODE_SUB: int
    CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE: int
    CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE: int
    CANVAS_OCCLUDER_POLYGON_CULL_DISABLED: int
    CUBEMAP_BACK: int
    CUBEMAP_BOTTOM: int
    CUBEMAP_FRONT: int
    CUBEMAP_LEFT: int
    CUBEMAP_RIGHT: int
    CUBEMAP_TOP: int
    ENV_BG_CANVAS: int
    ENV_BG_CLEAR_COLOR: int
    ENV_BG_COLOR: int
    ENV_BG_COLOR_SKY: int
    ENV_BG_KEEP: int
    ENV_BG_MAX: int
    ENV_BG_SKY: int
    ENV_DOF_BLUR_QUALITY_HIGH: int
    ENV_DOF_BLUR_QUALITY_LOW: int
    ENV_DOF_BLUR_QUALITY_MEDIUM: int
    ENV_SSAO_BLUR_1x1: int
    ENV_SSAO_BLUR_2x2: int
    ENV_SSAO_BLUR_3x3: int
    ENV_SSAO_BLUR_DISABLED: int
    ENV_SSAO_QUALITY_HIGH: int
    ENV_SSAO_QUALITY_LOW: int
    ENV_SSAO_QUALITY_MEDIUM: int
    ENV_TONE_MAPPER_ACES: int
    ENV_TONE_MAPPER_FILMIC: int
    ENV_TONE_MAPPER_LINEAR: int
    ENV_TONE_MAPPER_REINHARD: int
    FEATURE_MULTITHREADED: int
    FEATURE_SHADERS: int
    GLOW_BLEND_MODE_ADDITIVE: int
    GLOW_BLEND_MODE_REPLACE: int
    GLOW_BLEND_MODE_SCREEN: int
    GLOW_BLEND_MODE_SOFTLIGHT: int
    INFO_2D_DRAW_CALLS_IN_FRAME: int
    INFO_2D_ITEMS_IN_FRAME: int
    INFO_DRAW_CALLS_IN_FRAME: int
    INFO_MATERIAL_CHANGES_IN_FRAME: int
    INFO_OBJECTS_IN_FRAME: int
    INFO_SHADER_CHANGES_IN_FRAME: int
    INFO_SURFACE_CHANGES_IN_FRAME: int
    INFO_TEXTURE_MEM_USED: int
    INFO_USAGE_VIDEO_MEM_TOTAL: int
    INFO_VERTEX_MEM_USED: int
    INFO_VERTICES_IN_FRAME: int
    INFO_VIDEO_MEM_USED: int
    INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE: int
    INSTANCE_FLAG_MAX: int
    INSTANCE_FLAG_USE_BAKED_LIGHT: int
    INSTANCE_GEOMETRY_MASK: int
    INSTANCE_GI_PROBE: int
    INSTANCE_IMMEDIATE: int
    INSTANCE_LIGHT: int
    INSTANCE_LIGHTMAP_CAPTURE: int
    INSTANCE_MAX: int
    INSTANCE_MESH: int
    INSTANCE_MULTIMESH: int
    INSTANCE_NONE: int
    INSTANCE_PARTICLES: int
    INSTANCE_REFLECTION_PROBE: int
    LIGHT_DIRECTIONAL: int
    LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED: int
    LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE: int
    LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL: int
    LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS: int
    LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS: int
    LIGHT_OMNI: int
    LIGHT_OMNI_SHADOW_CUBE: int
    LIGHT_OMNI_SHADOW_DETAIL_HORIZONTAL: int
    LIGHT_OMNI_SHADOW_DETAIL_VERTICAL: int
    LIGHT_OMNI_SHADOW_DUAL_PARABOLOID: int
    LIGHT_PARAM_ATTENUATION: int
    LIGHT_PARAM_CONTACT_SHADOW_SIZE: int
    LIGHT_PARAM_ENERGY: int
    LIGHT_PARAM_MAX: int
    LIGHT_PARAM_RANGE: int
    LIGHT_PARAM_SHADOW_BIAS: int
    LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE: int
    LIGHT_PARAM_SHADOW_MAX_DISTANCE: int
    LIGHT_PARAM_SHADOW_NORMAL_BIAS: int
    LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET: int
    LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET: int
    LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET: int
    LIGHT_PARAM_SPECULAR: int
    LIGHT_PARAM_SPOT_ANGLE: int
    LIGHT_PARAM_SPOT_ATTENUATION: int
    LIGHT_SPOT: int
    MATERIAL_RENDER_PRIORITY_MAX: int
    MATERIAL_RENDER_PRIORITY_MIN: int
    MAX_CURSORS: int
    MAX_GLOW_LEVELS: int
    MULTIMESH_COLOR_8BIT: int
    MULTIMESH_COLOR_FLOAT: int
    MULTIMESH_COLOR_NONE: int
    MULTIMESH_CUSTOM_DATA_8BIT: int
    MULTIMESH_CUSTOM_DATA_FLOAT: int
    MULTIMESH_CUSTOM_DATA_NONE: int
    MULTIMESH_TRANSFORM_2D: int
    MULTIMESH_TRANSFORM_3D: int
    NINE_PATCH_STRETCH: int
    NINE_PATCH_TILE: int
    NINE_PATCH_TILE_FIT: int
    NO_INDEX_ARRAY: int
    PARTICLES_DRAW_ORDER_INDEX: int
    PARTICLES_DRAW_ORDER_LIFETIME: int
    PARTICLES_DRAW_ORDER_VIEW_DEPTH: int
    PRIMITIVE_LINES: int
    PRIMITIVE_LINE_LOOP: int
    PRIMITIVE_LINE_STRIP: int
    PRIMITIVE_MAX: int
    PRIMITIVE_POINTS: int
    PRIMITIVE_TRIANGLES: int
    PRIMITIVE_TRIANGLE_FAN: int
    PRIMITIVE_TRIANGLE_STRIP: int
    REFLECTION_PROBE_UPDATE_ALWAYS: int
    REFLECTION_PROBE_UPDATE_ONCE: int
    SCENARIO_DEBUG_DISABLED: int
    SCENARIO_DEBUG_OVERDRAW: int
    SCENARIO_DEBUG_SHADELESS: int
    SCENARIO_DEBUG_WIREFRAME: int
    SHADER_CANVAS_ITEM: int
    SHADER_MAX: int
    SHADER_PARTICLES: int
    SHADER_SPATIAL: int
    SHADOW_CASTING_SETTING_DOUBLE_SIDED: int
    SHADOW_CASTING_SETTING_OFF: int
    SHADOW_CASTING_SETTING_ON: int
    SHADOW_CASTING_SETTING_SHADOWS_ONLY: int
    TEXTURE_FLAGS_DEFAULT: int
    TEXTURE_FLAG_ANISOTROPIC_FILTER: int
    TEXTURE_FLAG_CONVERT_TO_LINEAR: int
    TEXTURE_FLAG_FILTER: int
    TEXTURE_FLAG_MIPMAPS: int
    TEXTURE_FLAG_MIRRORED_REPEAT: int
    TEXTURE_FLAG_REPEAT: int
    TEXTURE_FLAG_USED_FOR_STREAMING: int
    TEXTURE_TYPE_2D: int
    TEXTURE_TYPE_2D_ARRAY: int
    TEXTURE_TYPE_3D: int
    TEXTURE_TYPE_CUBEMAP: int
    VIEWPORT_CLEAR_ALWAYS: int
    VIEWPORT_CLEAR_NEVER: int
    VIEWPORT_CLEAR_ONLY_NEXT_FRAME: int
    VIEWPORT_DEBUG_DRAW_DISABLED: int
    VIEWPORT_DEBUG_DRAW_OVERDRAW: int
    VIEWPORT_DEBUG_DRAW_UNSHADED: int
    VIEWPORT_DEBUG_DRAW_WIREFRAME: int
    VIEWPORT_MSAA_16X: int
    VIEWPORT_MSAA_2X: int
    VIEWPORT_MSAA_4X: int
    VIEWPORT_MSAA_8X: int
    VIEWPORT_MSAA_DISABLED: int
    VIEWPORT_MSAA_EXT_2X: int
    VIEWPORT_MSAA_EXT_4X: int
    VIEWPORT_RENDER_INFO_2D_DRAW_CALLS_IN_FRAME: int
    VIEWPORT_RENDER_INFO_2D_ITEMS_IN_FRAME: int
    VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME: int
    VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME: int
    VIEWPORT_RENDER_INFO_MAX: int
    VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME: int
    VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME: int
    VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME: int
    VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME: int
    VIEWPORT_UPDATE_ALWAYS: int
    VIEWPORT_UPDATE_DISABLED: int
    VIEWPORT_UPDATE_ONCE: int
    VIEWPORT_UPDATE_WHEN_VISIBLE: int
    VIEWPORT_USAGE_2D: int
    VIEWPORT_USAGE_2D_NO_SAMPLING: int
    VIEWPORT_USAGE_3D: int
    VIEWPORT_USAGE_3D_NO_EFFECTS: int
    # Enums
    class ReflectionProbeUpdateMode(IntFlag):
        REFLECTION_PROBE_UPDATE_ONCE: int
        REFLECTION_PROBE_UPDATE_ALWAYS: int
    class LightDirectionalShadowDepthRangeMode(IntFlag):
        LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE: int
        LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED: int
    class BlendShapeMode(IntFlag):
        BLEND_SHAPE_MODE_NORMALIZED: int
        BLEND_SHAPE_MODE_RELATIVE: int
    class PrimitiveType(IntFlag):
        PRIMITIVE_POINTS: int
        PRIMITIVE_LINES: int
        PRIMITIVE_LINE_STRIP: int
        PRIMITIVE_LINE_LOOP: int
        PRIMITIVE_TRIANGLES: int
        PRIMITIVE_TRIANGLE_STRIP: int
        PRIMITIVE_TRIANGLE_FAN: int
        PRIMITIVE_MAX: int
    class TextureType(IntFlag):
        TEXTURE_TYPE_2D: int
        TEXTURE_TYPE_CUBEMAP: int
        TEXTURE_TYPE_2D_ARRAY: int
        TEXTURE_TYPE_3D: int
    class EnvironmentSSAOQuality(IntFlag):
        ENV_SSAO_QUALITY_LOW: int
        ENV_SSAO_QUALITY_MEDIUM: int
        ENV_SSAO_QUALITY_HIGH: int
    class EnvironmentDOFBlurQuality(IntFlag):
        ENV_DOF_BLUR_QUALITY_LOW: int
        ENV_DOF_BLUR_QUALITY_MEDIUM: int
        ENV_DOF_BLUR_QUALITY_HIGH: int
    class RenderInfo(IntFlag):
        INFO_OBJECTS_IN_FRAME: int
        INFO_VERTICES_IN_FRAME: int
        INFO_MATERIAL_CHANGES_IN_FRAME: int
        INFO_SHADER_CHANGES_IN_FRAME: int
        INFO_SURFACE_CHANGES_IN_FRAME: int
        INFO_DRAW_CALLS_IN_FRAME: int
        INFO_2D_ITEMS_IN_FRAME: int
        INFO_2D_DRAW_CALLS_IN_FRAME: int
        INFO_USAGE_VIDEO_MEM_TOTAL: int
        INFO_VIDEO_MEM_USED: int
        INFO_TEXTURE_MEM_USED: int
        INFO_VERTEX_MEM_USED: int
    class NinePatchAxisMode(IntFlag):
        NINE_PATCH_STRETCH: int
        NINE_PATCH_TILE: int
        NINE_PATCH_TILE_FIT: int
    class ViewportRenderInfo(IntFlag):
        VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME: int
        VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME: int
        VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME: int
        VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME: int
        VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME: int
        VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME: int
        VIEWPORT_RENDER_INFO_2D_ITEMS_IN_FRAME: int
        VIEWPORT_RENDER_INFO_2D_DRAW_CALLS_IN_FRAME: int
        VIEWPORT_RENDER_INFO_MAX: int
    class ViewportClearMode(IntFlag):
        VIEWPORT_CLEAR_ALWAYS: int
        VIEWPORT_CLEAR_NEVER: int
        VIEWPORT_CLEAR_ONLY_NEXT_FRAME: int
    class LightOmniShadowDetail(IntFlag):
        LIGHT_OMNI_SHADOW_DETAIL_VERTICAL: int
        LIGHT_OMNI_SHADOW_DETAIL_HORIZONTAL: int
    class ShaderMode(IntFlag):
        SHADER_SPATIAL: int
        SHADER_CANVAS_ITEM: int
        SHADER_PARTICLES: int
        SHADER_MAX: int
    class MultimeshTransformFormat(IntFlag):
        MULTIMESH_TRANSFORM_2D: int
        MULTIMESH_TRANSFORM_3D: int
    class ShadowCastingSetting(IntFlag):
        SHADOW_CASTING_SETTING_OFF: int
        SHADOW_CASTING_SETTING_ON: int
        SHADOW_CASTING_SETTING_DOUBLE_SIDED: int
        SHADOW_CASTING_SETTING_SHADOWS_ONLY: int
    class ViewportDebugDraw(IntFlag):
        VIEWPORT_DEBUG_DRAW_DISABLED: int
        VIEWPORT_DEBUG_DRAW_UNSHADED: int
        VIEWPORT_DEBUG_DRAW_OVERDRAW: int
        VIEWPORT_DEBUG_DRAW_WIREFRAME: int
    class ViewportUsage(IntFlag):
        VIEWPORT_USAGE_2D: int
        VIEWPORT_USAGE_2D_NO_SAMPLING: int
        VIEWPORT_USAGE_3D: int
        VIEWPORT_USAGE_3D_NO_EFFECTS: int
    class EnvironmentBG(IntFlag):
        ENV_BG_CLEAR_COLOR: int
        ENV_BG_COLOR: int
        ENV_BG_SKY: int
        ENV_BG_COLOR_SKY: int
        ENV_BG_CANVAS: int
        ENV_BG_KEEP: int
        ENV_BG_MAX: int
    class MultimeshCustomDataFormat(IntFlag):
        MULTIMESH_CUSTOM_DATA_NONE: int
        MULTIMESH_CUSTOM_DATA_8BIT: int
        MULTIMESH_CUSTOM_DATA_FLOAT: int
    class LightOmniShadowMode(IntFlag):
        LIGHT_OMNI_SHADOW_DUAL_PARABOLOID: int
        LIGHT_OMNI_SHADOW_CUBE: int
    class TextureFlags(IntFlag):
        TEXTURE_FLAG_MIPMAPS: int
        TEXTURE_FLAG_REPEAT: int
        TEXTURE_FLAG_FILTER: int
        TEXTURE_FLAGS_DEFAULT: int
        TEXTURE_FLAG_ANISOTROPIC_FILTER: int
        TEXTURE_FLAG_CONVERT_TO_LINEAR: int
        TEXTURE_FLAG_MIRRORED_REPEAT: int
        TEXTURE_FLAG_USED_FOR_STREAMING: int
    class Features(IntFlag):
        FEATURE_SHADERS: int
        FEATURE_MULTITHREADED: int
    class InstanceType(IntFlag):
        INSTANCE_NONE: int
        INSTANCE_MESH: int
        INSTANCE_MULTIMESH: int
        INSTANCE_IMMEDIATE: int
        INSTANCE_PARTICLES: int
        INSTANCE_LIGHT: int
        INSTANCE_REFLECTION_PROBE: int
        INSTANCE_GI_PROBE: int
        INSTANCE_LIGHTMAP_CAPTURE: int
        INSTANCE_MAX: int
        INSTANCE_GEOMETRY_MASK: int
    class EnvironmentSSAOBlur(IntFlag):
        ENV_SSAO_BLUR_DISABLED: int
        ENV_SSAO_BLUR_1x1: int
        ENV_SSAO_BLUR_2x2: int
        ENV_SSAO_BLUR_3x3: int
    class EnvironmentToneMapper(IntFlag):
        ENV_TONE_MAPPER_LINEAR: int
        ENV_TONE_MAPPER_REINHARD: int
        ENV_TONE_MAPPER_FILMIC: int
        ENV_TONE_MAPPER_ACES: int
    class EnvironmentGlowBlendMode(IntFlag):
        GLOW_BLEND_MODE_ADDITIVE: int
        GLOW_BLEND_MODE_SCREEN: int
        GLOW_BLEND_MODE_SOFTLIGHT: int
        GLOW_BLEND_MODE_REPLACE: int
    class MultimeshColorFormat(IntFlag):
        MULTIMESH_COLOR_NONE: int
        MULTIMESH_COLOR_8BIT: int
        MULTIMESH_COLOR_FLOAT: int
    class CanvasLightShadowFilter(IntFlag):
        CANVAS_LIGHT_FILTER_NONE: int
        CANVAS_LIGHT_FILTER_PCF3: int
        CANVAS_LIGHT_FILTER_PCF5: int
        CANVAS_LIGHT_FILTER_PCF7: int
        CANVAS_LIGHT_FILTER_PCF9: int
        CANVAS_LIGHT_FILTER_PCF13: int
    class ScenarioDebugMode(IntFlag):
        SCENARIO_DEBUG_DISABLED: int
        SCENARIO_DEBUG_WIREFRAME: int
        SCENARIO_DEBUG_OVERDRAW: int
        SCENARIO_DEBUG_SHADELESS: int
    class ViewportUpdateMode(IntFlag):
        VIEWPORT_UPDATE_DISABLED: int
        VIEWPORT_UPDATE_ONCE: int
        VIEWPORT_UPDATE_WHEN_VISIBLE: int
        VIEWPORT_UPDATE_ALWAYS: int
    class ArrayFormat(IntFlag):
        ARRAY_FORMAT_VERTEX: int
        ARRAY_FORMAT_NORMAL: int
        ARRAY_FORMAT_TANGENT: int
        ARRAY_FORMAT_COLOR: int
        ARRAY_FORMAT_TEX_UV: int
        ARRAY_FORMAT_TEX_UV2: int
        ARRAY_FORMAT_BONES: int
        ARRAY_FORMAT_WEIGHTS: int
        ARRAY_FORMAT_INDEX: int
        ARRAY_COMPRESS_VERTEX: int
        ARRAY_COMPRESS_NORMAL: int
        ARRAY_COMPRESS_TANGENT: int
        ARRAY_COMPRESS_COLOR: int
        ARRAY_COMPRESS_TEX_UV: int
        ARRAY_COMPRESS_TEX_UV2: int
        ARRAY_COMPRESS_BONES: int
        ARRAY_COMPRESS_WEIGHTS: int
        ARRAY_COMPRESS_DEFAULT: int
        ARRAY_COMPRESS_INDEX: int
        ARRAY_FLAG_USE_2D_VERTICES: int
        ARRAY_FLAG_USE_16_BIT_BONES: int
    class ParticlesDrawOrder(IntFlag):
        PARTICLES_DRAW_ORDER_INDEX: int
        PARTICLES_DRAW_ORDER_LIFETIME: int
        PARTICLES_DRAW_ORDER_VIEW_DEPTH: int
    class CanvasLightMode(IntFlag):
        CANVAS_LIGHT_MODE_ADD: int
        CANVAS_LIGHT_MODE_SUB: int
        CANVAS_LIGHT_MODE_MIX: int
        CANVAS_LIGHT_MODE_MASK: int
    class LightDirectionalShadowMode(IntFlag):
        LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL: int
        LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS: int
        LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS: int
    class LightParam(IntFlag):
        LIGHT_PARAM_ENERGY: int
        LIGHT_PARAM_SPECULAR: int
        LIGHT_PARAM_RANGE: int
        LIGHT_PARAM_ATTENUATION: int
        LIGHT_PARAM_SPOT_ANGLE: int
        LIGHT_PARAM_SPOT_ATTENUATION: int
        LIGHT_PARAM_CONTACT_SHADOW_SIZE: int
        LIGHT_PARAM_SHADOW_MAX_DISTANCE: int
        LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET: int
        LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET: int
        LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET: int
        LIGHT_PARAM_SHADOW_NORMAL_BIAS: int
        LIGHT_PARAM_SHADOW_BIAS: int
        LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE: int
        LIGHT_PARAM_MAX: int
    class ArrayType(IntFlag):
        ARRAY_VERTEX: int
        ARRAY_NORMAL: int
        ARRAY_TANGENT: int
        ARRAY_COLOR: int
        ARRAY_TEX_UV: int
        ARRAY_TEX_UV2: int
        ARRAY_BONES: int
        ARRAY_WEIGHTS: int
        ARRAY_INDEX: int
        ARRAY_MAX: int
    class CanvasOccluderPolygonCullMode(IntFlag):
        CANVAS_OCCLUDER_POLYGON_CULL_DISABLED: int
        CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE: int
        CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE: int
    class InstanceFlags(IntFlag):
        INSTANCE_FLAG_USE_BAKED_LIGHT: int
        INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE: int
        INSTANCE_FLAG_MAX: int
    class ViewportMSAA(IntFlag):
        VIEWPORT_MSAA_DISABLED: int
        VIEWPORT_MSAA_2X: int
        VIEWPORT_MSAA_4X: int
        VIEWPORT_MSAA_8X: int
        VIEWPORT_MSAA_16X: int
        VIEWPORT_MSAA_EXT_2X: int
        VIEWPORT_MSAA_EXT_4X: int
    class LightType(IntFlag):
        LIGHT_DIRECTIONAL: int
        LIGHT_OMNI: int
        LIGHT_SPOT: int
    class CubeMapSide(IntFlag):
        CUBEMAP_LEFT: int
        CUBEMAP_RIGHT: int
        CUBEMAP_BOTTOM: int
        CUBEMAP_TOP: int
        CUBEMAP_FRONT: int
        CUBEMAP_BACK: int

    # Methods
    def black_bars_set_images(self,left: RID,top: RID,right: RID,bottom: RID,) -> None: ...
    def black_bars_set_margins(self,left: int,top: int,right: int,bottom: int,) -> None: ...
    def camera_create(self,) -> RID: ...
    def camera_set_cull_mask(self,camera: RID,layers: int,) -> None: ...
    def camera_set_environment(self,camera: RID,env: RID,) -> None: ...
    def camera_set_frustum(self,camera: RID,size: float,offset: Vector2,z_near: float,z_far: float,) -> None: ...
    def camera_set_orthogonal(self,camera: RID,size: float,z_near: float,z_far: float,) -> None: ...
    def camera_set_perspective(self,camera: RID,fovy_degrees: float,z_near: float,z_far: float,) -> None: ...
    def camera_set_transform(self,camera: RID,transform: Transform,) -> None: ...
    def camera_set_use_vertical_aspect(self,camera: RID,enable: bool,) -> None: ...
    def canvas_create(self,) -> RID: ...
    def canvas_item_add_circle(self,item: RID,pos: Vector2,radius: float,color: Color,) -> None: ...
    def canvas_item_add_clip_ignore(self,item: RID,ignore: bool,) -> None: ...
    def canvas_item_add_line(self,item: RID,from_: Vector2,to: Vector2,color: Color,width: float=1,antialiased: bool=False,) -> None: ...
    def canvas_item_add_mesh(self,item: RID,mesh: RID,transform: Transform2D=Transform2D(Vector2(1, 0), Vector2(0, 1), Vector2(0, 0)),modulate: Color=Color(1,1,1,1),texture: RID=RID(),normal_map: RID=RID(),) -> None: ...
    def canvas_item_add_multimesh(self,item: RID,mesh: RID,texture: RID,normal_map: RID=RID(),) -> None: ...
    def canvas_item_add_nine_patch(self,item: RID,rect: Rect2,source: Rect2,texture: RID,topleft: Vector2,bottomright: Vector2,x_axis_mode: int=0,y_axis_mode: int=0,draw_center: bool=True,modulate: Color=Color(1,1,1,1),normal_map: RID=RID(),) -> None: ...
    def canvas_item_add_particles(self,item: RID,particles: RID,texture: RID,normal_map: RID,) -> None: ...
    def canvas_item_add_polygon(self,item: RID,points: PoolVector2Array,colors: PoolColorArray,uvs: PoolVector2Array=PoolVector2Array(),texture: RID=RID(),normal_map: RID=RID(),antialiased: bool=False,) -> None: ...
    def canvas_item_add_polyline(self,item: RID,points: PoolVector2Array,colors: PoolColorArray,width: float=1,antialiased: bool=False,) -> None: ...
    def canvas_item_add_primitive(self,item: RID,points: PoolVector2Array,colors: PoolColorArray,uvs: PoolVector2Array,texture: RID,width: float=1,normal_map: RID=RID(),) -> None: ...
    def canvas_item_add_rect(self,item: RID,rect: Rect2,color: Color,) -> None: ...
    def canvas_item_add_set_transform(self,item: RID,transform: Transform2D,) -> None: ...
    def canvas_item_add_texture_rect(self,item: RID,rect: Rect2,texture: RID,tile: bool=False,modulate: Color=Color(1,1,1,1),transpose: bool=False,normal_map: RID=RID(),) -> None: ...
    def canvas_item_add_texture_rect_region(self,item: RID,rect: Rect2,texture: RID,src_rect: Rect2,modulate: Color=Color(1,1,1,1),transpose: bool=False,normal_map: RID=RID(),clip_uv: bool=True,) -> None: ...
    def canvas_item_add_triangle_array(self,item: RID,indices: PoolIntArray,points: PoolVector2Array,colors: PoolColorArray,uvs: PoolVector2Array=PoolVector2Array(),bones: PoolIntArray=PoolIntArray(),weights: PoolRealArray=PoolRealArray(),texture: RID=RID(),count: int=-1,normal_map: RID=RID(),antialiased: bool=False,antialiasing_use_indices: bool=False,) -> None: ...
    def canvas_item_clear(self,item: RID,) -> None: ...
    def canvas_item_create(self,) -> RID: ...
    def canvas_item_set_clip(self,item: RID,clip: bool,) -> None: ...
    def canvas_item_set_copy_to_backbuffer(self,item: RID,enabled: bool,rect: Rect2,) -> None: ...
    def canvas_item_set_custom_rect(self,item: RID,use_custom_rect: bool,rect: Rect2=Rect2(0, 0, 0, 0),) -> None: ...
    def canvas_item_set_distance_field_mode(self,item: RID,enabled: bool,) -> None: ...
    def canvas_item_set_draw_behind_parent(self,item: RID,enabled: bool,) -> None: ...
    def canvas_item_set_draw_index(self,item: RID,index: int,) -> None: ...
    def canvas_item_set_light_mask(self,item: RID,mask: int,) -> None: ...
    def canvas_item_set_material(self,item: RID,material: RID,) -> None: ...
    def canvas_item_set_modulate(self,item: RID,color: Color,) -> None: ...
    def canvas_item_set_parent(self,item: RID,parent: RID,) -> None: ...
    def canvas_item_set_self_modulate(self,item: RID,color: Color,) -> None: ...
    def canvas_item_set_sort_children_by_y(self,item: RID,enabled: bool,) -> None: ...
    def canvas_item_set_transform(self,item: RID,transform: Transform2D,) -> None: ...
    def canvas_item_set_use_parent_material(self,item: RID,enabled: bool,) -> None: ...
    def canvas_item_set_visible(self,item: RID,visible: bool,) -> None: ...
    def canvas_item_set_z_as_relative_to_parent(self,item: RID,enabled: bool,) -> None: ...
    def canvas_item_set_z_index(self,item: RID,z_index: int,) -> None: ...
    def canvas_light_attach_to_canvas(self,light: RID,canvas: RID,) -> None: ...
    def canvas_light_create(self,) -> RID: ...
    def canvas_light_occluder_attach_to_canvas(self,occluder: RID,canvas: RID,) -> None: ...
    def canvas_light_occluder_create(self,) -> RID: ...
    def canvas_light_occluder_set_enabled(self,occluder: RID,enabled: bool,) -> None: ...
    def canvas_light_occluder_set_light_mask(self,occluder: RID,mask: int,) -> None: ...
    def canvas_light_occluder_set_polygon(self,occluder: RID,polygon: RID,) -> None: ...
    def canvas_light_occluder_set_transform(self,occluder: RID,transform: Transform2D,) -> None: ...
    def canvas_light_set_color(self,light: RID,color: Color,) -> None: ...
    def canvas_light_set_enabled(self,light: RID,enabled: bool,) -> None: ...
    def canvas_light_set_energy(self,light: RID,energy: float,) -> None: ...
    def canvas_light_set_height(self,light: RID,height: float,) -> None: ...
    def canvas_light_set_item_cull_mask(self,light: RID,mask: int,) -> None: ...
    def canvas_light_set_item_shadow_cull_mask(self,light: RID,mask: int,) -> None: ...
    def canvas_light_set_layer_range(self,light: RID,min_layer: int,max_layer: int,) -> None: ...
    def canvas_light_set_mode(self,light: RID,mode: int,) -> None: ...
    def canvas_light_set_scale(self,light: RID,scale: float,) -> None: ...
    def canvas_light_set_shadow_buffer_size(self,light: RID,size: int,) -> None: ...
    def canvas_light_set_shadow_color(self,light: RID,color: Color,) -> None: ...
    def canvas_light_set_shadow_enabled(self,light: RID,enabled: bool,) -> None: ...
    def canvas_light_set_shadow_filter(self,light: RID,filter: int,) -> None: ...
    def canvas_light_set_shadow_gradient_length(self,light: RID,length: float,) -> None: ...
    def canvas_light_set_shadow_smooth(self,light: RID,smooth: float,) -> None: ...
    def canvas_light_set_texture(self,light: RID,texture: RID,) -> None: ...
    def canvas_light_set_texture_offset(self,light: RID,offset: Vector2,) -> None: ...
    def canvas_light_set_transform(self,light: RID,transform: Transform2D,) -> None: ...
    def canvas_light_set_z_range(self,light: RID,min_z: int,max_z: int,) -> None: ...
    def canvas_occluder_polygon_create(self,) -> RID: ...
    def canvas_occluder_polygon_set_cull_mode(self,occluder_polygon: RID,mode: int,) -> None: ...
    def canvas_occluder_polygon_set_shape(self,occluder_polygon: RID,shape: PoolVector2Array,closed: bool,) -> None: ...
    def canvas_occluder_polygon_set_shape_as_lines(self,occluder_polygon: RID,shape: PoolVector2Array,) -> None: ...
    def canvas_set_item_mirroring(self,canvas: RID,item: RID,mirroring: Vector2,) -> None: ...
    def canvas_set_modulate(self,canvas: RID,color: Color,) -> None: ...
    def directional_light_create(self,) -> RID: ...
    def draw(self,swap_buffers: bool=True,frame_step: float=0,) -> None: ...
    def environment_create(self,) -> RID: ...
    def environment_set_adjustment(self,env: RID,enable: bool,brightness: float,contrast: float,saturation: float,ramp: RID,) -> None: ...
    def environment_set_ambient_light(self,env: RID,color: Color,energy: float=1,sky_contibution: float=0,) -> None: ...
    def environment_set_background(self,env: RID,bg: int,) -> None: ...
    def environment_set_bg_color(self,env: RID,color: Color,) -> None: ...
    def environment_set_bg_energy(self,env: RID,energy: float,) -> None: ...
    def environment_set_canvas_max_layer(self,env: RID,max_layer: int,) -> None: ...
    def environment_set_dof_blur_far(self,env: RID,enable: bool,distance: float,transition: float,far_amount: float,quality: int,) -> None: ...
    def environment_set_dof_blur_near(self,env: RID,enable: bool,distance: float,transition: float,far_amount: float,quality: int,) -> None: ...
    def environment_set_fog(self,env: RID,enable: bool,color: Color,sun_color: Color,sun_amount: float,) -> None: ...
    def environment_set_fog_depth(self,env: RID,enable: bool,depth_begin: float,depth_end: float,depth_curve: float,transmit: bool,transmit_curve: float,) -> None: ...
    def environment_set_fog_height(self,env: RID,enable: bool,min_height: float,max_height: float,height_curve: float,) -> None: ...
    def environment_set_glow(self,env: RID,enable: bool,level_flags: int,intensity: float,strength: float,bloom_threshold: float,blend_mode: int,hdr_bleed_threshold: float,hdr_bleed_scale: float,hdr_luminance_cap: float,bicubic_upscale: bool,) -> None: ...
    def environment_set_sky(self,env: RID,sky: RID,) -> None: ...
    def environment_set_sky_custom_fov(self,env: RID,scale: float,) -> None: ...
    def environment_set_sky_orientation(self,env: RID,orientation: Basis,) -> None: ...
    def environment_set_ssao(self,env: RID,enable: bool,radius: float,intensity: float,radius2: float,intensity2: float,bias: float,light_affect: float,ao_channel_affect: float,color: Color,quality: int,blur: int,bilateral_sharpness: float,) -> None: ...
    def environment_set_ssr(self,env: RID,enable: bool,max_steps: int,fade_in: float,fade_out: float,depth_tolerance: float,roughness: bool,) -> None: ...
    def environment_set_tonemap(self,env: RID,tone_mapper: int,exposure: float,white: float,auto_exposure: bool,min_luminance: float,max_luminance: float,auto_exp_speed: float,auto_exp_grey: float,) -> None: ...
    def finish(self,) -> None: ...
    def force_draw(self,swap_buffers: bool=True,frame_step: float=0,) -> None: ...
    def force_sync(self,) -> None: ...
    def free_rid(self,rid: RID,) -> None: ...
    def get_render_info(self,info: int,) -> int: ...
    def get_test_cube(self,) -> RID: ...
    def get_test_texture(self,) -> RID: ...
    def get_video_adapter_name(self,) -> Union[str, GDString]: ...
    def get_video_adapter_vendor(self,) -> Union[str, GDString]: ...
    def get_white_texture(self,) -> RID: ...
    def gi_probe_create(self,) -> RID: ...
    def gi_probe_get_bias(self,probe: RID,) -> float: ...
    def gi_probe_get_bounds(self,probe: RID,) -> AABB: ...
    def gi_probe_get_cell_size(self,probe: RID,) -> float: ...
    def gi_probe_get_dynamic_data(self,probe: RID,) -> PoolIntArray: ...
    def gi_probe_get_dynamic_range(self,probe: RID,) -> int: ...
    def gi_probe_get_energy(self,probe: RID,) -> float: ...
    def gi_probe_get_normal_bias(self,probe: RID,) -> float: ...
    def gi_probe_get_propagation(self,probe: RID,) -> float: ...
    def gi_probe_get_to_cell_xform(self,probe: RID,) -> Transform: ...
    def gi_probe_is_compressed(self,probe: RID,) -> bool: ...
    def gi_probe_is_interior(self,probe: RID,) -> bool: ...
    def gi_probe_set_bias(self,probe: RID,bias: float,) -> None: ...
    def gi_probe_set_bounds(self,probe: RID,bounds: AABB,) -> None: ...
    def gi_probe_set_cell_size(self,probe: RID,range: float,) -> None: ...
    def gi_probe_set_compress(self,probe: RID,enable: bool,) -> None: ...
    def gi_probe_set_dynamic_data(self,probe: RID,data: PoolIntArray,) -> None: ...
    def gi_probe_set_dynamic_range(self,probe: RID,range: int,) -> None: ...
    def gi_probe_set_energy(self,probe: RID,energy: float,) -> None: ...
    def gi_probe_set_interior(self,probe: RID,enable: bool,) -> None: ...
    def gi_probe_set_normal_bias(self,probe: RID,bias: float,) -> None: ...
    def gi_probe_set_propagation(self,probe: RID,propagation: float,) -> None: ...
    def gi_probe_set_to_cell_xform(self,probe: RID,xform: Transform,) -> None: ...
    def has_changed(self,) -> bool: ...
    def has_feature(self,feature: int,) -> bool: ...
    def has_os_feature(self,feature: Union[str, GDString],) -> bool: ...
    def immediate_begin(self,immediate: RID,primitive: int,texture: RID=RID(),) -> None: ...
    def immediate_clear(self,immediate: RID,) -> None: ...
    def immediate_color(self,immediate: RID,color: Color,) -> None: ...
    def immediate_create(self,) -> RID: ...
    def immediate_end(self,immediate: RID,) -> None: ...
    def immediate_get_material(self,immediate: RID,) -> RID: ...
    def immediate_normal(self,immediate: RID,normal: Vector3,) -> None: ...
    def immediate_set_material(self,immediate: RID,material: RID,) -> None: ...
    def immediate_tangent(self,immediate: RID,tangent: Plane,) -> None: ...
    def immediate_uv(self,immediate: RID,tex_uv: Vector2,) -> None: ...
    def immediate_uv2(self,immediate: RID,tex_uv: Vector2,) -> None: ...
    def immediate_vertex(self,immediate: RID,vertex: Vector3,) -> None: ...
    def immediate_vertex_2d(self,immediate: RID,vertex: Vector2,) -> None: ...
    def init(self,) -> None: ...
    def instance_attach_object_instance_id(self,instance: RID,id: int,) -> None: ...
    def instance_attach_skeleton(self,instance: RID,skeleton: RID,) -> None: ...
    def instance_create(self,) -> RID: ...
    def instance_create2(self,base: RID,scenario: RID,) -> RID: ...
    def instance_geometry_set_as_instance_lod(self,instance: RID,as_lod_of_instance: RID,) -> None: ...
    def instance_geometry_set_cast_shadows_setting(self,instance: RID,shadow_casting_setting: int,) -> None: ...
    def instance_geometry_set_draw_range(self,instance: RID,min: float,max: float,min_margin: float,max_margin: float,) -> None: ...
    def instance_geometry_set_flag(self,instance: RID,flag: int,enabled: bool,) -> None: ...
    def instance_geometry_set_material_override(self,instance: RID,material: RID,) -> None: ...
    def instance_set_base(self,instance: RID,base: RID,) -> None: ...
    def instance_set_blend_shape_weight(self,instance: RID,shape: int,weight: float,) -> None: ...
    def instance_set_custom_aabb(self,instance: RID,aabb: AABB,) -> None: ...
    def instance_set_exterior(self,instance: RID,enabled: bool,) -> None: ...
    def instance_set_extra_visibility_margin(self,instance: RID,margin: float,) -> None: ...
    def instance_set_layer_mask(self,instance: RID,mask: int,) -> None: ...
    def instance_set_scenario(self,instance: RID,scenario: RID,) -> None: ...
    def instance_set_surface_material(self,instance: RID,surface: int,material: RID,) -> None: ...
    def instance_set_transform(self,instance: RID,transform: Transform,) -> None: ...
    def instance_set_use_lightmap(self,instance: RID,lightmap_instance: RID,lightmap: RID,) -> None: ...
    def instance_set_visible(self,instance: RID,visible: bool,) -> None: ...
    def instances_cull_aabb(self,aabb: AABB,scenario: RID=RID(),) -> Array: ...
    def instances_cull_convex(self,convex: Array,scenario: RID=RID(),) -> Array: ...
    def instances_cull_ray(self,from_: Vector3,to: Vector3,scenario: RID=RID(),) -> Array: ...
    def light_directional_set_blend_splits(self,light: RID,enable: bool,) -> None: ...
    def light_directional_set_shadow_depth_range_mode(self,light: RID,range_mode: int,) -> None: ...
    def light_directional_set_shadow_mode(self,light: RID,mode: int,) -> None: ...
    def light_omni_set_shadow_detail(self,light: RID,detail: int,) -> None: ...
    def light_omni_set_shadow_mode(self,light: RID,mode: int,) -> None: ...
    def light_set_color(self,light: RID,color: Color,) -> None: ...
    def light_set_cull_mask(self,light: RID,mask: int,) -> None: ...
    def light_set_negative(self,light: RID,enable: bool,) -> None: ...
    def light_set_param(self,light: RID,param: int,value: float,) -> None: ...
    def light_set_projector(self,light: RID,texture: RID,) -> None: ...
    def light_set_reverse_cull_face_mode(self,light: RID,enabled: bool,) -> None: ...
    def light_set_shadow(self,light: RID,enabled: bool,) -> None: ...
    def light_set_shadow_color(self,light: RID,color: Color,) -> None: ...
    def light_set_use_gi(self,light: RID,enabled: bool,) -> None: ...
    def lightmap_capture_create(self,) -> RID: ...
    def lightmap_capture_get_bounds(self,capture: RID,) -> AABB: ...
    def lightmap_capture_get_energy(self,capture: RID,) -> float: ...
    def lightmap_capture_get_octree(self,capture: RID,) -> PoolByteArray: ...
    def lightmap_capture_get_octree_cell_subdiv(self,capture: RID,) -> int: ...
    def lightmap_capture_get_octree_cell_transform(self,capture: RID,) -> Transform: ...
    def lightmap_capture_set_bounds(self,capture: RID,bounds: AABB,) -> None: ...
    def lightmap_capture_set_energy(self,capture: RID,energy: float,) -> None: ...
    def lightmap_capture_set_octree(self,capture: RID,octree: PoolByteArray,) -> None: ...
    def lightmap_capture_set_octree_cell_subdiv(self,capture: RID,subdiv: int,) -> None: ...
    def lightmap_capture_set_octree_cell_transform(self,capture: RID,xform: Transform,) -> None: ...
    def make_sphere_mesh(self,latitudes: int,longitudes: int,radius: float,) -> RID: ...
    def material_create(self,) -> RID: ...
    def material_get_param(self,material: RID,parameter: Union[str, GDString],) -> object: ...
    def material_get_param_default(self,material: RID,parameter: Union[str, GDString],) -> object: ...
    def material_get_shader(self,shader_material: RID,) -> RID: ...
    def material_set_line_width(self,material: RID,width: float,) -> None: ...
    def material_set_next_pass(self,material: RID,next_material: RID,) -> None: ...
    def material_set_param(self,material: RID,parameter: Union[str, GDString],value: object,) -> None: ...
    def material_set_render_priority(self,material: RID,priority: int,) -> None: ...
    def material_set_shader(self,shader_material: RID,shader: RID,) -> None: ...
    def mesh_add_surface_from_arrays(self,mesh: RID,primitive: int,arrays: Array,blend_shapes: Array=Array(),compress_format: int=97280,) -> None: ...
    def mesh_clear(self,mesh: RID,) -> None: ...
    def mesh_create(self,) -> RID: ...
    def mesh_get_blend_shape_count(self,mesh: RID,) -> int: ...
    def mesh_get_blend_shape_mode(self,mesh: RID,) -> _VisualServer.BlendShapeMode: ...
    def mesh_get_custom_aabb(self,mesh: RID,) -> AABB: ...
    def mesh_get_surface_count(self,mesh: RID,) -> int: ...
    def mesh_remove_surface(self,mesh: RID,index: int,) -> None: ...
    def mesh_set_blend_shape_count(self,mesh: RID,amount: int,) -> None: ...
    def mesh_set_blend_shape_mode(self,mesh: RID,mode: int,) -> None: ...
    def mesh_set_custom_aabb(self,mesh: RID,aabb: AABB,) -> None: ...
    def mesh_surface_get_aabb(self,mesh: RID,surface: int,) -> AABB: ...
    def mesh_surface_get_array(self,mesh: RID,surface: int,) -> PoolByteArray: ...
    def mesh_surface_get_array_index_len(self,mesh: RID,surface: int,) -> int: ...
    def mesh_surface_get_array_len(self,mesh: RID,surface: int,) -> int: ...
    def mesh_surface_get_arrays(self,mesh: RID,surface: int,) -> Array: ...
    def mesh_surface_get_blend_shape_arrays(self,mesh: RID,surface: int,) -> Array: ...
    def mesh_surface_get_format(self,mesh: RID,surface: int,) -> int: ...
    def mesh_surface_get_format_offset(self,format: int,vertex_len: int,index_len: int,array_index: int,) -> int: ...
    def mesh_surface_get_format_stride(self,format: int,vertex_len: int,index_len: int,) -> int: ...
    def mesh_surface_get_index_array(self,mesh: RID,surface: int,) -> PoolByteArray: ...
    def mesh_surface_get_material(self,mesh: RID,surface: int,) -> RID: ...
    def mesh_surface_get_primitive_type(self,mesh: RID,surface: int,) -> _VisualServer.PrimitiveType: ...
    def mesh_surface_get_skeleton_aabb(self,mesh: RID,surface: int,) -> Array: ...
    def mesh_surface_set_material(self,mesh: RID,surface: int,material: RID,) -> None: ...
    def mesh_surface_update_region(self,mesh: RID,surface: int,offset: int,data: PoolByteArray,) -> None: ...
    def multimesh_allocate(self,multimesh: RID,instances: int,transform_format: int,color_format: int,custom_data_format: int=0,) -> None: ...
    def multimesh_create(self,) -> RID: ...
    def multimesh_get_aabb(self,multimesh: RID,) -> AABB: ...
    def multimesh_get_instance_count(self,multimesh: RID,) -> int: ...
    def multimesh_get_mesh(self,multimesh: RID,) -> RID: ...
    def multimesh_get_visible_instances(self,multimesh: RID,) -> int: ...
    def multimesh_instance_get_color(self,multimesh: RID,index: int,) -> Color: ...
    def multimesh_instance_get_custom_data(self,multimesh: RID,index: int,) -> Color: ...
    def multimesh_instance_get_transform(self,multimesh: RID,index: int,) -> Transform: ...
    def multimesh_instance_get_transform_2d(self,multimesh: RID,index: int,) -> Transform2D: ...
    def multimesh_instance_set_color(self,multimesh: RID,index: int,color: Color,) -> None: ...
    def multimesh_instance_set_custom_data(self,multimesh: RID,index: int,custom_data: Color,) -> None: ...
    def multimesh_instance_set_transform(self,multimesh: RID,index: int,transform: Transform,) -> None: ...
    def multimesh_instance_set_transform_2d(self,multimesh: RID,index: int,transform: Transform2D,) -> None: ...
    def multimesh_set_as_bulk_array(self,multimesh: RID,array: PoolRealArray,) -> None: ...
    def multimesh_set_mesh(self,multimesh: RID,mesh: RID,) -> None: ...
    def multimesh_set_visible_instances(self,multimesh: RID,visible: int,) -> None: ...
    def omni_light_create(self,) -> RID: ...
    def particles_create(self,) -> RID: ...
    def particles_get_current_aabb(self,particles: RID,) -> AABB: ...
    def particles_get_emitting(self,particles: RID,) -> bool: ...
    def particles_is_inactive(self,particles: RID,) -> bool: ...
    def particles_request_process(self,particles: RID,) -> None: ...
    def particles_restart(self,particles: RID,) -> None: ...
    def particles_set_amount(self,particles: RID,amount: int,) -> None: ...
    def particles_set_custom_aabb(self,particles: RID,aabb: AABB,) -> None: ...
    def particles_set_draw_order(self,particles: RID,order: int,) -> None: ...
    def particles_set_draw_pass_mesh(self,particles: RID,pass_: int,mesh: RID,) -> None: ...
    def particles_set_draw_passes(self,particles: RID,count: int,) -> None: ...
    def particles_set_emission_transform(self,particles: RID,transform: Transform,) -> None: ...
    def particles_set_emitting(self,particles: RID,emitting: bool,) -> None: ...
    def particles_set_explosiveness_ratio(self,particles: RID,ratio: float,) -> None: ...
    def particles_set_fixed_fps(self,particles: RID,fps: int,) -> None: ...
    def particles_set_fractional_delta(self,particles: RID,enable: bool,) -> None: ...
    def particles_set_lifetime(self,particles: RID,lifetime: float,) -> None: ...
    def particles_set_one_shot(self,particles: RID,one_shot: bool,) -> None: ...
    def particles_set_pre_process_time(self,particles: RID,time: float,) -> None: ...
    def particles_set_process_material(self,particles: RID,material: RID,) -> None: ...
    def particles_set_randomness_ratio(self,particles: RID,ratio: float,) -> None: ...
    def particles_set_speed_scale(self,particles: RID,scale: float,) -> None: ...
    def particles_set_use_local_coordinates(self,particles: RID,enable: bool,) -> None: ...
    def reflection_probe_create(self,) -> RID: ...
    def reflection_probe_set_as_interior(self,probe: RID,enable: bool,) -> None: ...
    def reflection_probe_set_cull_mask(self,probe: RID,layers: int,) -> None: ...
    def reflection_probe_set_enable_box_projection(self,probe: RID,enable: bool,) -> None: ...
    def reflection_probe_set_enable_shadows(self,probe: RID,enable: bool,) -> None: ...
    def reflection_probe_set_extents(self,probe: RID,extents: Vector3,) -> None: ...
    def reflection_probe_set_intensity(self,probe: RID,intensity: float,) -> None: ...
    def reflection_probe_set_interior_ambient(self,probe: RID,color: Color,) -> None: ...
    def reflection_probe_set_interior_ambient_energy(self,probe: RID,energy: float,) -> None: ...
    def reflection_probe_set_interior_ambient_probe_contribution(self,probe: RID,contrib: float,) -> None: ...
    def reflection_probe_set_max_distance(self,probe: RID,distance: float,) -> None: ...
    def reflection_probe_set_origin_offset(self,probe: RID,offset: Vector3,) -> None: ...
    def reflection_probe_set_update_mode(self,probe: RID,mode: int,) -> None: ...
    def request_frame_drawn_callback(self,where: Object,method: Union[str, GDString],userdata: object,) -> None: ...
    def scenario_create(self,) -> RID: ...
    def scenario_set_debug(self,scenario: RID,debug_mode: int,) -> None: ...
    def scenario_set_environment(self,scenario: RID,environment: RID,) -> None: ...
    def scenario_set_fallback_environment(self,scenario: RID,environment: RID,) -> None: ...
    def scenario_set_reflection_atlas_size(self,scenario: RID,size: int,subdiv: int,) -> None: ...
    def set_boot_image(self,image: Image,color: Color,scale: bool,use_filter: bool=True,) -> None: ...
    def set_debug_generate_wireframes(self,generate: bool,) -> None: ...
    def set_default_clear_color(self,color: Color,) -> None: ...
    def shader_create(self,) -> RID: ...
    def shader_get_code(self,shader: RID,) -> Union[str, GDString]: ...
    def shader_get_default_texture_param(self,shader: RID,name: Union[str, GDString],) -> RID: ...
    def shader_get_param_list(self,shader: RID,) -> Array: ...
    def shader_set_code(self,shader: RID,code: Union[str, GDString],) -> None: ...
    def shader_set_default_texture_param(self,shader: RID,name: Union[str, GDString],texture: RID,) -> None: ...
    def skeleton_allocate(self,skeleton: RID,bones: int,is_2d_skeleton: bool=False,) -> None: ...
    def skeleton_bone_get_transform(self,skeleton: RID,bone: int,) -> Transform: ...
    def skeleton_bone_get_transform_2d(self,skeleton: RID,bone: int,) -> Transform2D: ...
    def skeleton_bone_set_transform(self,skeleton: RID,bone: int,transform: Transform,) -> None: ...
    def skeleton_bone_set_transform_2d(self,skeleton: RID,bone: int,transform: Transform2D,) -> None: ...
    def skeleton_create(self,) -> RID: ...
    def skeleton_get_bone_count(self,skeleton: RID,) -> int: ...
    def sky_create(self,) -> RID: ...
    def sky_set_texture(self,sky: RID,cube_map: RID,radiance_size: int,) -> None: ...
    def spot_light_create(self,) -> RID: ...
    def sync(self,) -> None: ...
    def texture_allocate(self,texture: RID,width: int,height: int,depth_3d: int,format: int,type_: int,flags: int=7,) -> None: ...
    def texture_bind(self,texture: RID,number: int,) -> None: ...
    def texture_create(self,) -> RID: ...
    def texture_create_from_image(self,image: Image,flags: int=7,) -> RID: ...
    def texture_debug_usage(self,) -> Array: ...
    def texture_get_data(self,texture: RID,cube_side: int=0,) -> Image: ...
    def texture_get_depth(self,texture: RID,) -> int: ...
    def texture_get_flags(self,texture: RID,) -> int: ...
    def texture_get_format(self,texture: RID,) -> Image.Format: ...
    def texture_get_height(self,texture: RID,) -> int: ...
    def texture_get_path(self,texture: RID,) -> Union[str, GDString]: ...
    def texture_get_texid(self,texture: RID,) -> int: ...
    def texture_get_type(self,texture: RID,) -> _VisualServer.TextureType: ...
    def texture_get_width(self,texture: RID,) -> int: ...
    def texture_set_data(self,texture: RID,image: Image,layer: int=0,) -> None: ...
    def texture_set_data_partial(self,texture: RID,image: Image,src_x: int,src_y: int,src_w: int,src_h: int,dst_x: int,dst_y: int,dst_mip: int,layer: int=0,) -> None: ...
    def texture_set_flags(self,texture: RID,flags: int,) -> None: ...
    def texture_set_path(self,texture: RID,path: Union[str, GDString],) -> None: ...
    def texture_set_shrink_all_x2_on_set_data(self,shrink: bool,) -> None: ...
    def texture_set_size_override(self,texture: RID,width: int,height: int,depth: int,) -> None: ...
    def textures_keep_original(self,enable: bool,) -> None: ...
    def viewport_attach_camera(self,viewport: RID,camera: RID,) -> None: ...
    def viewport_attach_canvas(self,viewport: RID,canvas: RID,) -> None: ...
    def viewport_attach_to_screen(self,viewport: RID,rect: Rect2=Rect2(0, 0, 0, 0),screen: int=0,) -> None: ...
    def viewport_create(self,) -> RID: ...
    def viewport_detach(self,viewport: RID,) -> None: ...
    def viewport_get_render_info(self,viewport: RID,info: int,) -> int: ...
    def viewport_get_texture(self,viewport: RID,) -> RID: ...
    def viewport_remove_canvas(self,viewport: RID,canvas: RID,) -> None: ...
    def viewport_set_active(self,viewport: RID,active: bool,) -> None: ...
    def viewport_set_canvas_stacking(self,viewport: RID,canvas: RID,layer: int,sublayer: int,) -> None: ...
    def viewport_set_canvas_transform(self,viewport: RID,canvas: RID,offset: Transform2D,) -> None: ...
    def viewport_set_clear_mode(self,viewport: RID,clear_mode: int,) -> None: ...
    def viewport_set_debug_draw(self,viewport: RID,draw: int,) -> None: ...
    def viewport_set_disable_3d(self,viewport: RID,disabled: bool,) -> None: ...
    def viewport_set_disable_environment(self,viewport: RID,disabled: bool,) -> None: ...
    def viewport_set_global_canvas_transform(self,viewport: RID,transform: Transform2D,) -> None: ...
    def viewport_set_hdr(self,viewport: RID,enabled: bool,) -> None: ...
    def viewport_set_hide_canvas(self,viewport: RID,hidden: bool,) -> None: ...
    def viewport_set_hide_scenario(self,viewport: RID,hidden: bool,) -> None: ...
    def viewport_set_msaa(self,viewport: RID,msaa: int,) -> None: ...
    def viewport_set_parent_viewport(self,viewport: RID,parent_viewport: RID,) -> None: ...
    def viewport_set_render_direct_to_screen(self,viewport: RID,enabled: bool,) -> None: ...
    def viewport_set_scenario(self,viewport: RID,scenario: RID,) -> None: ...
    def viewport_set_shadow_atlas_quadrant_subdivision(self,viewport: RID,quadrant: int,subdivision: int,) -> None: ...
    def viewport_set_shadow_atlas_size(self,viewport: RID,size: int,) -> None: ...
    def viewport_set_size(self,viewport: RID,width: int,height: int,) -> None: ...
    def viewport_set_transparent_background(self,viewport: RID,enabled: bool,) -> None: ...
    def viewport_set_update_mode(self,viewport: RID,update_mode: int,) -> None: ...
    def viewport_set_usage(self,viewport: RID,usage: int,) -> None: ...
    def viewport_set_use_arvr(self,viewport: RID,use_arvr: bool,) -> None: ...
    def viewport_set_vflip(self,viewport: RID,enabled: bool,) -> None: ...




class _ClassDB(Object):


    # Methods
    def can_instance(self,class_: Union[str, GDString],) -> bool: ...
    def class_exists(self,class_: Union[str, GDString],) -> bool: ...
    def class_get_category(self,class_: Union[str, GDString],) -> Union[str, GDString]: ...
    def class_get_integer_constant(self,class_: Union[str, GDString],name: Union[str, GDString],) -> int: ...
    def class_get_integer_constant_list(self,class_: Union[str, GDString],no_inheritance: bool=False,) -> PoolStringArray: ...
    def class_get_method_list(self,class_: Union[str, GDString],no_inheritance: bool=False,) -> Array: ...
    def class_get_property(self,object: Object,property: Union[str, GDString],) -> object: ...
    def class_get_property_list(self,class_: Union[str, GDString],no_inheritance: bool=False,) -> Array: ...
    def class_get_signal(self,class_: Union[str, GDString],signal: Union[str, GDString],) -> Dictionary: ...
    def class_get_signal_list(self,class_: Union[str, GDString],no_inheritance: bool=False,) -> Array: ...
    def class_has_integer_constant(self,class_: Union[str, GDString],name: Union[str, GDString],) -> bool: ...
    def class_has_method(self,class_: Union[str, GDString],method: Union[str, GDString],no_inheritance: bool=False,) -> bool: ...
    def class_has_signal(self,class_: Union[str, GDString],signal: Union[str, GDString],) -> bool: ...
    def class_set_property(self,object: Object,property: Union[str, GDString],value: object,) -> Error: ...
    def get_class_list(self,) -> PoolStringArray: ...
    def get_inheriters_from_class(self,class_: Union[str, GDString],) -> PoolStringArray: ...
    def get_parent_class(self,class_: Union[str, GDString],) -> Union[str, GDString]: ...
    def instance(self,class_: Union[str, GDString],) -> object: ...
    def is_class_enabled(self,class_: Union[str, GDString],) -> bool: ...
    def is_parent_class(self,class_: Union[str, GDString],inherits: Union[str, GDString],) -> bool: ...




class _Engine(Object):


    # Methods
    def get_author_info(self,) -> Dictionary: ...
    def get_copyright_info(self,) -> Array: ...
    def get_donor_info(self,) -> Dictionary: ...
    def get_frames_drawn(self,) -> int: ...
    def get_frames_per_second(self,) -> float: ...
    def get_idle_frames(self,) -> int: ...
    def get_iterations_per_second(self,) -> int: ...
    def get_license_info(self,) -> Dictionary: ...
    def get_license_text(self,) -> Union[str, GDString]: ...
    def get_main_loop(self,) -> MainLoop: ...
    def get_physics_frames(self,) -> int: ...
    def get_physics_interpolation_fraction(self,) -> float: ...
    def get_physics_jitter_fix(self,) -> float: ...
    def get_singleton(self,name: Union[str, GDString],) -> Object: ...
    def get_target_fps(self,) -> int: ...
    def get_time_scale(self,) -> float: ...
    def get_version_info(self,) -> Dictionary: ...
    def has_singleton(self,name: Union[str, GDString],) -> bool: ...
    def is_editor_hint(self,) -> bool: ...
    def is_in_physics_frame(self,) -> bool: ...
    def set_editor_hint(self,enabled: bool,) -> None: ...
    def set_iterations_per_second(self,iterations_per_second: int,) -> None: ...
    def set_physics_jitter_fix(self,physics_jitter_fix: float,) -> None: ...
    def set_target_fps(self,target_fps: int,) -> None: ...
    def set_time_scale(self,time_scale: float,) -> None: ...

    # Properties
    editor_hint: bool
    iterations_per_second: int
    physics_jitter_fix: float
    target_fps: int
    time_scale: float



class _Geometry(Object):

    # Constants
    END_BUTT: int
    END_JOINED: int
    END_POLYGON: int
    END_ROUND: int
    END_SQUARE: int
    JOIN_MITER: int
    JOIN_ROUND: int
    JOIN_SQUARE: int
    OPERATION_DIFFERENCE: int
    OPERATION_INTERSECTION: int
    OPERATION_UNION: int
    OPERATION_XOR: int
    # Enums
    class PolyEndType(IntFlag):
        END_POLYGON: int
        END_JOINED: int
        END_BUTT: int
        END_SQUARE: int
        END_ROUND: int
    class PolyBooleanOperation(IntFlag):
        OPERATION_UNION: int
        OPERATION_DIFFERENCE: int
        OPERATION_INTERSECTION: int
        OPERATION_XOR: int
    class PolyJoinType(IntFlag):
        JOIN_SQUARE: int
        JOIN_ROUND: int
        JOIN_MITER: int

    # Methods
    def build_box_planes(self,extents: Vector3,) -> Array: ...
    def build_capsule_planes(self,radius: float,height: float,sides: int,lats: int,axis: int=2,) -> Array: ...
    def build_cylinder_planes(self,radius: float,height: float,sides: int,axis: int=2,) -> Array: ...
    def clip_polygon(self,points: PoolVector3Array,plane: Plane,) -> PoolVector3Array: ...
    def clip_polygons_2d(self,polygon_a: PoolVector2Array,polygon_b: PoolVector2Array,) -> Array: ...
    def clip_polyline_with_polygon_2d(self,polyline: PoolVector2Array,polygon: PoolVector2Array,) -> Array: ...
    def convex_hull_2d(self,points: PoolVector2Array,) -> PoolVector2Array: ...
    def exclude_polygons_2d(self,polygon_a: PoolVector2Array,polygon_b: PoolVector2Array,) -> Array: ...
    def get_closest_point_to_segment(self,point: Vector3,s1: Vector3,s2: Vector3,) -> Vector3: ...
    def get_closest_point_to_segment_2d(self,point: Vector2,s1: Vector2,s2: Vector2,) -> Vector2: ...
    def get_closest_point_to_segment_uncapped(self,point: Vector3,s1: Vector3,s2: Vector3,) -> Vector3: ...
    def get_closest_point_to_segment_uncapped_2d(self,point: Vector2,s1: Vector2,s2: Vector2,) -> Vector2: ...
    def get_closest_points_between_segments(self,p1: Vector3,p2: Vector3,q1: Vector3,q2: Vector3,) -> PoolVector3Array: ...
    def get_closest_points_between_segments_2d(self,p1: Vector2,q1: Vector2,p2: Vector2,q2: Vector2,) -> PoolVector2Array: ...
    def get_uv84_normal_bit(self,normal: Vector3,) -> int: ...
    def intersect_polygons_2d(self,polygon_a: PoolVector2Array,polygon_b: PoolVector2Array,) -> Array: ...
    def intersect_polyline_with_polygon_2d(self,polyline: PoolVector2Array,polygon: PoolVector2Array,) -> Array: ...
    def is_point_in_circle(self,point: Vector2,circle_position: Vector2,circle_radius: float,) -> bool: ...
    def is_point_in_polygon(self,point: Vector2,polygon: PoolVector2Array,) -> bool: ...
    def is_polygon_clockwise(self,polygon: PoolVector2Array,) -> bool: ...
    def line_intersects_line_2d(self,from_a: Vector2,dir_a: Vector2,from_b: Vector2,dir_b: Vector2,) -> object: ...
    def make_atlas(self,sizes: PoolVector2Array,) -> Dictionary: ...
    def merge_polygons_2d(self,polygon_a: PoolVector2Array,polygon_b: PoolVector2Array,) -> Array: ...
    def offset_polygon_2d(self,polygon: PoolVector2Array,delta: float,join_type: int=0,) -> Array: ...
    def offset_polyline_2d(self,polyline: PoolVector2Array,delta: float,join_type: int=0,end_type: int=3,) -> Array: ...
    def point_is_inside_triangle(self,point: Vector2,a: Vector2,b: Vector2,c: Vector2,) -> bool: ...
    def ray_intersects_triangle(self,from_: Vector3,dir: Vector3,a: Vector3,b: Vector3,c: Vector3,) -> object: ...
    def segment_intersects_circle(self,segment_from: Vector2,segment_to: Vector2,circle_position: Vector2,circle_radius: float,) -> float: ...
    def segment_intersects_convex(self,from_: Vector3,to: Vector3,planes: Array,) -> PoolVector3Array: ...
    def segment_intersects_cylinder(self,from_: Vector3,to: Vector3,height: float,radius: float,) -> PoolVector3Array: ...
    def segment_intersects_segment_2d(self,from_a: Vector2,to_a: Vector2,from_b: Vector2,to_b: Vector2,) -> object: ...
    def segment_intersects_sphere(self,from_: Vector3,to: Vector3,sphere_position: Vector3,sphere_radius: float,) -> PoolVector3Array: ...
    def segment_intersects_triangle(self,from_: Vector3,to: Vector3,a: Vector3,b: Vector3,c: Vector3,) -> object: ...
    def triangulate_delaunay_2d(self,points: PoolVector2Array,) -> PoolIntArray: ...
    def triangulate_polygon(self,polygon: PoolVector2Array,) -> PoolIntArray: ...




class _JSON(Object):


    # Methods
    def parse(self,json: Union[str, GDString],) -> JSONParseResult: ...
    def print(self,value: object,indent: Union[str, GDString]="",sort_keys: bool=False,) -> Union[str, GDString]: ...




class _Marshalls(Object):


    # Methods
    def base64_to_raw(self,base64_str: Union[str, GDString],) -> PoolByteArray: ...
    def base64_to_utf8(self,base64_str: Union[str, GDString],) -> Union[str, GDString]: ...
    def base64_to_variant(self,base64_str: Union[str, GDString],allow_objects: bool=False,) -> object: ...
    def raw_to_base64(self,array: PoolByteArray,) -> Union[str, GDString]: ...
    def utf8_to_base64(self,utf8_str: Union[str, GDString],) -> Union[str, GDString]: ...
    def variant_to_base64(self,variant: object,full_objects: bool=False,) -> Union[str, GDString]: ...




class _OS(Object):

    # Constants
    DAY_FRIDAY: int
    DAY_MONDAY: int
    DAY_SATURDAY: int
    DAY_SUNDAY: int
    DAY_THURSDAY: int
    DAY_TUESDAY: int
    DAY_WEDNESDAY: int
    MONTH_APRIL: int
    MONTH_AUGUST: int
    MONTH_DECEMBER: int
    MONTH_FEBRUARY: int
    MONTH_JANUARY: int
    MONTH_JULY: int
    MONTH_JUNE: int
    MONTH_MARCH: int
    MONTH_MAY: int
    MONTH_NOVEMBER: int
    MONTH_OCTOBER: int
    MONTH_SEPTEMBER: int
    POWERSTATE_CHARGED: int
    POWERSTATE_CHARGING: int
    POWERSTATE_NO_BATTERY: int
    POWERSTATE_ON_BATTERY: int
    POWERSTATE_UNKNOWN: int
    SCREEN_ORIENTATION_LANDSCAPE: int
    SCREEN_ORIENTATION_PORTRAIT: int
    SCREEN_ORIENTATION_REVERSE_LANDSCAPE: int
    SCREEN_ORIENTATION_REVERSE_PORTRAIT: int
    SCREEN_ORIENTATION_SENSOR: int
    SCREEN_ORIENTATION_SENSOR_LANDSCAPE: int
    SCREEN_ORIENTATION_SENSOR_PORTRAIT: int
    SYSTEM_DIR_DCIM: int
    SYSTEM_DIR_DESKTOP: int
    SYSTEM_DIR_DOCUMENTS: int
    SYSTEM_DIR_DOWNLOADS: int
    SYSTEM_DIR_MOVIES: int
    SYSTEM_DIR_MUSIC: int
    SYSTEM_DIR_PICTURES: int
    SYSTEM_DIR_RINGTONES: int
    VIDEO_DRIVER_GLES2: int
    VIDEO_DRIVER_GLES3: int
    # Enums
    class VideoDriver(IntFlag):
        VIDEO_DRIVER_GLES3: int
        VIDEO_DRIVER_GLES2: int
    class SystemDir(IntFlag):
        SYSTEM_DIR_DESKTOP: int
        SYSTEM_DIR_DCIM: int
        SYSTEM_DIR_DOCUMENTS: int
        SYSTEM_DIR_DOWNLOADS: int
        SYSTEM_DIR_MOVIES: int
        SYSTEM_DIR_MUSIC: int
        SYSTEM_DIR_PICTURES: int
        SYSTEM_DIR_RINGTONES: int
    class ScreenOrientation(IntFlag):
        SCREEN_ORIENTATION_LANDSCAPE: int
        SCREEN_ORIENTATION_PORTRAIT: int
        SCREEN_ORIENTATION_REVERSE_LANDSCAPE: int
        SCREEN_ORIENTATION_REVERSE_PORTRAIT: int
        SCREEN_ORIENTATION_SENSOR_LANDSCAPE: int
        SCREEN_ORIENTATION_SENSOR_PORTRAIT: int
        SCREEN_ORIENTATION_SENSOR: int
    class PowerState(IntFlag):
        POWERSTATE_UNKNOWN: int
        POWERSTATE_ON_BATTERY: int
        POWERSTATE_NO_BATTERY: int
        POWERSTATE_CHARGING: int
        POWERSTATE_CHARGED: int
    class Month(IntFlag):
        MONTH_JANUARY: int
        MONTH_FEBRUARY: int
        MONTH_MARCH: int
        MONTH_APRIL: int
        MONTH_MAY: int
        MONTH_JUNE: int
        MONTH_JULY: int
        MONTH_AUGUST: int
        MONTH_SEPTEMBER: int
        MONTH_OCTOBER: int
        MONTH_NOVEMBER: int
        MONTH_DECEMBER: int
    class Weekday(IntFlag):
        DAY_SUNDAY: int
        DAY_MONDAY: int
        DAY_TUESDAY: int
        DAY_WEDNESDAY: int
        DAY_THURSDAY: int
        DAY_FRIDAY: int
        DAY_SATURDAY: int

    # Methods
    def alert(self,text: Union[str, GDString],title: Union[str, GDString]="Alert!",) -> None: ...
    def can_draw(self,) -> bool: ...
    def can_use_threads(self,) -> bool: ...
    def center_window(self,) -> None: ...
    def close_midi_inputs(self,) -> None: ...
    def delay_msec(self,msec: int,) -> None: ...
    def delay_usec(self,usec: int,) -> None: ...
    def dump_memory_to_file(self,file: Union[str, GDString],) -> None: ...
    def dump_resources_to_file(self,file: Union[str, GDString],) -> None: ...
    def execute(self,path: Union[str, GDString],arguments: PoolStringArray,blocking: bool=True,output: Array=Array(),read_stderr: bool=False,) -> int: ...
    def find_scancode_from_string(self,string: Union[str, GDString],) -> int: ...
    def get_audio_driver_count(self,) -> int: ...
    def get_audio_driver_name(self,driver: int,) -> Union[str, GDString]: ...
    def get_borderless_window(self,) -> bool: ...
    def get_clipboard(self,) -> Union[str, GDString]: ...
    def get_cmdline_args(self,) -> PoolStringArray: ...
    def get_connected_midi_inputs(self,) -> PoolStringArray: ...
    def get_current_screen(self,) -> int: ...
    def get_current_tablet_driver(self,) -> Union[str, GDString]: ...
    def get_current_video_driver(self,) -> _OS.VideoDriver: ...
    def get_date(self,utc: bool=False,) -> Dictionary: ...
    def get_datetime(self,utc: bool=False,) -> Dictionary: ...
    def get_datetime_from_unix_time(self,unix_time_val: int,) -> Dictionary: ...
    def get_dynamic_memory_usage(self,) -> int: ...
    def get_environment(self,environment: Union[str, GDString],) -> Union[str, GDString]: ...
    def get_executable_path(self,) -> Union[str, GDString]: ...
    def get_exit_code(self,) -> int: ...
    def get_granted_permissions(self,) -> PoolStringArray: ...
    def get_ime_selection(self,) -> Vector2: ...
    def get_ime_text(self,) -> Union[str, GDString]: ...
    def get_latin_keyboard_variant(self,) -> Union[str, GDString]: ...
    def get_locale(self,) -> Union[str, GDString]: ...
    def get_low_processor_usage_mode_sleep_usec(self,) -> int: ...
    def get_max_window_size(self,) -> Vector2: ...
    def get_min_window_size(self,) -> Vector2: ...
    def get_model_name(self,) -> Union[str, GDString]: ...
    def get_name(self,) -> Union[str, GDString]: ...
    def get_power_percent_left(self,) -> int: ...
    def get_power_seconds_left(self,) -> int: ...
    def get_power_state(self,) -> _OS.PowerState: ...
    def get_process_id(self,) -> int: ...
    def get_processor_count(self,) -> int: ...
    def get_real_window_size(self,) -> Vector2: ...
    def get_scancode_string(self,code: int,) -> Union[str, GDString]: ...
    def get_screen_count(self,) -> int: ...
    def get_screen_dpi(self,screen: int=-1,) -> int: ...
    def get_screen_orientation(self,) -> _OS.ScreenOrientation: ...
    def get_screen_position(self,screen: int=-1,) -> Vector2: ...
    def get_screen_size(self,screen: int=-1,) -> Vector2: ...
    def get_splash_tick_msec(self,) -> int: ...
    def get_static_memory_peak_usage(self,) -> int: ...
    def get_static_memory_usage(self,) -> int: ...
    def get_system_dir(self,dir: int,) -> Union[str, GDString]: ...
    def get_system_time_msecs(self,) -> int: ...
    def get_system_time_secs(self,) -> int: ...
    def get_tablet_driver_count(self,) -> int: ...
    def get_tablet_driver_name(self,idx: int,) -> Union[str, GDString]: ...
    def get_ticks_msec(self,) -> int: ...
    def get_ticks_usec(self,) -> int: ...
    def get_time(self,utc: bool=False,) -> Dictionary: ...
    def get_time_zone_info(self,) -> Dictionary: ...
    def get_unique_id(self,) -> Union[str, GDString]: ...
    def get_unix_time(self,) -> int: ...
    def get_unix_time_from_datetime(self,datetime: Dictionary,) -> int: ...
    def get_user_data_dir(self,) -> Union[str, GDString]: ...
    def get_video_driver_count(self,) -> int: ...
    def get_video_driver_name(self,driver: int,) -> Union[str, GDString]: ...
    def get_virtual_keyboard_height(self,) -> int: ...
    def get_window_per_pixel_transparency_enabled(self,) -> bool: ...
    def get_window_position(self,) -> Vector2: ...
    def get_window_safe_area(self,) -> Rect2: ...
    def get_window_size(self,) -> Vector2: ...
    def global_menu_add_item(self,menu: Union[str, GDString],label: Union[str, GDString],id: object,meta: object,) -> None: ...
    def global_menu_add_separator(self,menu: Union[str, GDString],) -> None: ...
    def global_menu_clear(self,menu: Union[str, GDString],) -> None: ...
    def global_menu_remove_item(self,menu: Union[str, GDString],idx: int,) -> None: ...
    def has_environment(self,environment: Union[str, GDString],) -> bool: ...
    def has_feature(self,tag_name: Union[str, GDString],) -> bool: ...
    def has_touchscreen_ui_hint(self,) -> bool: ...
    def has_virtual_keyboard(self,) -> bool: ...
    def hide_virtual_keyboard(self,) -> None: ...
    def is_debug_build(self,) -> bool: ...
    def is_in_low_processor_usage_mode(self,) -> bool: ...
    def is_keep_screen_on(self,) -> bool: ...
    def is_ok_left_and_cancel_right(self,) -> bool: ...
    def is_scancode_unicode(self,code: int,) -> bool: ...
    def is_stdout_verbose(self,) -> bool: ...
    def is_userfs_persistent(self,) -> bool: ...
    def is_vsync_enabled(self,) -> bool: ...
    def is_vsync_via_compositor_enabled(self,) -> bool: ...
    def is_window_always_on_top(self,) -> bool: ...
    def is_window_focused(self,) -> bool: ...
    def is_window_fullscreen(self,) -> bool: ...
    def is_window_maximized(self,) -> bool: ...
    def is_window_minimized(self,) -> bool: ...
    def is_window_resizable(self,) -> bool: ...
    def kill(self,pid: int,) -> Error: ...
    def move_window_to_foreground(self,) -> None: ...
    def native_video_is_playing(self,) -> bool: ...
    def native_video_pause(self,) -> None: ...
    def native_video_play(self,path: Union[str, GDString],volume: float,audio_track: Union[str, GDString],subtitle_track: Union[str, GDString],) -> Error: ...
    def native_video_stop(self,) -> None: ...
    def native_video_unpause(self,) -> None: ...
    def open_midi_inputs(self,) -> None: ...
    def print_all_resources(self,tofile: Union[str, GDString]="",) -> None: ...
    def print_all_textures_by_size(self,) -> None: ...
    def print_resources_by_type(self,types: PoolStringArray,) -> None: ...
    def print_resources_in_use(self,short_: bool=False,) -> None: ...
    def request_attention(self,) -> None: ...
    def request_permission(self,name: Union[str, GDString],) -> bool: ...
    def request_permissions(self,) -> bool: ...
    def set_borderless_window(self,borderless: bool,) -> None: ...
    def set_clipboard(self,clipboard: Union[str, GDString],) -> None: ...
    def set_current_screen(self,screen: int,) -> None: ...
    def set_current_tablet_driver(self,name: Union[str, GDString],) -> None: ...
    def set_exit_code(self,code: int,) -> None: ...
    def set_icon(self,icon: Image,) -> None: ...
    def set_ime_active(self,active: bool,) -> None: ...
    def set_ime_position(self,position: Vector2,) -> None: ...
    def set_keep_screen_on(self,enabled: bool,) -> None: ...
    def set_low_processor_usage_mode(self,enable: bool,) -> None: ...
    def set_low_processor_usage_mode_sleep_usec(self,usec: int,) -> None: ...
    def set_max_window_size(self,size: Vector2,) -> None: ...
    def set_min_window_size(self,size: Vector2,) -> None: ...
    def set_native_icon(self,filename: Union[str, GDString],) -> None: ...
    def set_screen_orientation(self,orientation: int,) -> None: ...
    def set_thread_name(self,name: Union[str, GDString],) -> Error: ...
    def set_use_file_access_save_and_swap(self,enabled: bool,) -> None: ...
    def set_use_vsync(self,enable: bool,) -> None: ...
    def set_vsync_via_compositor(self,enable: bool,) -> None: ...
    def set_window_always_on_top(self,enabled: bool,) -> None: ...
    def set_window_fullscreen(self,enabled: bool,) -> None: ...
    def set_window_maximized(self,enabled: bool,) -> None: ...
    def set_window_minimized(self,enabled: bool,) -> None: ...
    def set_window_per_pixel_transparency_enabled(self,enabled: bool,) -> None: ...
    def set_window_position(self,position: Vector2,) -> None: ...
    def set_window_resizable(self,enabled: bool,) -> None: ...
    def set_window_size(self,size: Vector2,) -> None: ...
    def set_window_title(self,title: Union[str, GDString],) -> None: ...
    def shell_open(self,uri: Union[str, GDString],) -> Error: ...
    def show_virtual_keyboard(self,existing_text: Union[str, GDString]="",) -> None: ...

    # Properties
    clipboard: Union[str, GDString]
    current_screen: int
    exit_code: int
    keep_screen_on: bool
    low_processor_usage_mode: bool
    low_processor_usage_mode_sleep_usec: int
    max_window_size: Vector2
    min_window_size: Vector2
    screen_orientation: int
    tablet_driver: Union[str, GDString]
    vsync_enabled: bool
    vsync_via_compositor: bool
    window_borderless: bool
    window_fullscreen: bool
    window_maximized: bool
    window_minimized: bool
    window_per_pixel_transparency_enabled: bool
    window_position: Vector2
    window_resizable: bool
    window_size: Vector2



class _ResourceLoader(Object):


    # Methods
    def exists(self,path: Union[str, GDString],type_hint: Union[str, GDString]="",) -> bool: ...
    def get_dependencies(self,path: Union[str, GDString],) -> PoolStringArray: ...
    def get_recognized_extensions_for_type(self,type_: Union[str, GDString],) -> PoolStringArray: ...
    def has(self,path: Union[str, GDString],) -> bool: ...
    def has_cached(self,path: Union[str, GDString],) -> bool: ...
    def load(self,path: Union[str, GDString],type_hint: Union[str, GDString]="",no_cache: bool=False,) -> Resource: ...
    def load_interactive(self,path: Union[str, GDString],type_hint: Union[str, GDString]="",) -> ResourceInteractiveLoader: ...
    def set_abort_on_missing_resources(self,abort: bool,) -> None: ...




class _ResourceSaver(Object):

    # Constants
    FLAG_BUNDLE_RESOURCES: int
    FLAG_CHANGE_PATH: int
    FLAG_COMPRESS: int
    FLAG_OMIT_EDITOR_PROPERTIES: int
    FLAG_RELATIVE_PATHS: int
    FLAG_REPLACE_SUBRESOURCE_PATHS: int
    FLAG_SAVE_BIG_ENDIAN: int
    # Enums
    class SaverFlags(IntFlag):
        FLAG_RELATIVE_PATHS: int
        FLAG_BUNDLE_RESOURCES: int
        FLAG_CHANGE_PATH: int
        FLAG_OMIT_EDITOR_PROPERTIES: int
        FLAG_SAVE_BIG_ENDIAN: int
        FLAG_COMPRESS: int
        FLAG_REPLACE_SUBRESOURCE_PATHS: int

    # Methods
    def get_recognized_extensions(self,type_: Resource,) -> PoolStringArray: ...
    def save(self,path: Union[str, GDString],resource: Resource,flags: int=0,) -> Error: ...




class _VisualScriptEditor(Object):


    # Methods
    def add_custom_node(self,name: Union[str, GDString],category: Union[str, GDString],script: Script,) -> None: ...
    def remove_custom_node(self,name: Union[str, GDString],category: Union[str, GDString],) -> None: ...




class ARVRInterface(Reference):

    # Constants
    ARVR_AR: int
    ARVR_EXCESSIVE_MOTION: int
    ARVR_EXTERNAL: int
    ARVR_INSUFFICIENT_FEATURES: int
    ARVR_MONO: int
    ARVR_NONE: int
    ARVR_NORMAL_TRACKING: int
    ARVR_NOT_TRACKING: int
    ARVR_STEREO: int
    ARVR_UNKNOWN_TRACKING: int
    EYE_LEFT: int
    EYE_MONO: int
    EYE_RIGHT: int
    # Enums
    class Tracking_status(IntFlag):
        ARVR_NORMAL_TRACKING: int
        ARVR_EXCESSIVE_MOTION: int
        ARVR_INSUFFICIENT_FEATURES: int
        ARVR_UNKNOWN_TRACKING: int
        ARVR_NOT_TRACKING: int
    class Eyes(IntFlag):
        EYE_MONO: int
        EYE_LEFT: int
        EYE_RIGHT: int
    class Capabilities(IntFlag):
        ARVR_NONE: int
        ARVR_MONO: int
        ARVR_STEREO: int
        ARVR_AR: int
        ARVR_EXTERNAL: int

    # Methods
    def get_anchor_detection_is_enabled(self,) -> bool: ...
    def get_camera_feed_id(self,) -> int: ...
    def get_capabilities(self,) -> int: ...
    def get_name(self,) -> Union[str, GDString]: ...
    def get_render_targetsize(self,) -> Vector2: ...
    def get_tracking_status(self,) -> ARVRInterface.Tracking_status: ...
    def initialize(self,) -> bool: ...
    def is_initialized(self,) -> bool: ...
    def is_primary(self,) -> bool: ...
    def is_stereo(self,) -> bool: ...
    def set_anchor_detection_is_enabled(self,enable: bool,) -> None: ...
    def set_is_initialized(self,initialized: bool,) -> None: ...
    def set_is_primary(self,enable: bool,) -> None: ...
    def uninitialize(self,) -> None: ...

    # Properties
    ar_is_anchor_detection_enabled: bool
    interface_is_initialized: bool
    interface_is_primary: bool



class AStar(Reference):


    def __init__(self): ...



    # Methods
    def add_point(self,id: int,position: Vector3,weight_scale: float=1,) -> None: ...
    def are_points_connected(self,id: int,to_id: int,bidirectional: bool=True,) -> bool: ...
    def clear(self,) -> None: ...
    def connect_points(self,id: int,to_id: int,bidirectional: bool=True,) -> None: ...
    def disconnect_points(self,id: int,to_id: int,bidirectional: bool=True,) -> None: ...
    def get_available_point_id(self,) -> int: ...
    def get_closest_point(self,to_position: Vector3,include_disabled: bool=False,) -> int: ...
    def get_closest_position_in_segment(self,to_position: Vector3,) -> Vector3: ...
    def get_id_path(self,from_id: int,to_id: int,) -> PoolIntArray: ...
    def get_point_capacity(self,) -> int: ...
    def get_point_connections(self,id: int,) -> PoolIntArray: ...
    def get_point_count(self,) -> int: ...
    def get_point_path(self,from_id: int,to_id: int,) -> PoolVector3Array: ...
    def get_point_position(self,id: int,) -> Vector3: ...
    def get_point_weight_scale(self,id: int,) -> float: ...
    def get_points(self,) -> Array: ...
    def has_point(self,id: int,) -> bool: ...
    def is_point_disabled(self,id: int,) -> bool: ...
    def remove_point(self,id: int,) -> None: ...
    def reserve_space(self,num_nodes: int,) -> None: ...
    def set_point_disabled(self,id: int,disabled: bool=True,) -> None: ...
    def set_point_position(self,id: int,position: Vector3,) -> None: ...
    def set_point_weight_scale(self,id: int,weight_scale: float,) -> None: ...




class AStar2D(Reference):


    def __init__(self): ...



    # Methods
    def add_point(self,id: int,position: Vector2,weight_scale: float=1,) -> None: ...
    def are_points_connected(self,id: int,to_id: int,) -> bool: ...
    def clear(self,) -> None: ...
    def connect_points(self,id: int,to_id: int,bidirectional: bool=True,) -> None: ...
    def disconnect_points(self,id: int,to_id: int,) -> None: ...
    def get_available_point_id(self,) -> int: ...
    def get_closest_point(self,to_position: Vector2,include_disabled: bool=False,) -> int: ...
    def get_closest_position_in_segment(self,to_position: Vector2,) -> Vector2: ...
    def get_id_path(self,from_id: int,to_id: int,) -> PoolIntArray: ...
    def get_point_capacity(self,) -> int: ...
    def get_point_connections(self,id: int,) -> PoolIntArray: ...
    def get_point_count(self,) -> int: ...
    def get_point_path(self,from_id: int,to_id: int,) -> PoolVector2Array: ...
    def get_point_position(self,id: int,) -> Vector2: ...
    def get_point_weight_scale(self,id: int,) -> float: ...
    def get_points(self,) -> Array: ...
    def has_point(self,id: int,) -> bool: ...
    def is_point_disabled(self,id: int,) -> bool: ...
    def remove_point(self,id: int,) -> None: ...
    def reserve_space(self,num_nodes: int,) -> None: ...
    def set_point_disabled(self,id: int,disabled: bool=True,) -> None: ...
    def set_point_position(self,id: int,position: Vector2,) -> None: ...
    def set_point_weight_scale(self,id: int,weight_scale: float,) -> None: ...




class AnimationTrackEditPlugin(Reference):




    pass


class AudioEffectInstance(Reference):




    pass


class AudioStreamPlayback(Reference):




    pass


class CameraFeed(Reference):


    def __init__(self): ...


    # Constants
    FEED_BACK: int
    FEED_FRONT: int
    FEED_NOIMAGE: int
    FEED_RGB: int
    FEED_UNSPECIFIED: int
    FEED_YCBCR: int
    FEED_YCBCR_SEP: int
    # Enums
    class FeedDataType(IntFlag):
        FEED_NOIMAGE: int
        FEED_RGB: int
        FEED_YCBCR: int
        FEED_YCBCR_SEP: int
    class FeedPosition(IntFlag):
        FEED_UNSPECIFIED: int
        FEED_FRONT: int
        FEED_BACK: int

    # Methods
    def get_id(self,) -> int: ...
    def get_name(self,) -> Union[str, GDString]: ...
    def get_position(self,) -> CameraFeed.FeedPosition: ...
    def get_transform(self,) -> Transform2D: ...
    def is_active(self,) -> bool: ...
    def set_active(self,active: bool,) -> None: ...
    def set_transform(self,transform: Transform2D,) -> None: ...

    # Properties
    feed_is_active: bool
    feed_transform: Transform2D



class CharFXTransform(Reference):


    def __init__(self): ...



    # Methods
    def get_absolute_index(self,) -> int: ...
    def get_character(self,) -> int: ...
    def get_color(self,) -> Color: ...
    def get_elapsed_time(self,) -> float: ...
    def get_environment(self,) -> Dictionary: ...
    def get_offset(self,) -> Vector2: ...
    def get_relative_index(self,) -> int: ...
    def is_visible(self,) -> bool: ...
    def set_absolute_index(self,index: int,) -> None: ...
    def set_character(self,character: int,) -> None: ...
    def set_color(self,color: Color,) -> None: ...
    def set_elapsed_time(self,time: float,) -> None: ...
    def set_environment(self,environment: Dictionary,) -> None: ...
    def set_offset(self,offset: Vector2,) -> None: ...
    def set_relative_index(self,index: int,) -> None: ...
    def set_visibility(self,visibility: bool,) -> None: ...

    # Properties
    absolute_index: int
    character: int
    color: Color
    elapsed_time: float
    env: Dictionary
    offset: Vector2
    relative_index: int
    visible: bool



class ConfigFile(Reference):


    def __init__(self): ...



    # Methods
    def erase_section(self,section: Union[str, GDString],) -> None: ...
    def erase_section_key(self,section: Union[str, GDString],key: Union[str, GDString],) -> None: ...
    def get_section_keys(self,section: Union[str, GDString],) -> PoolStringArray: ...
    def get_sections(self,) -> PoolStringArray: ...
    def get_value(self,section: Union[str, GDString],key: Union[str, GDString],default: object=None,) -> object: ...
    def has_section(self,section: Union[str, GDString],) -> bool: ...
    def has_section_key(self,section: Union[str, GDString],key: Union[str, GDString],) -> bool: ...
    def load(self,path: Union[str, GDString],) -> Error: ...
    def load_encrypted(self,path: Union[str, GDString],key: PoolByteArray,) -> Error: ...
    def load_encrypted_pass(self,path: Union[str, GDString],password: Union[str, GDString],) -> Error: ...
    def parse(self,data: Union[str, GDString],) -> Error: ...
    def save(self,path: Union[str, GDString],) -> Error: ...
    def save_encrypted(self,path: Union[str, GDString],key: PoolByteArray,) -> Error: ...
    def save_encrypted_pass(self,path: Union[str, GDString],password: Union[str, GDString],) -> Error: ...
    def set_value(self,section: Union[str, GDString],key: Union[str, GDString],value: object,) -> None: ...




class Crypto(Reference):


    def __init__(self): ...



    # Methods
    def generate_random_bytes(self,size: int,) -> PoolByteArray: ...
    def generate_rsa(self,size: int,) -> CryptoKey: ...
    def generate_self_signed_certificate(self,key: CryptoKey,issuer_name: Union[str, GDString]="CN=myserver,O=myorganisation,C=IT",not_before: Union[str, GDString]="20140101000000",not_after: Union[str, GDString]="20340101000000",) -> X509Certificate: ...




class DTLSServer(Reference):


    def __init__(self): ...



    # Methods
    def setup(self,key: CryptoKey,certificate: X509Certificate,chain: X509Certificate=None,) -> Error: ...
    def take_connection(self,udp_peer: PacketPeerUDP,) -> PacketPeerDTLS: ...




class EditorExportPlugin(Reference):


    # Methods
    def add_file(self,path: Union[str, GDString],file: PoolByteArray,remap: bool,) -> None: ...
    def add_ios_bundle_file(self,path: Union[str, GDString],) -> None: ...
    def add_ios_cpp_code(self,code: Union[str, GDString],) -> None: ...
    def add_ios_framework(self,path: Union[str, GDString],) -> None: ...
    def add_ios_linker_flags(self,flags: Union[str, GDString],) -> None: ...
    def add_ios_plist_content(self,plist_content: Union[str, GDString],) -> None: ...
    def add_ios_project_static_lib(self,path: Union[str, GDString],) -> None: ...
    def add_shared_object(self,path: Union[str, GDString],tags: PoolStringArray,) -> None: ...
    def skip(self,) -> None: ...




class EditorFeatureProfile(Reference):

    # Constants
    FEATURE_3D: int
    FEATURE_ASSET_LIB: int
    FEATURE_FILESYSTEM_DOCK: int
    FEATURE_IMPORT_DOCK: int
    FEATURE_MAX: int
    FEATURE_NODE_DOCK: int
    FEATURE_SCENE_TREE: int
    FEATURE_SCRIPT: int
    # Enums
    class Feature(IntFlag):
        FEATURE_3D: int
        FEATURE_SCRIPT: int
        FEATURE_ASSET_LIB: int
        FEATURE_SCENE_TREE: int
        FEATURE_IMPORT_DOCK: int
        FEATURE_NODE_DOCK: int
        FEATURE_FILESYSTEM_DOCK: int
        FEATURE_MAX: int

    # Methods
    def get_feature_name(self,feature: int,) -> Union[str, GDString]: ...
    def is_class_disabled(self,class_name: Union[str, GDString],) -> bool: ...
    def is_class_editor_disabled(self,class_name: Union[str, GDString],) -> bool: ...
    def is_class_property_disabled(self,class_name: Union[str, GDString],property: Union[str, GDString],) -> bool: ...
    def is_feature_disabled(self,feature: int,) -> bool: ...
    def load_from_file(self,path: Union[str, GDString],) -> Error: ...
    def save_to_file(self,path: Union[str, GDString],) -> Error: ...
    def set_disable_class(self,class_name: Union[str, GDString],disable: bool,) -> None: ...
    def set_disable_class_editor(self,class_name: Union[str, GDString],disable: bool,) -> None: ...
    def set_disable_class_property(self,class_name: Union[str, GDString],property: Union[str, GDString],disable: bool,) -> None: ...
    def set_disable_feature(self,feature: int,disable: bool,) -> None: ...




class EditorInspectorPlugin(Reference):


    # Methods
    def add_custom_control(self,control: Control,) -> None: ...
    def add_property_editor(self,property: Union[str, GDString],editor: Control,) -> None: ...
    def add_property_editor_for_multiple_properties(self,label: Union[str, GDString],properties: PoolStringArray,editor: Control,) -> None: ...




class EditorResourceConversionPlugin(Reference):




    pass


class EditorResourcePreviewGenerator(Reference):




    pass


class EditorSceneImporter(Reference):

    # Constants
    IMPORT_ANIMATION: int
    IMPORT_ANIMATION_DETECT_LOOP: int
    IMPORT_ANIMATION_FORCE_ALL_TRACKS_IN_ALL_CLIPS: int
    IMPORT_ANIMATION_KEEP_VALUE_TRACKS: int
    IMPORT_ANIMATION_OPTIMIZE: int
    IMPORT_FAIL_ON_MISSING_DEPENDENCIES: int
    IMPORT_GENERATE_TANGENT_ARRAYS: int
    IMPORT_MATERIALS_IN_INSTANCES: int
    IMPORT_SCENE: int
    IMPORT_USE_COMPRESSION: int

    # Methods
    def import_animation_from_other_importer(self,path: Union[str, GDString],flags: int,bake_fps: int,) -> Animation: ...
    def import_scene_from_other_importer(self,path: Union[str, GDString],flags: int,bake_fps: int,) -> Node: ...




class EditorScenePostImport(Reference):


    # Methods
    def get_source_file(self,) -> Union[str, GDString]: ...
    def get_source_folder(self,) -> Union[str, GDString]: ...




class EditorScript(Reference):


    # Methods
    def add_root_node(self,node: Node,) -> None: ...
    def get_editor_interface(self,) -> EditorInterface: ...
    def get_scene(self,) -> Node: ...




class EncodedObjectAsID(Reference):


    def __init__(self): ...



    # Methods
    def get_object_id(self,) -> int: ...
    def set_object_id(self,id: int,) -> None: ...

    # Properties
    object_id: int



class Expression(Reference):


    def __init__(self): ...



    # Methods
    def execute(self,inputs: Array=Array(),base_instance: Object=None,show_error: bool=True,) -> object: ...
    def get_error_text(self,) -> Union[str, GDString]: ...
    def has_execute_failed(self,) -> bool: ...
    def parse(self,expression: Union[str, GDString],input_names: PoolStringArray=PoolStringArray(),) -> Error: ...




class FuncRef(Reference):


    def __init__(self): ...



    # Methods
    def call_funcv(self,arg_array: Array,) -> object: ...
    def is_valid(self,) -> bool: ...
    def set_function(self,name: Union[str, GDString],) -> None: ...
    def set_instance(self,instance: Object,) -> None: ...




class GDNative(Reference):


    def __init__(self): ...



    # Methods
    def call_native(self,calling_type: Union[str, GDString],procedure_name: Union[str, GDString],arguments: Array,) -> object: ...
    def get_library(self,) -> GDNativeLibrary: ...
    def initialize(self,) -> bool: ...
    def set_library(self,library: GDNativeLibrary,) -> None: ...
    def terminate(self,) -> bool: ...

    # Properties
    library: GDNativeLibrary



class GDScriptFunctionState(Reference):


    # Methods
    def is_valid(self,extended_check: bool=False,) -> bool: ...
    def resume(self,arg: object=None,) -> object: ...




class HTTPClient(Reference):


    def __init__(self): ...


    # Constants
    METHOD_CONNECT: int
    METHOD_DELETE: int
    METHOD_GET: int
    METHOD_HEAD: int
    METHOD_MAX: int
    METHOD_OPTIONS: int
    METHOD_PATCH: int
    METHOD_POST: int
    METHOD_PUT: int
    METHOD_TRACE: int
    RESPONSE_ACCEPTED: int
    RESPONSE_ALREADY_REPORTED: int
    RESPONSE_BAD_GATEWAY: int
    RESPONSE_BAD_REQUEST: int
    RESPONSE_CONFLICT: int
    RESPONSE_CONTINUE: int
    RESPONSE_CREATED: int
    RESPONSE_EXPECTATION_FAILED: int
    RESPONSE_FAILED_DEPENDENCY: int
    RESPONSE_FORBIDDEN: int
    RESPONSE_FOUND: int
    RESPONSE_GATEWAY_TIMEOUT: int
    RESPONSE_GONE: int
    RESPONSE_HTTP_VERSION_NOT_SUPPORTED: int
    RESPONSE_IM_A_TEAPOT: int
    RESPONSE_IM_USED: int
    RESPONSE_INSUFFICIENT_STORAGE: int
    RESPONSE_INTERNAL_SERVER_ERROR: int
    RESPONSE_LENGTH_REQUIRED: int
    RESPONSE_LOCKED: int
    RESPONSE_LOOP_DETECTED: int
    RESPONSE_METHOD_NOT_ALLOWED: int
    RESPONSE_MISDIRECTED_REQUEST: int
    RESPONSE_MOVED_PERMANENTLY: int
    RESPONSE_MULTIPLE_CHOICES: int
    RESPONSE_MULTI_STATUS: int
    RESPONSE_NETWORK_AUTH_REQUIRED: int
    RESPONSE_NON_AUTHORITATIVE_INFORMATION: int
    RESPONSE_NOT_ACCEPTABLE: int
    RESPONSE_NOT_EXTENDED: int
    RESPONSE_NOT_FOUND: int
    RESPONSE_NOT_IMPLEMENTED: int
    RESPONSE_NOT_MODIFIED: int
    RESPONSE_NO_CONTENT: int
    RESPONSE_OK: int
    RESPONSE_PARTIAL_CONTENT: int
    RESPONSE_PAYMENT_REQUIRED: int
    RESPONSE_PERMANENT_REDIRECT: int
    RESPONSE_PRECONDITION_FAILED: int
    RESPONSE_PRECONDITION_REQUIRED: int
    RESPONSE_PROCESSING: int
    RESPONSE_PROXY_AUTHENTICATION_REQUIRED: int
    RESPONSE_REQUESTED_RANGE_NOT_SATISFIABLE: int
    RESPONSE_REQUEST_ENTITY_TOO_LARGE: int
    RESPONSE_REQUEST_HEADER_FIELDS_TOO_LARGE: int
    RESPONSE_REQUEST_TIMEOUT: int
    RESPONSE_REQUEST_URI_TOO_LONG: int
    RESPONSE_RESET_CONTENT: int
    RESPONSE_SEE_OTHER: int
    RESPONSE_SERVICE_UNAVAILABLE: int
    RESPONSE_SWITCHING_PROTOCOLS: int
    RESPONSE_SWITCH_PROXY: int
    RESPONSE_TEMPORARY_REDIRECT: int
    RESPONSE_TOO_MANY_REQUESTS: int
    RESPONSE_UNAUTHORIZED: int
    RESPONSE_UNAVAILABLE_FOR_LEGAL_REASONS: int
    RESPONSE_UNPROCESSABLE_ENTITY: int
    RESPONSE_UNSUPPORTED_MEDIA_TYPE: int
    RESPONSE_UPGRADE_REQUIRED: int
    RESPONSE_USE_PROXY: int
    RESPONSE_VARIANT_ALSO_NEGOTIATES: int
    STATUS_BODY: int
    STATUS_CANT_CONNECT: int
    STATUS_CANT_RESOLVE: int
    STATUS_CONNECTED: int
    STATUS_CONNECTING: int
    STATUS_CONNECTION_ERROR: int
    STATUS_DISCONNECTED: int
    STATUS_REQUESTING: int
    STATUS_RESOLVING: int
    STATUS_SSL_HANDSHAKE_ERROR: int
    # Enums
    class Status(IntFlag):
        STATUS_DISCONNECTED: int
        STATUS_RESOLVING: int
        STATUS_CANT_RESOLVE: int
        STATUS_CONNECTING: int
        STATUS_CANT_CONNECT: int
        STATUS_CONNECTED: int
        STATUS_REQUESTING: int
        STATUS_BODY: int
        STATUS_CONNECTION_ERROR: int
        STATUS_SSL_HANDSHAKE_ERROR: int
    class Method(IntFlag):
        METHOD_GET: int
        METHOD_HEAD: int
        METHOD_POST: int
        METHOD_PUT: int
        METHOD_DELETE: int
        METHOD_OPTIONS: int
        METHOD_TRACE: int
        METHOD_CONNECT: int
        METHOD_PATCH: int
        METHOD_MAX: int
    class ResponseCode(IntFlag):
        RESPONSE_CONTINUE: int
        RESPONSE_SWITCHING_PROTOCOLS: int
        RESPONSE_PROCESSING: int
        RESPONSE_OK: int
        RESPONSE_CREATED: int
        RESPONSE_ACCEPTED: int
        RESPONSE_NON_AUTHORITATIVE_INFORMATION: int
        RESPONSE_NO_CONTENT: int
        RESPONSE_RESET_CONTENT: int
        RESPONSE_PARTIAL_CONTENT: int
        RESPONSE_MULTI_STATUS: int
        RESPONSE_ALREADY_REPORTED: int
        RESPONSE_IM_USED: int
        RESPONSE_MULTIPLE_CHOICES: int
        RESPONSE_MOVED_PERMANENTLY: int
        RESPONSE_FOUND: int
        RESPONSE_SEE_OTHER: int
        RESPONSE_NOT_MODIFIED: int
        RESPONSE_USE_PROXY: int
        RESPONSE_SWITCH_PROXY: int
        RESPONSE_TEMPORARY_REDIRECT: int
        RESPONSE_PERMANENT_REDIRECT: int
        RESPONSE_BAD_REQUEST: int
        RESPONSE_UNAUTHORIZED: int
        RESPONSE_PAYMENT_REQUIRED: int
        RESPONSE_FORBIDDEN: int
        RESPONSE_NOT_FOUND: int
        RESPONSE_METHOD_NOT_ALLOWED: int
        RESPONSE_NOT_ACCEPTABLE: int
        RESPONSE_PROXY_AUTHENTICATION_REQUIRED: int
        RESPONSE_REQUEST_TIMEOUT: int
        RESPONSE_CONFLICT: int
        RESPONSE_GONE: int
        RESPONSE_LENGTH_REQUIRED: int
        RESPONSE_PRECONDITION_FAILED: int
        RESPONSE_REQUEST_ENTITY_TOO_LARGE: int
        RESPONSE_REQUEST_URI_TOO_LONG: int
        RESPONSE_UNSUPPORTED_MEDIA_TYPE: int
        RESPONSE_REQUESTED_RANGE_NOT_SATISFIABLE: int
        RESPONSE_EXPECTATION_FAILED: int
        RESPONSE_IM_A_TEAPOT: int
        RESPONSE_MISDIRECTED_REQUEST: int
        RESPONSE_UNPROCESSABLE_ENTITY: int
        RESPONSE_LOCKED: int
        RESPONSE_FAILED_DEPENDENCY: int
        RESPONSE_UPGRADE_REQUIRED: int
        RESPONSE_PRECONDITION_REQUIRED: int
        RESPONSE_TOO_MANY_REQUESTS: int
        RESPONSE_REQUEST_HEADER_FIELDS_TOO_LARGE: int
        RESPONSE_UNAVAILABLE_FOR_LEGAL_REASONS: int
        RESPONSE_INTERNAL_SERVER_ERROR: int
        RESPONSE_NOT_IMPLEMENTED: int
        RESPONSE_BAD_GATEWAY: int
        RESPONSE_SERVICE_UNAVAILABLE: int
        RESPONSE_GATEWAY_TIMEOUT: int
        RESPONSE_HTTP_VERSION_NOT_SUPPORTED: int
        RESPONSE_VARIANT_ALSO_NEGOTIATES: int
        RESPONSE_INSUFFICIENT_STORAGE: int
        RESPONSE_LOOP_DETECTED: int
        RESPONSE_NOT_EXTENDED: int
        RESPONSE_NETWORK_AUTH_REQUIRED: int

    # Methods
    def close(self,) -> None: ...
    def connect_to_host(self,host: Union[str, GDString],port: int=-1,use_ssl: bool=False,verify_host: bool=True,) -> Error: ...
    def get_connection(self,) -> StreamPeer: ...
    def get_read_chunk_size(self,) -> int: ...
    def get_response_body_length(self,) -> int: ...
    def get_response_code(self,) -> int: ...
    def get_response_headers(self,) -> PoolStringArray: ...
    def get_response_headers_as_dictionary(self,) -> Dictionary: ...
    def get_status(self,) -> HTTPClient.Status: ...
    def has_response(self,) -> bool: ...
    def is_blocking_mode_enabled(self,) -> bool: ...
    def is_response_chunked(self,) -> bool: ...
    def poll(self,) -> Error: ...
    def query_string_from_dict(self,fields: Dictionary,) -> Union[str, GDString]: ...
    def read_response_body_chunk(self,) -> PoolByteArray: ...
    def request(self,method: int,url: Union[str, GDString],headers: PoolStringArray,body: Union[str, GDString]="",) -> Error: ...
    def request_raw(self,method: int,url: Union[str, GDString],headers: PoolStringArray,body: PoolByteArray,) -> Error: ...
    def set_blocking_mode(self,enabled: bool,) -> None: ...
    def set_connection(self,connection: StreamPeer,) -> None: ...
    def set_read_chunk_size(self,bytes: int,) -> None: ...

    # Properties
    blocking_mode_enabled: bool
    connection: StreamPeer
    read_chunk_size: int



class HashingContext(Reference):


    def __init__(self): ...


    # Constants
    HASH_MD5: int
    HASH_SHA1: int
    HASH_SHA256: int
    # Enums
    class HashType(IntFlag):
        HASH_MD5: int
        HASH_SHA1: int
        HASH_SHA256: int

    # Methods
    def finish(self,) -> PoolByteArray: ...
    def start(self,type_: int,) -> Error: ...
    def update(self,chunk: PoolByteArray,) -> Error: ...




class JSONParseResult(Reference):


    def __init__(self): ...



    # Methods
    def get_error(self,) -> Error: ...
    def get_error_line(self,) -> int: ...
    def get_error_string(self,) -> Union[str, GDString]: ...
    def get_result(self,) -> object: ...
    def set_error(self,error: int,) -> None: ...
    def set_error_line(self,error_line: int,) -> None: ...
    def set_error_string(self,error_string: Union[str, GDString],) -> None: ...
    def set_result(self,result: object,) -> None: ...

    # Properties
    error: Object
    error_line: int
    error_string: Union[str, GDString]
    result: object



class JavaClass(Reference):


    def __init__(self): ...





    pass


class KinematicCollision(Reference):


    def __init__(self): ...



    # Methods
    def get_collider(self,) -> Object: ...
    def get_collider_id(self,) -> int: ...
    def get_collider_metadata(self,) -> object: ...
    def get_collider_shape(self,) -> Object: ...
    def get_collider_shape_index(self,) -> int: ...
    def get_collider_velocity(self,) -> Vector3: ...
    def get_local_shape(self,) -> Object: ...
    def get_normal(self,) -> Vector3: ...
    def get_position(self,) -> Vector3: ...
    def get_remainder(self,) -> Vector3: ...
    def get_travel(self,) -> Vector3: ...

    # Properties
    collider: Object
    collider_id: int
    collider_metadata: object
    collider_shape: Object
    collider_shape_index: int
    collider_velocity: Vector3
    local_shape: Object
    normal: Vector3
    position: Vector3
    remainder: Vector3
    travel: Vector3



class KinematicCollision2D(Reference):


    def __init__(self): ...



    # Methods
    def get_collider(self,) -> Object: ...
    def get_collider_id(self,) -> int: ...
    def get_collider_metadata(self,) -> object: ...
    def get_collider_shape(self,) -> Object: ...
    def get_collider_shape_index(self,) -> int: ...
    def get_collider_velocity(self,) -> Vector2: ...
    def get_local_shape(self,) -> Object: ...
    def get_normal(self,) -> Vector2: ...
    def get_position(self,) -> Vector2: ...
    def get_remainder(self,) -> Vector2: ...
    def get_travel(self,) -> Vector2: ...

    # Properties
    collider: Object
    collider_id: int
    collider_metadata: object
    collider_shape: Object
    collider_shape_index: int
    collider_velocity: Vector2
    local_shape: Object
    normal: Vector2
    position: Vector2
    remainder: Vector2
    travel: Vector2



class MeshDataTool(Reference):


    def __init__(self): ...



    # Methods
    def clear(self,) -> None: ...
    def commit_to_surface(self,mesh: ArrayMesh,) -> Error: ...
    def create_from_surface(self,mesh: ArrayMesh,surface: int,) -> Error: ...
    def get_edge_count(self,) -> int: ...
    def get_edge_faces(self,idx: int,) -> PoolIntArray: ...
    def get_edge_meta(self,idx: int,) -> object: ...
    def get_edge_vertex(self,idx: int,vertex: int,) -> int: ...
    def get_face_count(self,) -> int: ...
    def get_face_edge(self,idx: int,edge: int,) -> int: ...
    def get_face_meta(self,idx: int,) -> object: ...
    def get_face_normal(self,idx: int,) -> Vector3: ...
    def get_face_vertex(self,idx: int,vertex: int,) -> int: ...
    def get_format(self,) -> int: ...
    def get_material(self,) -> Material: ...
    def get_vertex(self,idx: int,) -> Vector3: ...
    def get_vertex_bones(self,idx: int,) -> PoolIntArray: ...
    def get_vertex_color(self,idx: int,) -> Color: ...
    def get_vertex_count(self,) -> int: ...
    def get_vertex_edges(self,idx: int,) -> PoolIntArray: ...
    def get_vertex_faces(self,idx: int,) -> PoolIntArray: ...
    def get_vertex_meta(self,idx: int,) -> object: ...
    def get_vertex_normal(self,idx: int,) -> Vector3: ...
    def get_vertex_tangent(self,idx: int,) -> Plane: ...
    def get_vertex_uv(self,idx: int,) -> Vector2: ...
    def get_vertex_uv2(self,idx: int,) -> Vector2: ...
    def get_vertex_weights(self,idx: int,) -> PoolRealArray: ...
    def set_edge_meta(self,idx: int,meta: object,) -> None: ...
    def set_face_meta(self,idx: int,meta: object,) -> None: ...
    def set_material(self,material: Material,) -> None: ...
    def set_vertex(self,idx: int,vertex: Vector3,) -> None: ...
    def set_vertex_bones(self,idx: int,bones: PoolIntArray,) -> None: ...
    def set_vertex_color(self,idx: int,color: Color,) -> None: ...
    def set_vertex_meta(self,idx: int,meta: object,) -> None: ...
    def set_vertex_normal(self,idx: int,normal: Vector3,) -> None: ...
    def set_vertex_tangent(self,idx: int,tangent: Plane,) -> None: ...
    def set_vertex_uv(self,idx: int,uv: Vector2,) -> None: ...
    def set_vertex_uv2(self,idx: int,uv2: Vector2,) -> None: ...
    def set_vertex_weights(self,idx: int,weights: PoolRealArray,) -> None: ...




class MultiplayerAPI(Reference):


    def __init__(self): ...


    # Constants
    RPC_MODE_DISABLED: int
    RPC_MODE_MASTER: int
    RPC_MODE_MASTERSYNC: int
    RPC_MODE_PUPPET: int
    RPC_MODE_PUPPETSYNC: int
    RPC_MODE_REMOTE: int
    RPC_MODE_REMOTESYNC: int
    RPC_MODE_SLAVE: int
    RPC_MODE_SYNC: int
    # Enums
    class RPCMode(IntFlag):
        RPC_MODE_DISABLED: int
        RPC_MODE_REMOTE: int
        RPC_MODE_MASTER: int
        RPC_MODE_PUPPET: int
        RPC_MODE_SLAVE: int
        RPC_MODE_REMOTESYNC: int
        RPC_MODE_SYNC: int
        RPC_MODE_MASTERSYNC: int
        RPC_MODE_PUPPETSYNC: int

    # Methods
    def clear(self,) -> None: ...
    def get_network_connected_peers(self,) -> PoolIntArray: ...
    def get_network_peer(self,) -> NetworkedMultiplayerPeer: ...
    def get_network_unique_id(self,) -> int: ...
    def get_rpc_sender_id(self,) -> int: ...
    def has_network_peer(self,) -> bool: ...
    def is_network_server(self,) -> bool: ...
    def is_object_decoding_allowed(self,) -> bool: ...
    def is_refusing_new_network_connections(self,) -> bool: ...
    def poll(self,) -> None: ...
    def send_bytes(self,bytes: PoolByteArray,id: int=0,mode: int=2,) -> Error: ...
    def set_allow_object_decoding(self,enable: bool,) -> None: ...
    def set_network_peer(self,peer: NetworkedMultiplayerPeer,) -> None: ...
    def set_refuse_new_network_connections(self,refuse: bool,) -> None: ...
    def set_root_node(self,node: Node,) -> None: ...

    # Properties
    allow_object_decoding: bool
    network_peer: NetworkedMultiplayerPeer
    refuse_new_network_connections: bool



class PCKPacker(Reference):


    def __init__(self): ...



    # Methods
    def add_file(self,pck_path: Union[str, GDString],source_path: Union[str, GDString],) -> Error: ...
    def flush(self,verbose: bool=False,) -> Error: ...
    def pck_start(self,pck_name: Union[str, GDString],alignment: int=0,) -> Error: ...




class PackedDataContainerRef(Reference):


    # Methods
    def size(self,) -> int: ...




class PacketPeer(Reference):


    # Methods
    def get_available_packet_count(self,) -> int: ...
    def get_encode_buffer_max_size(self,) -> int: ...
    def get_packet(self,) -> PoolByteArray: ...
    def get_packet_error(self,) -> Error: ...
    def get_var(self,allow_objects: bool=False,) -> object: ...
    def is_object_decoding_allowed(self,) -> bool: ...
    def put_packet(self,buffer: PoolByteArray,) -> Error: ...
    def put_var(self,var: object,full_objects: bool=False,) -> Error: ...
    def set_allow_object_decoding(self,enable: bool,) -> None: ...
    def set_encode_buffer_max_size(self,max_size: int,) -> None: ...

    # Properties
    allow_object_decoding: bool
    encode_buffer_max_size: int



class Physics2DShapeQueryParameters(Reference):


    def __init__(self): ...



    # Methods
    def get_collision_layer(self,) -> int: ...
    def get_exclude(self,) -> Array: ...
    def get_margin(self,) -> float: ...
    def get_motion(self,) -> Vector2: ...
    def get_shape_rid(self,) -> RID: ...
    def get_transform(self,) -> Transform2D: ...
    def is_collide_with_areas_enabled(self,) -> bool: ...
    def is_collide_with_bodies_enabled(self,) -> bool: ...
    def set_collide_with_areas(self,enable: bool,) -> None: ...
    def set_collide_with_bodies(self,enable: bool,) -> None: ...
    def set_collision_layer(self,collision_layer: int,) -> None: ...
    def set_exclude(self,exclude: Array,) -> None: ...
    def set_margin(self,margin: float,) -> None: ...
    def set_motion(self,motion: Vector2,) -> None: ...
    def set_shape(self,shape: Resource,) -> None: ...
    def set_shape_rid(self,shape: RID,) -> None: ...
    def set_transform(self,transform: Transform2D,) -> None: ...

    # Properties
    collide_with_areas: bool
    collide_with_bodies: bool
    collision_layer: int
    exclude: Array
    margin: float
    motion: Vector2
    shape_rid: RID
    transform: Transform2D



class Physics2DShapeQueryResult(Reference):


    # Methods
    def get_result_count(self,) -> int: ...
    def get_result_object(self,idx: int,) -> Object: ...
    def get_result_object_id(self,idx: int,) -> int: ...
    def get_result_object_shape(self,idx: int,) -> int: ...
    def get_result_rid(self,idx: int,) -> RID: ...




class Physics2DTestMotionResult(Reference):


    def __init__(self): ...



    # Methods
    def get_collider(self,) -> Object: ...
    def get_collider_id(self,) -> int: ...
    def get_collider_rid(self,) -> RID: ...
    def get_collider_shape(self,) -> int: ...
    def get_collider_velocity(self,) -> Vector2: ...
    def get_collision_normal(self,) -> Vector2: ...
    def get_collision_point(self,) -> Vector2: ...
    def get_motion(self,) -> Vector2: ...
    def get_motion_remainder(self,) -> Vector2: ...

    # Properties
    collider: Object
    collider_id: int
    collider_rid: RID
    collider_shape: int
    collider_velocity: Vector2
    collision_normal: Vector2
    collision_point: Vector2
    motion: Vector2
    motion_remainder: Vector2



class PhysicsShapeQueryParameters(Reference):


    def __init__(self): ...



    # Methods
    def get_collision_mask(self,) -> int: ...
    def get_exclude(self,) -> Array: ...
    def get_margin(self,) -> float: ...
    def get_shape_rid(self,) -> RID: ...
    def get_transform(self,) -> Transform: ...
    def is_collide_with_areas_enabled(self,) -> bool: ...
    def is_collide_with_bodies_enabled(self,) -> bool: ...
    def set_collide_with_areas(self,enable: bool,) -> None: ...
    def set_collide_with_bodies(self,enable: bool,) -> None: ...
    def set_collision_mask(self,collision_mask: int,) -> None: ...
    def set_exclude(self,exclude: Array,) -> None: ...
    def set_margin(self,margin: float,) -> None: ...
    def set_shape(self,shape: Resource,) -> None: ...
    def set_shape_rid(self,shape: RID,) -> None: ...
    def set_transform(self,transform: Transform,) -> None: ...

    # Properties
    collide_with_areas: bool
    collide_with_bodies: bool
    collision_mask: int
    exclude: Array
    margin: float
    shape_rid: RID
    transform: Transform



class PhysicsShapeQueryResult(Reference):


    # Methods
    def get_result_count(self,) -> int: ...
    def get_result_object(self,idx: int,) -> Object: ...
    def get_result_object_id(self,idx: int,) -> int: ...
    def get_result_object_shape(self,idx: int,) -> int: ...
    def get_result_rid(self,idx: int,) -> RID: ...




class RandomNumberGenerator(Reference):


    def __init__(self): ...



    # Methods
    def get_seed(self,) -> int: ...
    def randf(self,) -> float: ...
    def randf_range(self,from_: float,to: float,) -> float: ...
    def randfn(self,mean: float=0,deviation: float=1,) -> float: ...
    def randi(self,) -> int: ...
    def randi_range(self,from_: int,to: int,) -> int: ...
    def randomize(self,) -> None: ...
    def set_seed(self,seed: int,) -> None: ...

    # Properties
    seed: int



class RegEx(Reference):


    def __init__(self): ...



    # Methods
    def clear(self,) -> None: ...
    def compile(self,pattern: Union[str, GDString],) -> Error: ...
    def get_group_count(self,) -> int: ...
    def get_names(self,) -> Array: ...
    def get_pattern(self,) -> Union[str, GDString]: ...
    def is_valid(self,) -> bool: ...
    def search(self,subject: Union[str, GDString],offset: int=0,end: int=-1,) -> RegExMatch: ...
    def search_all(self,subject: Union[str, GDString],offset: int=0,end: int=-1,) -> Array: ...
    def sub(self,subject: Union[str, GDString],replacement: Union[str, GDString],all: bool=False,offset: int=0,end: int=-1,) -> Union[str, GDString]: ...




class RegExMatch(Reference):


    def __init__(self): ...



    # Methods
    def get_end(self,name: object=0,) -> int: ...
    def get_group_count(self,) -> int: ...
    def get_names(self,) -> Dictionary: ...
    def get_start(self,name: object=0,) -> int: ...
    def get_string(self,name: object=0,) -> Union[str, GDString]: ...
    def get_strings(self,) -> Array: ...
    def get_subject(self,) -> Union[str, GDString]: ...

    # Properties
    names: Dictionary
    strings: Array
    subject: Union[str, GDString]



class Resource(Reference):


    def __init__(self): ...



    # Methods
    def duplicate(self,subresources: bool=False,) -> Resource: ...
    def get_local_scene(self,) -> Node: ...
    def get_name(self,) -> Union[str, GDString]: ...
    def get_path(self,) -> Union[str, GDString]: ...
    def get_rid(self,) -> RID: ...
    def is_local_to_scene(self,) -> bool: ...
    def set_local_to_scene(self,enable: bool,) -> None: ...
    def set_name(self,name: Union[str, GDString],) -> None: ...
    def set_path(self,path: Union[str, GDString],) -> None: ...
    def setup_local_to_scene(self,) -> None: ...
    def take_over_path(self,path: Union[str, GDString],) -> None: ...

    # Properties
    resource_local_to_scene: bool
    resource_name: Union[str, GDString]
    resource_path: Union[str, GDString]



class ResourceFormatLoader(Reference):


    def __init__(self): ...





    pass


class ResourceFormatSaver(Reference):


    def __init__(self): ...





    pass


class ResourceImporter(Reference):




    pass


class ResourceInteractiveLoader(Reference):


    # Methods
    def get_resource(self,) -> Resource: ...
    def get_stage(self,) -> int: ...
    def get_stage_count(self,) -> int: ...
    def poll(self,) -> Error: ...
    def wait(self,) -> Error: ...




class SceneState(Reference):

    # Constants
    GEN_EDIT_STATE_DISABLED: int
    GEN_EDIT_STATE_INSTANCE: int
    GEN_EDIT_STATE_MAIN: int
    # Enums
    class GenEditState(IntFlag):
        GEN_EDIT_STATE_DISABLED: int
        GEN_EDIT_STATE_INSTANCE: int
        GEN_EDIT_STATE_MAIN: int

    # Methods
    def get_connection_binds(self,idx: int,) -> Array: ...
    def get_connection_count(self,) -> int: ...
    def get_connection_flags(self,idx: int,) -> int: ...
    def get_connection_method(self,idx: int,) -> Union[str, GDString]: ...
    def get_connection_signal(self,idx: int,) -> Union[str, GDString]: ...
    def get_connection_source(self,idx: int,) -> Union[str, NodePath]: ...
    def get_connection_target(self,idx: int,) -> Union[str, NodePath]: ...
    def get_node_count(self,) -> int: ...
    def get_node_groups(self,idx: int,) -> PoolStringArray: ...
    def get_node_index(self,idx: int,) -> int: ...
    def get_node_instance(self,idx: int,) -> PackedScene: ...
    def get_node_instance_placeholder(self,idx: int,) -> Union[str, GDString]: ...
    def get_node_name(self,idx: int,) -> Union[str, GDString]: ...
    def get_node_owner_path(self,idx: int,) -> Union[str, NodePath]: ...
    def get_node_path(self,idx: int,for_parent: bool=False,) -> Union[str, NodePath]: ...
    def get_node_property_count(self,idx: int,) -> int: ...
    def get_node_property_name(self,idx: int,prop_idx: int,) -> Union[str, GDString]: ...
    def get_node_property_value(self,idx: int,prop_idx: int,) -> object: ...
    def get_node_type(self,idx: int,) -> Union[str, GDString]: ...
    def is_node_instance_placeholder(self,idx: int,) -> bool: ...




class SceneTreeTimer(Reference):


    # Methods
    def get_time_left(self,) -> float: ...
    def set_time_left(self,time: float,) -> None: ...

    # Properties
    time_left: float



class SkinReference(Reference):


    # Methods
    def get_skeleton(self,) -> RID: ...
    def get_skin(self,) -> Skin: ...




class SpatialGizmo(Reference):




    pass


class SpatialVelocityTracker(Reference):


    def __init__(self): ...



    # Methods
    def get_tracked_linear_velocity(self,) -> Vector3: ...
    def is_tracking_physics_step(self,) -> bool: ...
    def reset(self,position: Vector3,) -> None: ...
    def set_track_physics_step(self,enable: bool,) -> None: ...
    def update_position(self,position: Vector3,) -> None: ...

    # Properties
    track_physics_step: bool



class StreamPeer(Reference):


    # Methods
    def get_16(self,) -> int: ...
    def get_32(self,) -> int: ...
    def get_64(self,) -> int: ...
    def get_8(self,) -> int: ...
    def get_available_bytes(self,) -> int: ...
    def get_data(self,bytes: int,) -> Array: ...
    def get_double(self,) -> float: ...
    def get_float(self,) -> float: ...
    def get_partial_data(self,bytes: int,) -> Array: ...
    def get_string(self,bytes: int=-1,) -> Union[str, GDString]: ...
    def get_u16(self,) -> int: ...
    def get_u32(self,) -> int: ...
    def get_u64(self,) -> int: ...
    def get_u8(self,) -> int: ...
    def get_utf8_string(self,bytes: int=-1,) -> Union[str, GDString]: ...
    def get_var(self,allow_objects: bool=False,) -> object: ...
    def is_big_endian_enabled(self,) -> bool: ...
    def put_16(self,value: int,) -> None: ...
    def put_32(self,value: int,) -> None: ...
    def put_64(self,value: int,) -> None: ...
    def put_8(self,value: int,) -> None: ...
    def put_data(self,data: PoolByteArray,) -> Error: ...
    def put_double(self,value: float,) -> None: ...
    def put_float(self,value: float,) -> None: ...
    def put_partial_data(self,data: PoolByteArray,) -> Array: ...
    def put_string(self,value: Union[str, GDString],) -> None: ...
    def put_u16(self,value: int,) -> None: ...
    def put_u32(self,value: int,) -> None: ...
    def put_u64(self,value: int,) -> None: ...
    def put_u8(self,value: int,) -> None: ...
    def put_utf8_string(self,value: Union[str, GDString],) -> None: ...
    def put_var(self,value: object,full_objects: bool=False,) -> None: ...
    def set_big_endian(self,enable: bool,) -> None: ...

    # Properties
    big_endian: bool



class SurfaceTool(Reference):


    def __init__(self): ...



    # Methods
    def add_bones(self,bones: PoolIntArray,) -> None: ...
    def add_color(self,color: Color,) -> None: ...
    def add_index(self,index: int,) -> None: ...
    def add_normal(self,normal: Vector3,) -> None: ...
    def add_smooth_group(self,smooth: bool,) -> None: ...
    def add_tangent(self,tangent: Plane,) -> None: ...
    def add_triangle_fan(self,vertices: PoolVector3Array,uvs: PoolVector2Array=PoolVector2Array(),colors: PoolColorArray=PoolColorArray(),uv2s: PoolVector2Array=PoolVector2Array(),normals: PoolVector3Array=PoolVector3Array(),tangents: Array=Array(),) -> None: ...
    def add_uv(self,uv: Vector2,) -> None: ...
    def add_uv2(self,uv2: Vector2,) -> None: ...
    def add_vertex(self,vertex: Vector3,) -> None: ...
    def add_weights(self,weights: PoolRealArray,) -> None: ...
    def append_from(self,existing: Mesh,surface: int,transform: Transform,) -> None: ...
    def begin(self,primitive: int,) -> None: ...
    def clear(self,) -> None: ...
    def commit(self,existing: ArrayMesh=None,flags: int=97280,) -> ArrayMesh: ...
    def commit_to_arrays(self,) -> Array: ...
    def create_from(self,existing: Mesh,surface: int,) -> None: ...
    def create_from_blend_shape(self,existing: Mesh,surface: int,blend_shape: Union[str, GDString],) -> None: ...
    def deindex(self,) -> None: ...
    def generate_normals(self,flip: bool=False,) -> None: ...
    def generate_tangents(self,) -> None: ...
    def index(self,) -> None: ...
    def set_material(self,material: Material,) -> None: ...




class TCP_Server(Reference):


    def __init__(self): ...



    # Methods
    def is_connection_available(self,) -> bool: ...
    def is_listening(self,) -> bool: ...
    def listen(self,port: int,bind_address: Union[str, GDString]="*",) -> Error: ...
    def stop(self,) -> None: ...
    def take_connection(self,) -> StreamPeerTCP: ...




class TriangleMesh(Reference):


    def __init__(self): ...





    pass


class UDPServer(Reference):


    def __init__(self): ...



    # Methods
    def is_connection_available(self,) -> bool: ...
    def is_listening(self,) -> bool: ...
    def listen(self,port: int,bind_address: Union[str, GDString]="*",) -> Error: ...
    def stop(self,) -> None: ...
    def take_connection(self,) -> PacketPeerUDP: ...




class UPNP(Reference):


    def __init__(self): ...


    # Constants
    UPNP_RESULT_ACTION_FAILED: int
    UPNP_RESULT_CONFLICT_WITH_OTHER_MAPPING: int
    UPNP_RESULT_CONFLICT_WITH_OTHER_MECHANISM: int
    UPNP_RESULT_EXT_PORT_MUST_BE_WILDCARD: int
    UPNP_RESULT_EXT_PORT_WILDCARD_NOT_PERMITTED: int
    UPNP_RESULT_HTTP_ERROR: int
    UPNP_RESULT_INCONSISTENT_PARAMETERS: int
    UPNP_RESULT_INT_PORT_WILDCARD_NOT_PERMITTED: int
    UPNP_RESULT_INVALID_ARGS: int
    UPNP_RESULT_INVALID_DURATION: int
    UPNP_RESULT_INVALID_GATEWAY: int
    UPNP_RESULT_INVALID_PARAM: int
    UPNP_RESULT_INVALID_PORT: int
    UPNP_RESULT_INVALID_PROTOCOL: int
    UPNP_RESULT_INVALID_RESPONSE: int
    UPNP_RESULT_MEM_ALLOC_ERROR: int
    UPNP_RESULT_NOT_AUTHORIZED: int
    UPNP_RESULT_NO_DEVICES: int
    UPNP_RESULT_NO_GATEWAY: int
    UPNP_RESULT_NO_PORT_MAPS_AVAILABLE: int
    UPNP_RESULT_NO_SUCH_ENTRY_IN_ARRAY: int
    UPNP_RESULT_ONLY_PERMANENT_LEASE_SUPPORTED: int
    UPNP_RESULT_PORT_MAPPING_NOT_FOUND: int
    UPNP_RESULT_REMOTE_HOST_MUST_BE_WILDCARD: int
    UPNP_RESULT_SAME_PORT_VALUES_REQUIRED: int
    UPNP_RESULT_SOCKET_ERROR: int
    UPNP_RESULT_SRC_IP_WILDCARD_NOT_PERMITTED: int
    UPNP_RESULT_SUCCESS: int
    UPNP_RESULT_UNKNOWN_ERROR: int
    # Enums
    class UPNPResult(IntFlag):
        UPNP_RESULT_SUCCESS: int
        UPNP_RESULT_NOT_AUTHORIZED: int
        UPNP_RESULT_PORT_MAPPING_NOT_FOUND: int
        UPNP_RESULT_INCONSISTENT_PARAMETERS: int
        UPNP_RESULT_NO_SUCH_ENTRY_IN_ARRAY: int
        UPNP_RESULT_ACTION_FAILED: int
        UPNP_RESULT_SRC_IP_WILDCARD_NOT_PERMITTED: int
        UPNP_RESULT_EXT_PORT_WILDCARD_NOT_PERMITTED: int
        UPNP_RESULT_INT_PORT_WILDCARD_NOT_PERMITTED: int
        UPNP_RESULT_REMOTE_HOST_MUST_BE_WILDCARD: int
        UPNP_RESULT_EXT_PORT_MUST_BE_WILDCARD: int
        UPNP_RESULT_NO_PORT_MAPS_AVAILABLE: int
        UPNP_RESULT_CONFLICT_WITH_OTHER_MECHANISM: int
        UPNP_RESULT_CONFLICT_WITH_OTHER_MAPPING: int
        UPNP_RESULT_SAME_PORT_VALUES_REQUIRED: int
        UPNP_RESULT_ONLY_PERMANENT_LEASE_SUPPORTED: int
        UPNP_RESULT_INVALID_GATEWAY: int
        UPNP_RESULT_INVALID_PORT: int
        UPNP_RESULT_INVALID_PROTOCOL: int
        UPNP_RESULT_INVALID_DURATION: int
        UPNP_RESULT_INVALID_ARGS: int
        UPNP_RESULT_INVALID_RESPONSE: int
        UPNP_RESULT_INVALID_PARAM: int
        UPNP_RESULT_HTTP_ERROR: int
        UPNP_RESULT_SOCKET_ERROR: int
        UPNP_RESULT_MEM_ALLOC_ERROR: int
        UPNP_RESULT_NO_GATEWAY: int
        UPNP_RESULT_NO_DEVICES: int
        UPNP_RESULT_UNKNOWN_ERROR: int

    # Methods
    def add_device(self,device: UPNPDevice,) -> None: ...
    def add_port_mapping(self,port: int,port_internal: int=0,desc: Union[str, GDString]="",proto: Union[str, GDString]="UDP",duration: int=0,) -> int: ...
    def clear_devices(self,) -> None: ...
    def delete_port_mapping(self,port: int,proto: Union[str, GDString]="UDP",) -> int: ...
    def discover(self,timeout: int=2000,ttl: int=2,device_filter: Union[str, GDString]="InternetGatewayDevice",) -> int: ...
    def get_device(self,index: int,) -> UPNPDevice: ...
    def get_device_count(self,) -> int: ...
    def get_discover_local_port(self,) -> int: ...
    def get_discover_multicast_if(self,) -> Union[str, GDString]: ...
    def get_gateway(self,) -> UPNPDevice: ...
    def is_discover_ipv6(self,) -> bool: ...
    def query_external_address(self,) -> Union[str, GDString]: ...
    def remove_device(self,index: int,) -> None: ...
    def set_device(self,index: int,device: UPNPDevice,) -> None: ...
    def set_discover_ipv6(self,ipv6: bool,) -> None: ...
    def set_discover_local_port(self,port: int,) -> None: ...
    def set_discover_multicast_if(self,m_if: Union[str, GDString],) -> None: ...

    # Properties
    discover_ipv6: bool
    discover_local_port: int
    discover_multicast_if: Union[str, GDString]



class UPNPDevice(Reference):


    def __init__(self): ...


    # Constants
    IGD_STATUS_DISCONNECTED: int
    IGD_STATUS_HTTP_EMPTY: int
    IGD_STATUS_HTTP_ERROR: int
    IGD_STATUS_INVALID_CONTROL: int
    IGD_STATUS_MALLOC_ERROR: int
    IGD_STATUS_NO_IGD: int
    IGD_STATUS_NO_URLS: int
    IGD_STATUS_OK: int
    IGD_STATUS_UNKNOWN_DEVICE: int
    IGD_STATUS_UNKNOWN_ERROR: int
    # Enums
    class IGDStatus(IntFlag):
        IGD_STATUS_OK: int
        IGD_STATUS_HTTP_ERROR: int
        IGD_STATUS_HTTP_EMPTY: int
        IGD_STATUS_NO_URLS: int
        IGD_STATUS_NO_IGD: int
        IGD_STATUS_DISCONNECTED: int
        IGD_STATUS_UNKNOWN_DEVICE: int
        IGD_STATUS_INVALID_CONTROL: int
        IGD_STATUS_MALLOC_ERROR: int
        IGD_STATUS_UNKNOWN_ERROR: int

    # Methods
    def add_port_mapping(self,port: int,port_internal: int=0,desc: Union[str, GDString]="",proto: Union[str, GDString]="UDP",duration: int=0,) -> int: ...
    def delete_port_mapping(self,port: int,proto: Union[str, GDString]="UDP",) -> int: ...
    def get_description_url(self,) -> Union[str, GDString]: ...
    def get_igd_control_url(self,) -> Union[str, GDString]: ...
    def get_igd_our_addr(self,) -> Union[str, GDString]: ...
    def get_igd_service_type(self,) -> Union[str, GDString]: ...
    def get_igd_status(self,) -> UPNPDevice.IGDStatus: ...
    def get_service_type(self,) -> Union[str, GDString]: ...
    def is_valid_gateway(self,) -> bool: ...
    def query_external_address(self,) -> Union[str, GDString]: ...
    def set_description_url(self,url: Union[str, GDString],) -> None: ...
    def set_igd_control_url(self,url: Union[str, GDString],) -> None: ...
    def set_igd_our_addr(self,addr: Union[str, GDString],) -> None: ...
    def set_igd_service_type(self,type_: Union[str, GDString],) -> None: ...
    def set_igd_status(self,status: int,) -> None: ...
    def set_service_type(self,type_: Union[str, GDString],) -> None: ...

    # Properties
    description_url: Union[str, GDString]
    igd_control_url: Union[str, GDString]
    igd_our_addr: Union[str, GDString]
    igd_service_type: Union[str, GDString]
    igd_status: int
    service_type: Union[str, GDString]



class VisualScriptFunctionState(Reference):


    def __init__(self): ...



    # Methods
    def connect_to_signal(self,obj: Object,signals: Union[str, GDString],args: Array,) -> None: ...
    def is_valid(self,) -> bool: ...
    def resume(self,args: Array=None,) -> object: ...




class WeakRef(Reference):


    def __init__(self): ...



    # Methods
    def get_ref(self,) -> object: ...




class WebRTCPeerConnection(Reference):


    def __init__(self): ...


    # Constants
    STATE_CLOSED: int
    STATE_CONNECTED: int
    STATE_CONNECTING: int
    STATE_DISCONNECTED: int
    STATE_FAILED: int
    STATE_NEW: int
    # Enums
    class ConnectionState(IntFlag):
        STATE_NEW: int
        STATE_CONNECTING: int
        STATE_CONNECTED: int
        STATE_DISCONNECTED: int
        STATE_FAILED: int
        STATE_CLOSED: int

    # Methods
    def add_ice_candidate(self,media: Union[str, GDString],index: int,name: Union[str, GDString],) -> Error: ...
    def close(self,) -> None: ...
    def create_data_channel(self,label: Union[str, GDString],options: Dictionary=Dictionary(),) -> WebRTCDataChannel: ...
    def create_offer(self,) -> Error: ...
    def get_connection_state(self,) -> WebRTCPeerConnection.ConnectionState: ...
    def initialize(self,configuration: Dictionary=Dictionary(),) -> Error: ...
    def poll(self,) -> Error: ...
    def set_local_description(self,type_: Union[str, GDString],sdp: Union[str, GDString],) -> Error: ...
    def set_remote_description(self,type_: Union[str, GDString],sdp: Union[str, GDString],) -> Error: ...




class XMLParser(Reference):


    def __init__(self): ...


    # Constants
    NODE_CDATA: int
    NODE_COMMENT: int
    NODE_ELEMENT: int
    NODE_ELEMENT_END: int
    NODE_NONE: int
    NODE_TEXT: int
    NODE_UNKNOWN: int
    # Enums
    class NodeType(IntFlag):
        NODE_NONE: int
        NODE_ELEMENT: int
        NODE_ELEMENT_END: int
        NODE_TEXT: int
        NODE_COMMENT: int
        NODE_CDATA: int
        NODE_UNKNOWN: int

    # Methods
    def get_attribute_count(self,) -> int: ...
    def get_attribute_name(self,idx: int,) -> Union[str, GDString]: ...
    def get_attribute_value(self,idx: int,) -> Union[str, GDString]: ...
    def get_current_line(self,) -> int: ...
    def get_named_attribute_value(self,name: Union[str, GDString],) -> Union[str, GDString]: ...
    def get_named_attribute_value_safe(self,name: Union[str, GDString],) -> Union[str, GDString]: ...
    def get_node_data(self,) -> Union[str, GDString]: ...
    def get_node_name(self,) -> Union[str, GDString]: ...
    def get_node_offset(self,) -> int: ...
    def get_node_type(self,) -> XMLParser.NodeType: ...
    def has_attribute(self,name: Union[str, GDString],) -> bool: ...
    def is_empty(self,) -> bool: ...
    def open(self,file: Union[str, GDString],) -> Error: ...
    def open_buffer(self,buffer: PoolByteArray,) -> Error: ...
    def read(self,) -> Error: ...
    def seek(self,position: int,) -> Error: ...
    def skip_section(self,) -> None: ...




class _Directory(Reference):


    def __init__(self): ...



    # Methods
    def change_dir(self,todir: Union[str, GDString],) -> Error: ...
    def copy(self,from_: Union[str, GDString],to: Union[str, GDString],) -> Error: ...
    def current_is_dir(self,) -> bool: ...
    def dir_exists(self,path: Union[str, GDString],) -> bool: ...
    def file_exists(self,path: Union[str, GDString],) -> bool: ...
    def get_current_dir(self,) -> Union[str, GDString]: ...
    def get_current_drive(self,) -> int: ...
    def get_drive(self,idx: int,) -> Union[str, GDString]: ...
    def get_drive_count(self,) -> int: ...
    def get_next(self,) -> Union[str, GDString]: ...
    def get_space_left(self,) -> int: ...
    def list_dir_begin(self,skip_navigational: bool=False,skip_hidden: bool=False,) -> Error: ...
    def list_dir_end(self,) -> None: ...
    def make_dir(self,path: Union[str, GDString],) -> Error: ...
    def make_dir_recursive(self,path: Union[str, GDString],) -> Error: ...
    def open(self,path: Union[str, GDString],) -> Error: ...
    def remove(self,path: Union[str, GDString],) -> Error: ...
    def rename(self,from_: Union[str, GDString],to: Union[str, GDString],) -> Error: ...




class _File(Reference):


    def __init__(self): ...


    # Constants
    COMPRESSION_DEFLATE: int
    COMPRESSION_FASTLZ: int
    COMPRESSION_GZIP: int
    COMPRESSION_ZSTD: int
    READ: int
    READ_WRITE: int
    WRITE: int
    WRITE_READ: int
    # Enums
    class CompressionMode(IntFlag):
        COMPRESSION_FASTLZ: int
        COMPRESSION_DEFLATE: int
        COMPRESSION_ZSTD: int
        COMPRESSION_GZIP: int
    class ModeFlags(IntFlag):
        READ: int
        WRITE: int
        READ_WRITE: int
        WRITE_READ: int

    # Methods
    def close(self,) -> None: ...
    def eof_reached(self,) -> bool: ...
    def file_exists(self,path: Union[str, GDString],) -> bool: ...
    def get_16(self,) -> int: ...
    def get_32(self,) -> int: ...
    def get_64(self,) -> int: ...
    def get_8(self,) -> int: ...
    def get_as_text(self,) -> Union[str, GDString]: ...
    def get_buffer(self,len: int,) -> PoolByteArray: ...
    def get_csv_line(self,delim: Union[str, GDString]=",",) -> PoolStringArray: ...
    def get_double(self,) -> float: ...
    def get_endian_swap(self,) -> bool: ...
    def get_error(self,) -> Error: ...
    def get_float(self,) -> float: ...
    def get_len(self,) -> int: ...
    def get_line(self,) -> Union[str, GDString]: ...
    def get_md5(self,path: Union[str, GDString],) -> Union[str, GDString]: ...
    def get_modified_time(self,file: Union[str, GDString],) -> int: ...
    def get_pascal_string(self,) -> Union[str, GDString]: ...
    def get_path(self,) -> Union[str, GDString]: ...
    def get_path_absolute(self,) -> Union[str, GDString]: ...
    def get_position(self,) -> int: ...
    def get_real(self,) -> float: ...
    def get_sha256(self,path: Union[str, GDString],) -> Union[str, GDString]: ...
    def get_var(self,allow_objects: bool=False,) -> object: ...
    def is_open(self,) -> bool: ...
    def open(self,path: Union[str, GDString],flags: int,) -> Error: ...
    def open_compressed(self,path: Union[str, GDString],mode_flags: int,compression_mode: int=0,) -> Error: ...
    def open_encrypted(self,path: Union[str, GDString],mode_flags: int,key: PoolByteArray,) -> Error: ...
    def open_encrypted_with_pass(self,path: Union[str, GDString],mode_flags: int,pass_: Union[str, GDString],) -> Error: ...
    def seek(self,position: int,) -> None: ...
    def seek_end(self,position: int=0,) -> None: ...
    def set_endian_swap(self,enable: bool,) -> None: ...
    def store_16(self,value: int,) -> None: ...
    def store_32(self,value: int,) -> None: ...
    def store_64(self,value: int,) -> None: ...
    def store_8(self,value: int,) -> None: ...
    def store_buffer(self,buffer: PoolByteArray,) -> None: ...
    def store_csv_line(self,values: PoolStringArray,delim: Union[str, GDString]=",",) -> None: ...
    def store_double(self,value: float,) -> None: ...
    def store_float(self,value: float,) -> None: ...
    def store_line(self,line: Union[str, GDString],) -> None: ...
    def store_pascal_string(self,string: Union[str, GDString],) -> None: ...
    def store_real(self,value: float,) -> None: ...
    def store_string(self,string: Union[str, GDString],) -> None: ...
    def store_var(self,value: object,full_objects: bool=False,) -> None: ...

    # Properties
    endian_swap: bool



class _Mutex(Reference):


    def __init__(self): ...



    # Methods
    def lock(self,) -> None: ...
    def try_lock(self,) -> Error: ...
    def unlock(self,) -> None: ...




class _Semaphore(Reference):


    def __init__(self): ...



    # Methods
    def post(self,) -> Error: ...
    def wait(self,) -> Error: ...




class _Thread(Reference):


    def __init__(self): ...


    # Constants
    PRIORITY_HIGH: int
    PRIORITY_LOW: int
    PRIORITY_NORMAL: int
    # Enums
    class Priority(IntFlag):
        PRIORITY_LOW: int
        PRIORITY_NORMAL: int
        PRIORITY_HIGH: int

    # Methods
    def get_id(self,) -> Union[str, GDString]: ...
    def is_active(self,) -> bool: ...
    def start(self,instance: Object,method: Union[str, GDString],userdata: object=None,priority: int=1,) -> Error: ...
    def wait_to_finish(self,) -> object: ...




class WebRTCPeerConnectionGDNative(WebRTCPeerConnection):


    def __init__(self): ...





    pass


class StreamPeerBuffer(StreamPeer):


    def __init__(self): ...



    # Methods
    def clear(self,) -> None: ...
    def duplicate(self,) -> StreamPeerBuffer: ...
    def get_data_array(self,) -> PoolByteArray: ...
    def get_position(self,) -> int: ...
    def get_size(self,) -> int: ...
    def resize(self,size: int,) -> None: ...
    def seek(self,position: int,) -> None: ...
    def set_data_array(self,data: PoolByteArray,) -> None: ...

    # Properties
    data_array: PoolByteArray



class StreamPeerGDNative(StreamPeer):


    def __init__(self): ...





    pass


class StreamPeerSSL(StreamPeer):


    def __init__(self): ...


    # Constants
    STATUS_CONNECTED: int
    STATUS_DISCONNECTED: int
    STATUS_ERROR: int
    STATUS_ERROR_HOSTNAME_MISMATCH: int
    STATUS_HANDSHAKING: int
    # Enums
    class Status(IntFlag):
        STATUS_DISCONNECTED: int
        STATUS_HANDSHAKING: int
        STATUS_CONNECTED: int
        STATUS_ERROR: int
        STATUS_ERROR_HOSTNAME_MISMATCH: int

    # Methods
    def accept_stream(self,stream: StreamPeer,private_key: CryptoKey,certificate: X509Certificate,chain: X509Certificate=None,) -> Error: ...
    def connect_to_stream(self,stream: StreamPeer,validate_certs: bool=False,for_hostname: Union[str, GDString]="",valid_certificate: X509Certificate=None,) -> Error: ...
    def disconnect_from_stream(self,) -> None: ...
    def get_status(self,) -> StreamPeerSSL.Status: ...
    def is_blocking_handshake_enabled(self,) -> bool: ...
    def poll(self,) -> None: ...
    def set_blocking_handshake_enabled(self,enabled: bool,) -> None: ...

    # Properties
    blocking_handshake: bool



class StreamPeerTCP(StreamPeer):


    def __init__(self): ...


    # Constants
    STATUS_CONNECTED: int
    STATUS_CONNECTING: int
    STATUS_ERROR: int
    STATUS_NONE: int
    # Enums
    class Status(IntFlag):
        STATUS_NONE: int
        STATUS_CONNECTING: int
        STATUS_CONNECTED: int
        STATUS_ERROR: int

    # Methods
    def connect_to_host(self,host: Union[str, GDString],port: int,) -> Error: ...
    def disconnect_from_host(self,) -> None: ...
    def get_connected_host(self,) -> Union[str, GDString]: ...
    def get_connected_port(self,) -> int: ...
    def get_status(self,) -> StreamPeerTCP.Status: ...
    def is_connected_to_host(self,) -> bool: ...
    def set_no_delay(self,enabled: bool,) -> None: ...




class EditorSpatialGizmo(SpatialGizmo):


    # Methods
    def add_collision_segments(self,segments: PoolVector3Array,) -> None: ...
    def add_collision_triangles(self,triangles: TriangleMesh,) -> None: ...
    def add_handles(self,handles: PoolVector3Array,material: Material,billboard: bool=False,secondary: bool=False,) -> None: ...
    def add_lines(self,lines: PoolVector3Array,material: Material,billboard: bool=False,modulate: Color=Color(1,1,1,1),) -> None: ...
    def add_mesh(self,mesh: ArrayMesh,billboard: bool=False,skeleton: SkinReference=None,material: Material=None,) -> None: ...
    def add_unscaled_billboard(self,material: Material,default_scale: float=1,modulate: Color=Color(1,1,1,1),) -> None: ...
    def clear(self,) -> None: ...
    def get_plugin(self,) -> EditorSpatialGizmoPlugin: ...
    def get_spatial_node(self,) -> Spatial: ...
    def set_hidden(self,hidden: bool,) -> None: ...
    def set_spatial_node(self,node: Node,) -> None: ...




class EditorImportPlugin(ResourceImporter):




    pass


class Animation(Resource):


    def __init__(self): ...


    # Constants
    INTERPOLATION_CUBIC: int
    INTERPOLATION_LINEAR: int
    INTERPOLATION_NEAREST: int
    TYPE_ANIMATION: int
    TYPE_AUDIO: int
    TYPE_BEZIER: int
    TYPE_METHOD: int
    TYPE_TRANSFORM: int
    TYPE_VALUE: int
    UPDATE_CAPTURE: int
    UPDATE_CONTINUOUS: int
    UPDATE_DISCRETE: int
    UPDATE_TRIGGER: int
    # Enums
    class TrackType(IntFlag):
        TYPE_VALUE: int
        TYPE_TRANSFORM: int
        TYPE_METHOD: int
        TYPE_BEZIER: int
        TYPE_AUDIO: int
        TYPE_ANIMATION: int
    class UpdateMode(IntFlag):
        UPDATE_CONTINUOUS: int
        UPDATE_DISCRETE: int
        UPDATE_TRIGGER: int
        UPDATE_CAPTURE: int
    class InterpolationType(IntFlag):
        INTERPOLATION_NEAREST: int
        INTERPOLATION_LINEAR: int
        INTERPOLATION_CUBIC: int

    # Methods
    def add_track(self,type_: int,at_position: int=-1,) -> int: ...
    def animation_track_get_key_animation(self,track_idx: int,key_idx: int,) -> Union[str, GDString]: ...
    def animation_track_insert_key(self,track_idx: int,time: float,animation: Union[str, GDString],) -> int: ...
    def animation_track_set_key_animation(self,track_idx: int,key_idx: int,animation: Union[str, GDString],) -> None: ...
    def audio_track_get_key_end_offset(self,track_idx: int,key_idx: int,) -> float: ...
    def audio_track_get_key_start_offset(self,track_idx: int,key_idx: int,) -> float: ...
    def audio_track_get_key_stream(self,track_idx: int,key_idx: int,) -> Resource: ...
    def audio_track_insert_key(self,track_idx: int,time: float,stream: Resource,start_offset: float=0,end_offset: float=0,) -> int: ...
    def audio_track_set_key_end_offset(self,track_idx: int,key_idx: int,offset: float,) -> None: ...
    def audio_track_set_key_start_offset(self,track_idx: int,key_idx: int,offset: float,) -> None: ...
    def audio_track_set_key_stream(self,track_idx: int,key_idx: int,stream: Resource,) -> None: ...
    def bezier_track_get_key_in_handle(self,track_idx: int,key_idx: int,) -> Vector2: ...
    def bezier_track_get_key_out_handle(self,track_idx: int,key_idx: int,) -> Vector2: ...
    def bezier_track_get_key_value(self,track_idx: int,key_idx: int,) -> float: ...
    def bezier_track_insert_key(self,track_idx: int,time: float,value: float,in_handle: Vector2=Vector2(0, 0),out_handle: Vector2=Vector2(0, 0),) -> int: ...
    def bezier_track_interpolate(self,track_idx: int,time: float,) -> float: ...
    def bezier_track_set_key_in_handle(self,track_idx: int,key_idx: int,in_handle: Vector2,) -> None: ...
    def bezier_track_set_key_out_handle(self,track_idx: int,key_idx: int,out_handle: Vector2,) -> None: ...
    def bezier_track_set_key_value(self,track_idx: int,key_idx: int,value: float,) -> None: ...
    def clear(self,) -> None: ...
    def copy_track(self,track_idx: int,to_animation: Animation,) -> None: ...
    def find_track(self,path: Union[str, NodePath],) -> int: ...
    def get_length(self,) -> float: ...
    def get_step(self,) -> float: ...
    def get_track_count(self,) -> int: ...
    def has_loop(self,) -> bool: ...
    def method_track_get_key_indices(self,track_idx: int,time_sec: float,delta: float,) -> PoolIntArray: ...
    def method_track_get_name(self,track_idx: int,key_idx: int,) -> Union[str, GDString]: ...
    def method_track_get_params(self,track_idx: int,key_idx: int,) -> Array: ...
    def remove_track(self,track_idx: int,) -> None: ...
    def set_length(self,time_sec: float,) -> None: ...
    def set_loop(self,enabled: bool,) -> None: ...
    def set_step(self,size_sec: float,) -> None: ...
    def track_find_key(self,track_idx: int,time: float,exact: bool=False,) -> int: ...
    def track_get_interpolation_loop_wrap(self,track_idx: int,) -> bool: ...
    def track_get_interpolation_type(self,track_idx: int,) -> Animation.InterpolationType: ...
    def track_get_key_count(self,track_idx: int,) -> int: ...
    def track_get_key_time(self,track_idx: int,key_idx: int,) -> float: ...
    def track_get_key_transition(self,track_idx: int,key_idx: int,) -> float: ...
    def track_get_key_value(self,track_idx: int,key_idx: int,) -> object: ...
    def track_get_path(self,track_idx: int,) -> Union[str, NodePath]: ...
    def track_get_type(self,track_idx: int,) -> Animation.TrackType: ...
    def track_insert_key(self,track_idx: int,time: float,key: object,transition: float=1,) -> None: ...
    def track_is_enabled(self,track_idx: int,) -> bool: ...
    def track_is_imported(self,track_idx: int,) -> bool: ...
    def track_move_down(self,track_idx: int,) -> None: ...
    def track_move_to(self,track_idx: int,to_idx: int,) -> None: ...
    def track_move_up(self,track_idx: int,) -> None: ...
    def track_remove_key(self,track_idx: int,key_idx: int,) -> None: ...
    def track_remove_key_at_position(self,track_idx: int,position: float,) -> None: ...
    def track_set_enabled(self,track_idx: int,enabled: bool,) -> None: ...
    def track_set_imported(self,track_idx: int,imported: bool,) -> None: ...
    def track_set_interpolation_loop_wrap(self,track_idx: int,interpolation: bool,) -> None: ...
    def track_set_interpolation_type(self,track_idx: int,interpolation: int,) -> None: ...
    def track_set_key_time(self,track_idx: int,key_idx: int,time: float,) -> None: ...
    def track_set_key_transition(self,track_idx: int,key_idx: int,transition: float,) -> None: ...
    def track_set_key_value(self,track_idx: int,key: int,value: object,) -> None: ...
    def track_set_path(self,track_idx: int,path: Union[str, NodePath],) -> None: ...
    def track_swap(self,track_idx: int,with_idx: int,) -> None: ...
    def transform_track_insert_key(self,track_idx: int,time: float,location: Vector3,rotation: Quat,scale: Vector3,) -> int: ...
    def transform_track_interpolate(self,track_idx: int,time_sec: float,) -> Array: ...
    def value_track_get_key_indices(self,track_idx: int,time_sec: float,delta: float,) -> PoolIntArray: ...
    def value_track_get_update_mode(self,track_idx: int,) -> Animation.UpdateMode: ...
    def value_track_set_update_mode(self,track_idx: int,mode: int,) -> None: ...

    # Properties
    length: float
    loop: bool
    step: float



class AnimationNode(Resource):


    def __init__(self): ...


    # Constants
    FILTER_BLEND: int
    FILTER_IGNORE: int
    FILTER_PASS: int
    FILTER_STOP: int
    # Enums
    class FilterAction(IntFlag):
        FILTER_IGNORE: int
        FILTER_PASS: int
        FILTER_STOP: int
        FILTER_BLEND: int

    # Methods
    def add_input(self,name: Union[str, GDString],) -> None: ...
    def blend_animation(self,animation: Union[str, GDString],time: float,delta: float,seeked: bool,blend: float,) -> None: ...
    def blend_input(self,input_index: int,time: float,seek: bool,blend: float,filter: int=0,optimize: bool=True,) -> float: ...
    def blend_node(self,name: Union[str, GDString],node: AnimationNode,time: float,seek: bool,blend: float,filter: int=0,optimize: bool=True,) -> float: ...
    def get_input_count(self,) -> int: ...
    def get_input_name(self,input: int,) -> Union[str, GDString]: ...
    def get_parameter(self,name: Union[str, GDString],) -> object: ...
    def is_filter_enabled(self,) -> bool: ...
    def is_path_filtered(self,path: Union[str, NodePath],) -> bool: ...
    def remove_input(self,index: int,) -> None: ...
    def set_filter_enabled(self,enable: bool,) -> None: ...
    def set_filter_path(self,path: Union[str, NodePath],enable: bool,) -> None: ...
    def set_parameter(self,name: Union[str, GDString],value: object,) -> None: ...

    # Properties
    filter_enabled: bool
    filters: Array



class AnimationNodeStateMachinePlayback(Resource):


    def __init__(self): ...



    # Methods
    def get_current_node(self,) -> Union[str, GDString]: ...
    def get_travel_path(self,) -> PoolStringArray: ...
    def is_playing(self,) -> bool: ...
    def start(self,node: Union[str, GDString],) -> None: ...
    def stop(self,) -> None: ...
    def travel(self,to_node: Union[str, GDString],) -> None: ...




class AnimationNodeStateMachineTransition(Resource):


    def __init__(self): ...


    # Constants
    SWITCH_MODE_AT_END: int
    SWITCH_MODE_IMMEDIATE: int
    SWITCH_MODE_SYNC: int
    # Enums
    class SwitchMode(IntFlag):
        SWITCH_MODE_IMMEDIATE: int
        SWITCH_MODE_SYNC: int
        SWITCH_MODE_AT_END: int

    # Methods
    def get_advance_condition(self,) -> Union[str, GDString]: ...
    def get_priority(self,) -> int: ...
    def get_switch_mode(self,) -> AnimationNodeStateMachineTransition.SwitchMode: ...
    def get_xfade_time(self,) -> float: ...
    def has_auto_advance(self,) -> bool: ...
    def is_disabled(self,) -> bool: ...
    def set_advance_condition(self,name: Union[str, GDString],) -> None: ...
    def set_auto_advance(self,auto_advance: bool,) -> None: ...
    def set_disabled(self,disabled: bool,) -> None: ...
    def set_priority(self,priority: int,) -> None: ...
    def set_switch_mode(self,mode: int,) -> None: ...
    def set_xfade_time(self,secs: float,) -> None: ...

    # Properties
    advance_condition: Union[str, GDString]
    auto_advance: bool
    disabled: bool
    priority: int
    switch_mode: int
    xfade_time: float



class AudioBusLayout(Resource):


    def __init__(self): ...





    pass


class AudioEffect(Resource):




    pass


class AudioStream(Resource):


    # Methods
    def get_length(self,) -> float: ...




class BakedLightmapData(Resource):


    def __init__(self): ...



    # Methods
    def add_user(self,path: Union[str, NodePath],lightmap: Texture,instance: int,) -> None: ...
    def clear_users(self,) -> None: ...
    def get_bounds(self,) -> AABB: ...
    def get_cell_space_transform(self,) -> Transform: ...
    def get_cell_subdiv(self,) -> int: ...
    def get_energy(self,) -> float: ...
    def get_octree(self,) -> PoolByteArray: ...
    def get_user_count(self,) -> int: ...
    def get_user_lightmap(self,user_idx: int,) -> Texture: ...
    def get_user_path(self,user_idx: int,) -> Union[str, NodePath]: ...
    def set_bounds(self,bounds: AABB,) -> None: ...
    def set_cell_space_transform(self,xform: Transform,) -> None: ...
    def set_cell_subdiv(self,cell_subdiv: int,) -> None: ...
    def set_energy(self,energy: float,) -> None: ...
    def set_octree(self,octree: PoolByteArray,) -> None: ...

    # Properties
    bounds: AABB
    cell_space_transform: Transform
    cell_subdiv: int
    energy: float
    octree: PoolByteArray
    user_data: Array



class BitMap(Resource):


    def __init__(self): ...



    # Methods
    def create(self,size: Vector2,) -> None: ...
    def create_from_image_alpha(self,image: Image,threshold: float=0.1,) -> None: ...
    def get_bit(self,position: Vector2,) -> bool: ...
    def get_size(self,) -> Vector2: ...
    def get_true_bit_count(self,) -> int: ...
    def grow_mask(self,pixels: int,rect: Rect2,) -> None: ...
    def opaque_to_polygons(self,rect: Rect2,epsilon: float=2,) -> Array: ...
    def set_bit(self,position: Vector2,bit: bool,) -> None: ...
    def set_bit_rect(self,rect: Rect2,bit: bool,) -> None: ...

    # Properties
    data: Dictionary



class ButtonGroup(Resource):


    def __init__(self): ...



    # Methods
    def get_buttons(self,) -> Array: ...
    def get_pressed_button(self,) -> BaseButton: ...




class CryptoKey(Resource):


    def __init__(self): ...



    # Methods
    def load(self,path: Union[str, GDString],) -> Error: ...
    def save(self,path: Union[str, GDString],) -> Error: ...




class CubeMap(Resource):


    def __init__(self): ...


    # Constants
    FLAGS_DEFAULT: int
    FLAG_FILTER: int
    FLAG_MIPMAPS: int
    FLAG_REPEAT: int
    SIDE_BACK: int
    SIDE_BOTTOM: int
    SIDE_FRONT: int
    SIDE_LEFT: int
    SIDE_RIGHT: int
    SIDE_TOP: int
    STORAGE_COMPRESS_LOSSLESS: int
    STORAGE_COMPRESS_LOSSY: int
    STORAGE_RAW: int
    # Enums
    class Flags(IntFlag):
        FLAG_MIPMAPS: int
        FLAG_REPEAT: int
        FLAG_FILTER: int
        FLAGS_DEFAULT: int
    class Side(IntFlag):
        SIDE_LEFT: int
        SIDE_RIGHT: int
        SIDE_BOTTOM: int
        SIDE_TOP: int
        SIDE_FRONT: int
        SIDE_BACK: int
    class Storage(IntFlag):
        STORAGE_RAW: int
        STORAGE_COMPRESS_LOSSY: int
        STORAGE_COMPRESS_LOSSLESS: int

    # Methods
    def get_flags(self,) -> int: ...
    def get_height(self,) -> int: ...
    def get_lossy_storage_quality(self,) -> float: ...
    def get_side(self,side: int,) -> Image: ...
    def get_storage(self,) -> CubeMap.Storage: ...
    def get_width(self,) -> int: ...
    def set_flags(self,flags: int,) -> None: ...
    def set_lossy_storage_quality(self,quality: float,) -> None: ...
    def set_side(self,side: int,image: Image,) -> None: ...
    def set_storage(self,mode: int,) -> None: ...

    # Properties
    flags: int
    lossy_storage_quality: float
    storage_mode: int



class Curve(Resource):


    def __init__(self): ...


    # Constants
    TANGENT_FREE: int
    TANGENT_LINEAR: int
    TANGENT_MODE_COUNT: int
    # Enums
    class TangentMode(IntFlag):
        TANGENT_FREE: int
        TANGENT_LINEAR: int
        TANGENT_MODE_COUNT: int

    # Methods
    def add_point(self,position: Vector2,left_tangent: float=0,right_tangent: float=0,left_mode: int=0,right_mode: int=0,) -> int: ...
    def bake(self,) -> None: ...
    def clean_dupes(self,) -> None: ...
    def clear_points(self,) -> None: ...
    def get_bake_resolution(self,) -> int: ...
    def get_max_value(self,) -> float: ...
    def get_min_value(self,) -> float: ...
    def get_point_count(self,) -> int: ...
    def get_point_left_mode(self,index: int,) -> Curve.TangentMode: ...
    def get_point_left_tangent(self,index: int,) -> float: ...
    def get_point_position(self,index: int,) -> Vector2: ...
    def get_point_right_mode(self,index: int,) -> Curve.TangentMode: ...
    def get_point_right_tangent(self,index: int,) -> float: ...
    def interpolate(self,offset: float,) -> float: ...
    def interpolate_baked(self,offset: float,) -> float: ...
    def remove_point(self,index: int,) -> None: ...
    def set_bake_resolution(self,resolution: int,) -> None: ...
    def set_max_value(self,max: float,) -> None: ...
    def set_min_value(self,min: float,) -> None: ...
    def set_point_left_mode(self,index: int,mode: int,) -> None: ...
    def set_point_left_tangent(self,index: int,tangent: float,) -> None: ...
    def set_point_offset(self,index: int,offset: float,) -> int: ...
    def set_point_right_mode(self,index: int,mode: int,) -> None: ...
    def set_point_right_tangent(self,index: int,tangent: float,) -> None: ...
    def set_point_value(self,index: int,y: float,) -> None: ...

    # Properties
    _data: int
    bake_resolution: int
    max_value: float
    min_value: float



class Curve2D(Resource):


    def __init__(self): ...



    # Methods
    def add_point(self,position: Vector2,in_: Vector2=Vector2(0, 0),out: Vector2=Vector2(0, 0),at_position: int=-1,) -> None: ...
    def clear_points(self,) -> None: ...
    def get_bake_interval(self,) -> float: ...
    def get_baked_length(self,) -> float: ...
    def get_baked_points(self,) -> PoolVector2Array: ...
    def get_closest_offset(self,to_point: Vector2,) -> float: ...
    def get_closest_point(self,to_point: Vector2,) -> Vector2: ...
    def get_point_count(self,) -> int: ...
    def get_point_in(self,idx: int,) -> Vector2: ...
    def get_point_out(self,idx: int,) -> Vector2: ...
    def get_point_position(self,idx: int,) -> Vector2: ...
    def interpolate(self,idx: int,t: float,) -> Vector2: ...
    def interpolate_baked(self,offset: float,cubic: bool=False,) -> Vector2: ...
    def interpolatef(self,fofs: float,) -> Vector2: ...
    def remove_point(self,idx: int,) -> None: ...
    def set_bake_interval(self,distance: float,) -> None: ...
    def set_point_in(self,idx: int,position: Vector2,) -> None: ...
    def set_point_out(self,idx: int,position: Vector2,) -> None: ...
    def set_point_position(self,idx: int,position: Vector2,) -> None: ...
    def tessellate(self,max_stages: int=5,tolerance_degrees: float=4,) -> PoolVector2Array: ...

    # Properties
    _data: int
    bake_interval: float



class Curve3D(Resource):


    def __init__(self): ...



    # Methods
    def add_point(self,position: Vector3,in_: Vector3=Vector3(0, 0, 0),out: Vector3=Vector3(0, 0, 0),at_position: int=-1,) -> None: ...
    def clear_points(self,) -> None: ...
    def get_bake_interval(self,) -> float: ...
    def get_baked_length(self,) -> float: ...
    def get_baked_points(self,) -> PoolVector3Array: ...
    def get_baked_tilts(self,) -> PoolRealArray: ...
    def get_baked_up_vectors(self,) -> PoolVector3Array: ...
    def get_closest_offset(self,to_point: Vector3,) -> float: ...
    def get_closest_point(self,to_point: Vector3,) -> Vector3: ...
    def get_point_count(self,) -> int: ...
    def get_point_in(self,idx: int,) -> Vector3: ...
    def get_point_out(self,idx: int,) -> Vector3: ...
    def get_point_position(self,idx: int,) -> Vector3: ...
    def get_point_tilt(self,idx: int,) -> float: ...
    def interpolate(self,idx: int,t: float,) -> Vector3: ...
    def interpolate_baked(self,offset: float,cubic: bool=False,) -> Vector3: ...
    def interpolate_baked_up_vector(self,offset: float,apply_tilt: bool=False,) -> Vector3: ...
    def interpolatef(self,fofs: float,) -> Vector3: ...
    def is_up_vector_enabled(self,) -> bool: ...
    def remove_point(self,idx: int,) -> None: ...
    def set_bake_interval(self,distance: float,) -> None: ...
    def set_point_in(self,idx: int,position: Vector3,) -> None: ...
    def set_point_out(self,idx: int,position: Vector3,) -> None: ...
    def set_point_position(self,idx: int,position: Vector3,) -> None: ...
    def set_point_tilt(self,idx: int,tilt: float,) -> None: ...
    def set_up_vector_enabled(self,enable: bool,) -> None: ...
    def tessellate(self,max_stages: int=5,tolerance_degrees: float=4,) -> PoolVector3Array: ...

    # Properties
    _data: int
    bake_interval: float
    up_vector_enabled: bool



class DynamicFontData(Resource):


    def __init__(self): ...


    # Constants
    HINTING_LIGHT: int
    HINTING_NONE: int
    HINTING_NORMAL: int
    # Enums
    class Hinting(IntFlag):
        HINTING_NONE: int
        HINTING_LIGHT: int
        HINTING_NORMAL: int

    # Methods
    def get_font_path(self,) -> Union[str, GDString]: ...
    def get_hinting(self,) -> DynamicFontData.Hinting: ...
    def is_antialiased(self,) -> bool: ...
    def set_antialiased(self,antialiased: bool,) -> None: ...
    def set_font_path(self,path: Union[str, GDString],) -> None: ...
    def set_hinting(self,mode: int,) -> None: ...

    # Properties
    antialiased: bool
    font_path: Union[str, GDString]
    hinting: int



class EditorSettings(Resource):

    # Constants
    NOTIFICATION_EDITOR_SETTINGS_CHANGED: int

    # Methods
    def add_property_info(self,info: Dictionary,) -> None: ...
    def erase(self,property: Union[str, GDString],) -> None: ...
    def get_favorites(self,) -> PoolStringArray: ...
    def get_project_metadata(self,section: Union[str, GDString],key: Union[str, GDString],default: object=None,) -> object: ...
    def get_project_settings_dir(self,) -> Union[str, GDString]: ...
    def get_recent_dirs(self,) -> PoolStringArray: ...
    def get_setting(self,name: Union[str, GDString],) -> object: ...
    def get_settings_dir(self,) -> Union[str, GDString]: ...
    def has_setting(self,name: Union[str, GDString],) -> bool: ...
    def property_can_revert(self,name: Union[str, GDString],) -> bool: ...
    def property_get_revert(self,name: Union[str, GDString],) -> object: ...
    def set_favorites(self,dirs: PoolStringArray,) -> None: ...
    def set_initial_value(self,name: Union[str, GDString],value: object,update_current: bool,) -> None: ...
    def set_project_metadata(self,section: Union[str, GDString],key: Union[str, GDString],data: object,) -> None: ...
    def set_recent_dirs(self,dirs: PoolStringArray,) -> None: ...
    def set_setting(self,name: Union[str, GDString],value: object,) -> None: ...




class EditorSpatialGizmoPlugin(Resource):


    # Methods
    def add_material(self,name: Union[str, GDString],material: SpatialMaterial,) -> None: ...
    def create_handle_material(self,name: Union[str, GDString],billboard: bool=False,) -> None: ...
    def create_icon_material(self,name: Union[str, GDString],texture: Texture,on_top: bool=False,color: Color=Color(1,1,1,1),) -> None: ...
    def create_material(self,name: Union[str, GDString],color: Color,billboard: bool=False,on_top: bool=False,use_vertex_color: bool=False,) -> None: ...
    def get_material(self,name: Union[str, GDString],gizmo: EditorSpatialGizmo,) -> SpatialMaterial: ...




class Environment(Resource):


    def __init__(self): ...


    # Constants
    BG_CAMERA_FEED: int
    BG_CANVAS: int
    BG_CLEAR_COLOR: int
    BG_COLOR: int
    BG_COLOR_SKY: int
    BG_KEEP: int
    BG_MAX: int
    BG_SKY: int
    DOF_BLUR_QUALITY_HIGH: int
    DOF_BLUR_QUALITY_LOW: int
    DOF_BLUR_QUALITY_MEDIUM: int
    GLOW_BLEND_MODE_ADDITIVE: int
    GLOW_BLEND_MODE_REPLACE: int
    GLOW_BLEND_MODE_SCREEN: int
    GLOW_BLEND_MODE_SOFTLIGHT: int
    SSAO_BLUR_1x1: int
    SSAO_BLUR_2x2: int
    SSAO_BLUR_3x3: int
    SSAO_BLUR_DISABLED: int
    SSAO_QUALITY_HIGH: int
    SSAO_QUALITY_LOW: int
    SSAO_QUALITY_MEDIUM: int
    TONE_MAPPER_ACES: int
    TONE_MAPPER_FILMIC: int
    TONE_MAPPER_LINEAR: int
    TONE_MAPPER_REINHARDT: int
    # Enums
    class SSAOBlur(IntFlag):
        SSAO_BLUR_DISABLED: int
        SSAO_BLUR_1x1: int
        SSAO_BLUR_2x2: int
        SSAO_BLUR_3x3: int
    class ToneMapper(IntFlag):
        TONE_MAPPER_LINEAR: int
        TONE_MAPPER_REINHARDT: int
        TONE_MAPPER_FILMIC: int
        TONE_MAPPER_ACES: int
    class GlowBlendMode(IntFlag):
        GLOW_BLEND_MODE_ADDITIVE: int
        GLOW_BLEND_MODE_SCREEN: int
        GLOW_BLEND_MODE_SOFTLIGHT: int
        GLOW_BLEND_MODE_REPLACE: int
    class BGMode(IntFlag):
        BG_CLEAR_COLOR: int
        BG_COLOR: int
        BG_SKY: int
        BG_COLOR_SKY: int
        BG_CANVAS: int
        BG_KEEP: int
        BG_CAMERA_FEED: int
        BG_MAX: int
    class SSAOQuality(IntFlag):
        SSAO_QUALITY_LOW: int
        SSAO_QUALITY_MEDIUM: int
        SSAO_QUALITY_HIGH: int
    class DOFBlurQuality(IntFlag):
        DOF_BLUR_QUALITY_LOW: int
        DOF_BLUR_QUALITY_MEDIUM: int
        DOF_BLUR_QUALITY_HIGH: int

    # Methods
    def get_adjustment_brightness(self,) -> float: ...
    def get_adjustment_color_correction(self,) -> Texture: ...
    def get_adjustment_contrast(self,) -> float: ...
    def get_adjustment_saturation(self,) -> float: ...
    def get_ambient_light_color(self,) -> Color: ...
    def get_ambient_light_energy(self,) -> float: ...
    def get_ambient_light_sky_contribution(self,) -> float: ...
    def get_background(self,) -> Environment.BGMode: ...
    def get_bg_color(self,) -> Color: ...
    def get_bg_energy(self,) -> float: ...
    def get_camera_feed_id(self,) -> int: ...
    def get_canvas_max_layer(self,) -> int: ...
    def get_dof_blur_far_amount(self,) -> float: ...
    def get_dof_blur_far_distance(self,) -> float: ...
    def get_dof_blur_far_quality(self,) -> Environment.DOFBlurQuality: ...
    def get_dof_blur_far_transition(self,) -> float: ...
    def get_dof_blur_near_amount(self,) -> float: ...
    def get_dof_blur_near_distance(self,) -> float: ...
    def get_dof_blur_near_quality(self,) -> Environment.DOFBlurQuality: ...
    def get_dof_blur_near_transition(self,) -> float: ...
    def get_fog_color(self,) -> Color: ...
    def get_fog_depth_begin(self,) -> float: ...
    def get_fog_depth_curve(self,) -> float: ...
    def get_fog_depth_end(self,) -> float: ...
    def get_fog_height_curve(self,) -> float: ...
    def get_fog_height_max(self,) -> float: ...
    def get_fog_height_min(self,) -> float: ...
    def get_fog_sun_amount(self,) -> float: ...
    def get_fog_sun_color(self,) -> Color: ...
    def get_fog_transmit_curve(self,) -> float: ...
    def get_glow_blend_mode(self,) -> Environment.GlowBlendMode: ...
    def get_glow_bloom(self,) -> float: ...
    def get_glow_hdr_bleed_scale(self,) -> float: ...
    def get_glow_hdr_bleed_threshold(self,) -> float: ...
    def get_glow_hdr_luminance_cap(self,) -> float: ...
    def get_glow_intensity(self,) -> float: ...
    def get_glow_strength(self,) -> float: ...
    def get_sky(self,) -> Sky: ...
    def get_sky_custom_fov(self,) -> float: ...
    def get_sky_orientation(self,) -> Basis: ...
    def get_sky_rotation(self,) -> Vector3: ...
    def get_sky_rotation_degrees(self,) -> Vector3: ...
    def get_ssao_ao_channel_affect(self,) -> float: ...
    def get_ssao_bias(self,) -> float: ...
    def get_ssao_blur(self,) -> Environment.SSAOBlur: ...
    def get_ssao_color(self,) -> Color: ...
    def get_ssao_direct_light_affect(self,) -> float: ...
    def get_ssao_edge_sharpness(self,) -> float: ...
    def get_ssao_intensity(self,) -> float: ...
    def get_ssao_intensity2(self,) -> float: ...
    def get_ssao_quality(self,) -> Environment.SSAOQuality: ...
    def get_ssao_radius(self,) -> float: ...
    def get_ssao_radius2(self,) -> float: ...
    def get_ssr_depth_tolerance(self,) -> float: ...
    def get_ssr_fade_in(self,) -> float: ...
    def get_ssr_fade_out(self,) -> float: ...
    def get_ssr_max_steps(self,) -> int: ...
    def get_tonemap_auto_exposure(self,) -> bool: ...
    def get_tonemap_auto_exposure_grey(self,) -> float: ...
    def get_tonemap_auto_exposure_max(self,) -> float: ...
    def get_tonemap_auto_exposure_min(self,) -> float: ...
    def get_tonemap_auto_exposure_speed(self,) -> float: ...
    def get_tonemap_exposure(self,) -> float: ...
    def get_tonemap_white(self,) -> float: ...
    def get_tonemapper(self,) -> Environment.ToneMapper: ...
    def is_adjustment_enabled(self,) -> bool: ...
    def is_dof_blur_far_enabled(self,) -> bool: ...
    def is_dof_blur_near_enabled(self,) -> bool: ...
    def is_fog_depth_enabled(self,) -> bool: ...
    def is_fog_enabled(self,) -> bool: ...
    def is_fog_height_enabled(self,) -> bool: ...
    def is_fog_transmit_enabled(self,) -> bool: ...
    def is_glow_bicubic_upscale_enabled(self,) -> bool: ...
    def is_glow_enabled(self,) -> bool: ...
    def is_glow_level_enabled(self,idx: int,) -> bool: ...
    def is_ssao_enabled(self,) -> bool: ...
    def is_ssr_enabled(self,) -> bool: ...
    def is_ssr_rough(self,) -> bool: ...
    def set_adjustment_brightness(self,brightness: float,) -> None: ...
    def set_adjustment_color_correction(self,color_correction: Texture,) -> None: ...
    def set_adjustment_contrast(self,contrast: float,) -> None: ...
    def set_adjustment_enable(self,enabled: bool,) -> None: ...
    def set_adjustment_saturation(self,saturation: float,) -> None: ...
    def set_ambient_light_color(self,color: Color,) -> None: ...
    def set_ambient_light_energy(self,energy: float,) -> None: ...
    def set_ambient_light_sky_contribution(self,energy: float,) -> None: ...
    def set_background(self,mode: int,) -> None: ...
    def set_bg_color(self,color: Color,) -> None: ...
    def set_bg_energy(self,energy: float,) -> None: ...
    def set_camera_feed_id(self,camera_feed_id: int,) -> None: ...
    def set_canvas_max_layer(self,layer: int,) -> None: ...
    def set_dof_blur_far_amount(self,intensity: float,) -> None: ...
    def set_dof_blur_far_distance(self,intensity: float,) -> None: ...
    def set_dof_blur_far_enabled(self,enabled: bool,) -> None: ...
    def set_dof_blur_far_quality(self,intensity: int,) -> None: ...
    def set_dof_blur_far_transition(self,intensity: float,) -> None: ...
    def set_dof_blur_near_amount(self,intensity: float,) -> None: ...
    def set_dof_blur_near_distance(self,intensity: float,) -> None: ...
    def set_dof_blur_near_enabled(self,enabled: bool,) -> None: ...
    def set_dof_blur_near_quality(self,level: int,) -> None: ...
    def set_dof_blur_near_transition(self,intensity: float,) -> None: ...
    def set_fog_color(self,color: Color,) -> None: ...
    def set_fog_depth_begin(self,distance: float,) -> None: ...
    def set_fog_depth_curve(self,curve: float,) -> None: ...
    def set_fog_depth_enabled(self,enabled: bool,) -> None: ...
    def set_fog_depth_end(self,distance: float,) -> None: ...
    def set_fog_enabled(self,enabled: bool,) -> None: ...
    def set_fog_height_curve(self,curve: float,) -> None: ...
    def set_fog_height_enabled(self,enabled: bool,) -> None: ...
    def set_fog_height_max(self,height: float,) -> None: ...
    def set_fog_height_min(self,height: float,) -> None: ...
    def set_fog_sun_amount(self,amount: float,) -> None: ...
    def set_fog_sun_color(self,color: Color,) -> None: ...
    def set_fog_transmit_curve(self,curve: float,) -> None: ...
    def set_fog_transmit_enabled(self,enabled: bool,) -> None: ...
    def set_glow_bicubic_upscale(self,enabled: bool,) -> None: ...
    def set_glow_blend_mode(self,mode: int,) -> None: ...
    def set_glow_bloom(self,amount: float,) -> None: ...
    def set_glow_enabled(self,enabled: bool,) -> None: ...
    def set_glow_hdr_bleed_scale(self,scale: float,) -> None: ...
    def set_glow_hdr_bleed_threshold(self,threshold: float,) -> None: ...
    def set_glow_hdr_luminance_cap(self,amount: float,) -> None: ...
    def set_glow_intensity(self,intensity: float,) -> None: ...
    def set_glow_level(self,idx: int,enabled: bool,) -> None: ...
    def set_glow_strength(self,strength: float,) -> None: ...
    def set_sky(self,sky: Sky,) -> None: ...
    def set_sky_custom_fov(self,scale: float,) -> None: ...
    def set_sky_orientation(self,orientation: Basis,) -> None: ...
    def set_sky_rotation(self,euler_radians: Vector3,) -> None: ...
    def set_sky_rotation_degrees(self,euler_degrees: Vector3,) -> None: ...
    def set_ssao_ao_channel_affect(self,amount: float,) -> None: ...
    def set_ssao_bias(self,bias: float,) -> None: ...
    def set_ssao_blur(self,mode: int,) -> None: ...
    def set_ssao_color(self,color: Color,) -> None: ...
    def set_ssao_direct_light_affect(self,amount: float,) -> None: ...
    def set_ssao_edge_sharpness(self,edge_sharpness: float,) -> None: ...
    def set_ssao_enabled(self,enabled: bool,) -> None: ...
    def set_ssao_intensity(self,intensity: float,) -> None: ...
    def set_ssao_intensity2(self,intensity: float,) -> None: ...
    def set_ssao_quality(self,quality: int,) -> None: ...
    def set_ssao_radius(self,radius: float,) -> None: ...
    def set_ssao_radius2(self,radius: float,) -> None: ...
    def set_ssr_depth_tolerance(self,depth_tolerance: float,) -> None: ...
    def set_ssr_enabled(self,enabled: bool,) -> None: ...
    def set_ssr_fade_in(self,fade_in: float,) -> None: ...
    def set_ssr_fade_out(self,fade_out: float,) -> None: ...
    def set_ssr_max_steps(self,max_steps: int,) -> None: ...
    def set_ssr_rough(self,rough: bool,) -> None: ...
    def set_tonemap_auto_exposure(self,auto_exposure: bool,) -> None: ...
    def set_tonemap_auto_exposure_grey(self,exposure_grey: float,) -> None: ...
    def set_tonemap_auto_exposure_max(self,exposure_max: float,) -> None: ...
    def set_tonemap_auto_exposure_min(self,exposure_min: float,) -> None: ...
    def set_tonemap_auto_exposure_speed(self,exposure_speed: float,) -> None: ...
    def set_tonemap_exposure(self,exposure: float,) -> None: ...
    def set_tonemap_white(self,white: float,) -> None: ...
    def set_tonemapper(self,mode: int,) -> None: ...

    # Properties
    adjustment_brightness: float
    adjustment_color_correction: Texture
    adjustment_contrast: float
    adjustment_enabled: bool
    adjustment_saturation: float
    ambient_light_color: Color
    ambient_light_energy: float
    ambient_light_sky_contribution: float
    auto_exposure_enabled: bool
    auto_exposure_max_luma: float
    auto_exposure_min_luma: float
    auto_exposure_scale: float
    auto_exposure_speed: float
    background_camera_feed_id: int
    background_canvas_max_layer: int
    background_color: Color
    background_energy: float
    background_mode: int
    background_sky: Sky
    background_sky_custom_fov: float
    background_sky_orientation: Basis
    background_sky_rotation: Vector3
    background_sky_rotation_degrees: Vector3
    dof_blur_far_amount: float
    dof_blur_far_distance: float
    dof_blur_far_enabled: bool
    dof_blur_far_quality: int
    dof_blur_far_transition: float
    dof_blur_near_amount: float
    dof_blur_near_distance: float
    dof_blur_near_enabled: bool
    dof_blur_near_quality: int
    dof_blur_near_transition: float
    fog_color: Color
    fog_depth_begin: float
    fog_depth_curve: float
    fog_depth_enabled: bool
    fog_depth_end: float
    fog_enabled: bool
    fog_height_curve: float
    fog_height_enabled: bool
    fog_height_max: float
    fog_height_min: float
    fog_sun_amount: float
    fog_sun_color: Color
    fog_transmit_curve: float
    fog_transmit_enabled: bool
    glow_bicubic_upscale: bool
    glow_blend_mode: int
    glow_bloom: float
    glow_enabled: bool
    glow_hdr_luminance_cap: float
    glow_hdr_scale: float
    glow_hdr_threshold: float
    glow_intensity: float
    glow_levels_1: bool
    glow_levels_2: bool
    glow_levels_3: bool
    glow_levels_4: bool
    glow_levels_5: bool
    glow_levels_6: bool
    glow_levels_7: bool
    glow_strength: float
    ss_reflections_depth_tolerance: float
    ss_reflections_enabled: bool
    ss_reflections_fade_in: float
    ss_reflections_fade_out: float
    ss_reflections_max_steps: int
    ss_reflections_roughness: bool
    ssao_ao_channel_affect: float
    ssao_bias: float
    ssao_blur: int
    ssao_color: Color
    ssao_edge_sharpness: float
    ssao_enabled: bool
    ssao_intensity: float
    ssao_intensity2: float
    ssao_light_affect: float
    ssao_quality: int
    ssao_radius: float
    ssao_radius2: float
    tonemap_exposure: float
    tonemap_mode: int
    tonemap_white: float



class Font(Resource):


    # Methods
    def draw(self,canvas_item: RID,position: Vector2,string: Union[str, GDString],modulate: Color=Color(1,1,1,1),clip_w: int=-1,outline_modulate: Color=Color(1,1,1,1),) -> None: ...
    def draw_char(self,canvas_item: RID,position: Vector2,char_: int,next: int=-1,modulate: Color=Color(1,1,1,1),outline: bool=False,) -> float: ...
    def get_ascent(self,) -> float: ...
    def get_descent(self,) -> float: ...
    def get_height(self,) -> float: ...
    def get_string_size(self,string: Union[str, GDString],) -> Vector2: ...
    def get_wordwrap_string_size(self,string: Union[str, GDString],width: float,) -> Vector2: ...
    def has_outline(self,) -> bool: ...
    def is_distance_field_hint(self,) -> bool: ...
    def update_changes(self,) -> None: ...




class GDNativeLibrary(Resource):


    def __init__(self): ...



    # Methods
    def get_config_file(self,) -> ConfigFile: ...
    def get_current_dependencies(self,) -> PoolStringArray: ...
    def get_current_library_path(self,) -> Union[str, GDString]: ...
    def get_symbol_prefix(self,) -> Union[str, GDString]: ...
    def is_reloadable(self,) -> bool: ...
    def is_singleton(self,) -> bool: ...
    def set_config_file(self,config_file: ConfigFile,) -> None: ...
    def set_load_once(self,load_once: bool,) -> None: ...
    def set_reloadable(self,reloadable: bool,) -> None: ...
    def set_singleton(self,singleton: bool,) -> None: ...
    def set_symbol_prefix(self,symbol_prefix: Union[str, GDString],) -> None: ...
    def should_load_once(self,) -> bool: ...

    # Properties
    config_file: ConfigFile
    load_once: bool
    reloadable: bool
    singleton: bool
    symbol_prefix: Union[str, GDString]



class GIProbeData(Resource):


    def __init__(self): ...



    # Methods
    def get_bias(self,) -> float: ...
    def get_bounds(self,) -> AABB: ...
    def get_cell_size(self,) -> float: ...
    def get_dynamic_data(self,) -> PoolIntArray: ...
    def get_dynamic_range(self,) -> int: ...
    def get_energy(self,) -> float: ...
    def get_normal_bias(self,) -> float: ...
    def get_propagation(self,) -> float: ...
    def get_to_cell_xform(self,) -> Transform: ...
    def is_compressed(self,) -> bool: ...
    def is_interior(self,) -> bool: ...
    def set_bias(self,bias: float,) -> None: ...
    def set_bounds(self,bounds: AABB,) -> None: ...
    def set_cell_size(self,cell_size: float,) -> None: ...
    def set_compress(self,compress: bool,) -> None: ...
    def set_dynamic_data(self,dynamic_data: PoolIntArray,) -> None: ...
    def set_dynamic_range(self,dynamic_range: int,) -> None: ...
    def set_energy(self,energy: float,) -> None: ...
    def set_interior(self,interior: bool,) -> None: ...
    def set_normal_bias(self,bias: float,) -> None: ...
    def set_propagation(self,propagation: float,) -> None: ...
    def set_to_cell_xform(self,to_cell_xform: Transform,) -> None: ...

    # Properties
    bias: float
    bounds: AABB
    cell_size: float
    compress: bool
    dynamic_data: PoolIntArray
    dynamic_range: int
    energy: float
    interior: bool
    normal_bias: float
    propagation: float
    to_cell_xform: Transform



class Gradient(Resource):


    def __init__(self): ...



    # Methods
    def add_point(self,offset: float,color: Color,) -> None: ...
    def get_color(self,point: int,) -> Color: ...
    def get_colors(self,) -> PoolColorArray: ...
    def get_offset(self,point: int,) -> float: ...
    def get_offsets(self,) -> PoolRealArray: ...
    def get_point_count(self,) -> int: ...
    def interpolate(self,offset: float,) -> Color: ...
    def remove_point(self,offset: int,) -> None: ...
    def set_color(self,point: int,color: Color,) -> None: ...
    def set_colors(self,colors: PoolColorArray,) -> None: ...
    def set_offset(self,point: int,offset: float,) -> None: ...
    def set_offsets(self,offsets: PoolRealArray,) -> None: ...

    # Properties
    colors: PoolColorArray
    offsets: PoolRealArray



class Image(Resource):


    def __init__(self): ...


    # Constants
    ALPHA_BIT: int
    ALPHA_BLEND: int
    ALPHA_NONE: int
    COMPRESS_ETC: int
    COMPRESS_ETC2: int
    COMPRESS_PVRTC2: int
    COMPRESS_PVRTC4: int
    COMPRESS_S3TC: int
    COMPRESS_SOURCE_GENERIC: int
    COMPRESS_SOURCE_NORMAL: int
    COMPRESS_SOURCE_SRGB: int
    FORMAT_BPTC_RGBA: int
    FORMAT_BPTC_RGBF: int
    FORMAT_BPTC_RGBFU: int
    FORMAT_DXT1: int
    FORMAT_DXT3: int
    FORMAT_DXT5: int
    FORMAT_ETC: int
    FORMAT_ETC2_R11: int
    FORMAT_ETC2_R11S: int
    FORMAT_ETC2_RG11: int
    FORMAT_ETC2_RG11S: int
    FORMAT_ETC2_RGB8: int
    FORMAT_ETC2_RGB8A1: int
    FORMAT_ETC2_RGBA8: int
    FORMAT_L8: int
    FORMAT_LA8: int
    FORMAT_MAX: int
    FORMAT_PVRTC2: int
    FORMAT_PVRTC2A: int
    FORMAT_PVRTC4: int
    FORMAT_PVRTC4A: int
    FORMAT_R8: int
    FORMAT_RF: int
    FORMAT_RG8: int
    FORMAT_RGB8: int
    FORMAT_RGBA4444: int
    FORMAT_RGBA5551: int
    FORMAT_RGBA8: int
    FORMAT_RGBAF: int
    FORMAT_RGBAH: int
    FORMAT_RGBE9995: int
    FORMAT_RGBF: int
    FORMAT_RGBH: int
    FORMAT_RGF: int
    FORMAT_RGH: int
    FORMAT_RGTC_R: int
    FORMAT_RGTC_RG: int
    FORMAT_RH: int
    INTERPOLATE_BILINEAR: int
    INTERPOLATE_CUBIC: int
    INTERPOLATE_LANCZOS: int
    INTERPOLATE_NEAREST: int
    INTERPOLATE_TRILINEAR: int
    MAX_HEIGHT: int
    MAX_WIDTH: int
    # Enums
    class AlphaMode(IntFlag):
        ALPHA_NONE: int
        ALPHA_BIT: int
        ALPHA_BLEND: int
    class CompressSource(IntFlag):
        COMPRESS_SOURCE_GENERIC: int
        COMPRESS_SOURCE_SRGB: int
        COMPRESS_SOURCE_NORMAL: int
    class Interpolation(IntFlag):
        INTERPOLATE_NEAREST: int
        INTERPOLATE_BILINEAR: int
        INTERPOLATE_CUBIC: int
        INTERPOLATE_TRILINEAR: int
        INTERPOLATE_LANCZOS: int
    class CompressMode(IntFlag):
        COMPRESS_S3TC: int
        COMPRESS_PVRTC2: int
        COMPRESS_PVRTC4: int
        COMPRESS_ETC: int
        COMPRESS_ETC2: int
    class Format(IntFlag):
        FORMAT_L8: int
        FORMAT_LA8: int
        FORMAT_R8: int
        FORMAT_RG8: int
        FORMAT_RGB8: int
        FORMAT_RGBA8: int
        FORMAT_RGBA4444: int
        FORMAT_RGBA5551: int
        FORMAT_RF: int
        FORMAT_RGF: int
        FORMAT_RGBF: int
        FORMAT_RGBAF: int
        FORMAT_RH: int
        FORMAT_RGH: int
        FORMAT_RGBH: int
        FORMAT_RGBAH: int
        FORMAT_RGBE9995: int
        FORMAT_DXT1: int
        FORMAT_DXT3: int
        FORMAT_DXT5: int
        FORMAT_RGTC_R: int
        FORMAT_RGTC_RG: int
        FORMAT_BPTC_RGBA: int
        FORMAT_BPTC_RGBF: int
        FORMAT_BPTC_RGBFU: int
        FORMAT_PVRTC2: int
        FORMAT_PVRTC2A: int
        FORMAT_PVRTC4: int
        FORMAT_PVRTC4A: int
        FORMAT_ETC: int
        FORMAT_ETC2_R11: int
        FORMAT_ETC2_R11S: int
        FORMAT_ETC2_RG11: int
        FORMAT_ETC2_RG11S: int
        FORMAT_ETC2_RGB8: int
        FORMAT_ETC2_RGBA8: int
        FORMAT_ETC2_RGB8A1: int
        FORMAT_MAX: int

    # Methods
    def blend_rect(self,src: Image,src_rect: Rect2,dst: Vector2,) -> None: ...
    def blend_rect_mask(self,src: Image,mask: Image,src_rect: Rect2,dst: Vector2,) -> None: ...
    def blit_rect(self,src: Image,src_rect: Rect2,dst: Vector2,) -> None: ...
    def blit_rect_mask(self,src: Image,mask: Image,src_rect: Rect2,dst: Vector2,) -> None: ...
    def bumpmap_to_normalmap(self,bump_scale: float=1,) -> None: ...
    def clear_mipmaps(self,) -> None: ...
    def compress(self,mode: int,source: int,lossy_quality: float,) -> Error: ...
    def convert(self,format: int,) -> None: ...
    def copy_from(self,src: Image,) -> None: ...
    def create(self,width: int,height: int,use_mipmaps: bool,format: int,) -> None: ...
    def create_from_data(self,width: int,height: int,use_mipmaps: bool,format: int,data: PoolByteArray,) -> None: ...
    def crop(self,width: int,height: int,) -> None: ...
    def decompress(self,) -> Error: ...
    def detect_alpha(self,) -> Image.AlphaMode: ...
    def expand_x2_hq2x(self,) -> None: ...
    def fill(self,color: Color,) -> None: ...
    def fix_alpha_edges(self,) -> None: ...
    def flip_x(self,) -> None: ...
    def flip_y(self,) -> None: ...
    def generate_mipmaps(self,renormalize: bool=False,) -> Error: ...
    def get_data(self,) -> PoolByteArray: ...
    def get_format(self,) -> Image.Format: ...
    def get_height(self,) -> int: ...
    def get_mipmap_offset(self,mipmap: int,) -> int: ...
    def get_pixel(self,x: int,y: int,) -> Color: ...
    def get_pixelv(self,src: Vector2,) -> Color: ...
    def get_rect(self,rect: Rect2,) -> Image: ...
    def get_size(self,) -> Vector2: ...
    def get_used_rect(self,) -> Rect2: ...
    def get_width(self,) -> int: ...
    def has_mipmaps(self,) -> bool: ...
    def is_compressed(self,) -> bool: ...
    def is_empty(self,) -> bool: ...
    def is_invisible(self,) -> bool: ...
    def load(self,path: Union[str, GDString],) -> Error: ...
    def load_jpg_from_buffer(self,buffer: PoolByteArray,) -> Error: ...
    def load_png_from_buffer(self,buffer: PoolByteArray,) -> Error: ...
    def load_webp_from_buffer(self,buffer: PoolByteArray,) -> Error: ...
    def lock(self,) -> None: ...
    def normalmap_to_xy(self,) -> None: ...
    def premultiply_alpha(self,) -> None: ...
    def resize(self,width: int,height: int,interpolation: int=1,) -> None: ...
    def resize_to_po2(self,square: bool=False,) -> None: ...
    def rgbe_to_srgb(self,) -> Image: ...
    def save_exr(self,path: Union[str, GDString],grayscale: bool=False,) -> Error: ...
    def save_png(self,path: Union[str, GDString],) -> Error: ...
    def save_png_to_buffer(self,) -> PoolByteArray: ...
    def set_pixel(self,x: int,y: int,color: Color,) -> None: ...
    def set_pixelv(self,dst: Vector2,color: Color,) -> None: ...
    def shrink_x2(self,) -> None: ...
    def srgb_to_linear(self,) -> None: ...
    def unlock(self,) -> None: ...

    # Properties
    data: Dictionary



class InputEvent(Resource):


    # Methods
    def accumulate(self,with_event: InputEvent,) -> bool: ...
    def as_text(self,) -> Union[str, GDString]: ...
    def get_action_strength(self,action: Union[str, GDString],) -> float: ...
    def get_device(self,) -> int: ...
    def is_action(self,action: Union[str, GDString],) -> bool: ...
    def is_action_pressed(self,action: Union[str, GDString],allow_echo: bool=False,) -> bool: ...
    def is_action_released(self,action: Union[str, GDString],) -> bool: ...
    def is_action_type(self,) -> bool: ...
    def is_echo(self,) -> bool: ...
    def is_pressed(self,) -> bool: ...
    def set_device(self,device: int,) -> None: ...
    def shortcut_match(self,event: InputEvent,) -> bool: ...
    def xformed_by(self,xform: Transform2D,local_ofs: Vector2=Vector2(0, 0),) -> InputEvent: ...

    # Properties
    device: int



class Material(Resource):

    # Constants
    RENDER_PRIORITY_MAX: int
    RENDER_PRIORITY_MIN: int

    # Methods
    def get_next_pass(self,) -> Material: ...
    def get_render_priority(self,) -> int: ...
    def set_next_pass(self,next_pass: Material,) -> None: ...
    def set_render_priority(self,priority: int,) -> None: ...

    # Properties
    next_pass: Material
    render_priority: int



class Mesh(Resource):

    # Constants
    ARRAY_BONES: int
    ARRAY_COLOR: int
    ARRAY_COMPRESS_BASE: int
    ARRAY_COMPRESS_BONES: int
    ARRAY_COMPRESS_COLOR: int
    ARRAY_COMPRESS_DEFAULT: int
    ARRAY_COMPRESS_INDEX: int
    ARRAY_COMPRESS_NORMAL: int
    ARRAY_COMPRESS_TANGENT: int
    ARRAY_COMPRESS_TEX_UV: int
    ARRAY_COMPRESS_TEX_UV2: int
    ARRAY_COMPRESS_VERTEX: int
    ARRAY_COMPRESS_WEIGHTS: int
    ARRAY_FLAG_USE_16_BIT_BONES: int
    ARRAY_FLAG_USE_2D_VERTICES: int
    ARRAY_FORMAT_BONES: int
    ARRAY_FORMAT_COLOR: int
    ARRAY_FORMAT_INDEX: int
    ARRAY_FORMAT_NORMAL: int
    ARRAY_FORMAT_TANGENT: int
    ARRAY_FORMAT_TEX_UV: int
    ARRAY_FORMAT_TEX_UV2: int
    ARRAY_FORMAT_VERTEX: int
    ARRAY_FORMAT_WEIGHTS: int
    ARRAY_INDEX: int
    ARRAY_MAX: int
    ARRAY_NORMAL: int
    ARRAY_TANGENT: int
    ARRAY_TEX_UV: int
    ARRAY_TEX_UV2: int
    ARRAY_VERTEX: int
    ARRAY_WEIGHTS: int
    BLEND_SHAPE_MODE_NORMALIZED: int
    BLEND_SHAPE_MODE_RELATIVE: int
    PRIMITIVE_LINES: int
    PRIMITIVE_LINE_LOOP: int
    PRIMITIVE_LINE_STRIP: int
    PRIMITIVE_POINTS: int
    PRIMITIVE_TRIANGLES: int
    PRIMITIVE_TRIANGLE_FAN: int
    PRIMITIVE_TRIANGLE_STRIP: int
    # Enums
    class BlendShapeMode(IntFlag):
        BLEND_SHAPE_MODE_NORMALIZED: int
        BLEND_SHAPE_MODE_RELATIVE: int
    class PrimitiveType(IntFlag):
        PRIMITIVE_POINTS: int
        PRIMITIVE_LINES: int
        PRIMITIVE_LINE_STRIP: int
        PRIMITIVE_LINE_LOOP: int
        PRIMITIVE_TRIANGLES: int
        PRIMITIVE_TRIANGLE_STRIP: int
        PRIMITIVE_TRIANGLE_FAN: int
    class ArrayFormat(IntFlag):
        ARRAY_FORMAT_VERTEX: int
        ARRAY_FORMAT_NORMAL: int
        ARRAY_FORMAT_TANGENT: int
        ARRAY_FORMAT_COLOR: int
        ARRAY_COMPRESS_BASE: int
        ARRAY_FORMAT_TEX_UV: int
        ARRAY_FORMAT_TEX_UV2: int
        ARRAY_FORMAT_BONES: int
        ARRAY_FORMAT_WEIGHTS: int
        ARRAY_FORMAT_INDEX: int
        ARRAY_COMPRESS_VERTEX: int
        ARRAY_COMPRESS_NORMAL: int
        ARRAY_COMPRESS_TANGENT: int
        ARRAY_COMPRESS_COLOR: int
        ARRAY_COMPRESS_TEX_UV: int
        ARRAY_COMPRESS_TEX_UV2: int
        ARRAY_COMPRESS_BONES: int
        ARRAY_COMPRESS_WEIGHTS: int
        ARRAY_COMPRESS_DEFAULT: int
        ARRAY_COMPRESS_INDEX: int
        ARRAY_FLAG_USE_2D_VERTICES: int
        ARRAY_FLAG_USE_16_BIT_BONES: int
    class ArrayType(IntFlag):
        ARRAY_VERTEX: int
        ARRAY_NORMAL: int
        ARRAY_TANGENT: int
        ARRAY_COLOR: int
        ARRAY_TEX_UV: int
        ARRAY_TEX_UV2: int
        ARRAY_BONES: int
        ARRAY_WEIGHTS: int
        ARRAY_INDEX: int
        ARRAY_MAX: int

    # Methods
    def create_convex_shape(self,) -> Shape: ...
    def create_outline(self,margin: float,) -> Mesh: ...
    def create_trimesh_shape(self,) -> Shape: ...
    def generate_triangle_mesh(self,) -> TriangleMesh: ...
    def get_aabb(self,) -> AABB: ...
    def get_faces(self,) -> PoolVector3Array: ...
    def get_lightmap_size_hint(self,) -> Vector2: ...
    def get_surface_count(self,) -> int: ...
    def set_lightmap_size_hint(self,size: Vector2,) -> None: ...
    def surface_get_arrays(self,surf_idx: int,) -> Array: ...
    def surface_get_blend_shape_arrays(self,surf_idx: int,) -> Array: ...
    def surface_get_material(self,surf_idx: int,) -> Material: ...
    def surface_set_material(self,surf_idx: int,material: Material,) -> None: ...

    # Properties
    lightmap_size_hint: Vector2



class MeshLibrary(Resource):


    def __init__(self): ...



    # Methods
    def clear(self,) -> None: ...
    def create_item(self,id: int,) -> None: ...
    def find_item_by_name(self,name: Union[str, GDString],) -> int: ...
    def get_item_list(self,) -> PoolIntArray: ...
    def get_item_mesh(self,id: int,) -> Mesh: ...
    def get_item_name(self,id: int,) -> Union[str, GDString]: ...
    def get_item_navmesh(self,id: int,) -> NavigationMesh: ...
    def get_item_navmesh_transform(self,id: int,) -> Transform: ...
    def get_item_preview(self,id: int,) -> Texture: ...
    def get_item_shapes(self,id: int,) -> Array: ...
    def get_last_unused_item_id(self,) -> int: ...
    def remove_item(self,id: int,) -> None: ...
    def set_item_mesh(self,id: int,mesh: Mesh,) -> None: ...
    def set_item_name(self,id: int,name: Union[str, GDString],) -> None: ...
    def set_item_navmesh(self,id: int,navmesh: NavigationMesh,) -> None: ...
    def set_item_navmesh_transform(self,id: int,navmesh: Transform,) -> None: ...
    def set_item_preview(self,id: int,texture: Texture,) -> None: ...
    def set_item_shapes(self,id: int,shapes: Array,) -> None: ...




class MultiMesh(Resource):


    def __init__(self): ...


    # Constants
    COLOR_8BIT: int
    COLOR_FLOAT: int
    COLOR_NONE: int
    CUSTOM_DATA_8BIT: int
    CUSTOM_DATA_FLOAT: int
    CUSTOM_DATA_NONE: int
    TRANSFORM_2D: int
    TRANSFORM_3D: int
    # Enums
    class TransformFormat(IntFlag):
        TRANSFORM_2D: int
        TRANSFORM_3D: int
    class CustomDataFormat(IntFlag):
        CUSTOM_DATA_NONE: int
        CUSTOM_DATA_8BIT: int
        CUSTOM_DATA_FLOAT: int
    class ColorFormat(IntFlag):
        COLOR_NONE: int
        COLOR_8BIT: int
        COLOR_FLOAT: int

    # Methods
    def get_aabb(self,) -> AABB: ...
    def get_color_format(self,) -> MultiMesh.ColorFormat: ...
    def get_custom_data_format(self,) -> MultiMesh.CustomDataFormat: ...
    def get_instance_color(self,instance: int,) -> Color: ...
    def get_instance_count(self,) -> int: ...
    def get_instance_custom_data(self,instance: int,) -> Color: ...
    def get_instance_transform(self,instance: int,) -> Transform: ...
    def get_instance_transform_2d(self,instance: int,) -> Transform2D: ...
    def get_mesh(self,) -> Mesh: ...
    def get_transform_format(self,) -> MultiMesh.TransformFormat: ...
    def get_visible_instance_count(self,) -> int: ...
    def set_as_bulk_array(self,array: PoolRealArray,) -> None: ...
    def set_color_format(self,format: int,) -> None: ...
    def set_custom_data_format(self,format: int,) -> None: ...
    def set_instance_color(self,instance: int,color: Color,) -> None: ...
    def set_instance_count(self,count: int,) -> None: ...
    def set_instance_custom_data(self,instance: int,custom_data: Color,) -> None: ...
    def set_instance_transform(self,instance: int,transform: Transform,) -> None: ...
    def set_instance_transform_2d(self,instance: int,transform: Transform2D,) -> None: ...
    def set_mesh(self,mesh: Mesh,) -> None: ...
    def set_transform_format(self,format: int,) -> None: ...
    def set_visible_instance_count(self,count: int,) -> None: ...

    # Properties
    color_array: PoolColorArray
    color_format: int
    custom_data_array: PoolColorArray
    custom_data_format: int
    instance_count: int
    mesh: Mesh
    transform_2d_array: PoolVector2Array
    transform_array: PoolVector3Array
    transform_format: int
    visible_instance_count: int



class NavigationMesh(Resource):


    def __init__(self): ...


    # Constants
    PARSED_GEOMETRY_BOTH: int
    PARSED_GEOMETRY_MESH_INSTANCES: int
    PARSED_GEOMETRY_STATIC_COLLIDERS: int
    SAMPLE_PARTITION_LAYERS: int
    SAMPLE_PARTITION_MONOTONE: int
    SAMPLE_PARTITION_WATERSHED: int

    # Methods
    def add_polygon(self,polygon: PoolIntArray,) -> None: ...
    def clear_polygons(self,) -> None: ...
    def create_from_mesh(self,mesh: Mesh,) -> None: ...
    def get_agent_height(self,) -> float: ...
    def get_agent_max_climb(self,) -> float: ...
    def get_agent_max_slope(self,) -> float: ...
    def get_agent_radius(self,) -> float: ...
    def get_cell_height(self,) -> float: ...
    def get_cell_size(self,) -> float: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def get_detail_sample_distance(self,) -> float: ...
    def get_detail_sample_max_error(self,) -> float: ...
    def get_edge_max_error(self,) -> float: ...
    def get_edge_max_length(self,) -> float: ...
    def get_filter_ledge_spans(self,) -> bool: ...
    def get_filter_low_hanging_obstacles(self,) -> bool: ...
    def get_filter_walkable_low_height_spans(self,) -> bool: ...
    def get_parsed_geometry_type(self,) -> int: ...
    def get_polygon(self,idx: int,) -> PoolIntArray: ...
    def get_polygon_count(self,) -> int: ...
    def get_region_merge_size(self,) -> float: ...
    def get_region_min_size(self,) -> float: ...
    def get_sample_partition_type(self,) -> int: ...
    def get_source_geometry_mode(self,) -> int: ...
    def get_source_group_name(self,) -> Union[str, GDString]: ...
    def get_vertices(self,) -> PoolVector3Array: ...
    def get_verts_per_poly(self,) -> float: ...
    def set_agent_height(self,agent_height: float,) -> None: ...
    def set_agent_max_climb(self,agent_max_climb: float,) -> None: ...
    def set_agent_max_slope(self,agent_max_slope: float,) -> None: ...
    def set_agent_radius(self,agent_radius: float,) -> None: ...
    def set_cell_height(self,cell_height: float,) -> None: ...
    def set_cell_size(self,cell_size: float,) -> None: ...
    def set_collision_mask(self,mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...
    def set_detail_sample_distance(self,detail_sample_dist: float,) -> None: ...
    def set_detail_sample_max_error(self,detail_sample_max_error: float,) -> None: ...
    def set_edge_max_error(self,edge_max_error: float,) -> None: ...
    def set_edge_max_length(self,edge_max_length: float,) -> None: ...
    def set_filter_ledge_spans(self,filter_ledge_spans: bool,) -> None: ...
    def set_filter_low_hanging_obstacles(self,filter_low_hanging_obstacles: bool,) -> None: ...
    def set_filter_walkable_low_height_spans(self,filter_walkable_low_height_spans: bool,) -> None: ...
    def set_parsed_geometry_type(self,geometry_type: int,) -> None: ...
    def set_region_merge_size(self,region_merge_size: float,) -> None: ...
    def set_region_min_size(self,region_min_size: float,) -> None: ...
    def set_sample_partition_type(self,sample_partition_type: int,) -> None: ...
    def set_source_geometry_mode(self,mask: int,) -> None: ...
    def set_source_group_name(self,mask: Union[str, GDString],) -> None: ...
    def set_vertices(self,vertices: PoolVector3Array,) -> None: ...
    def set_verts_per_poly(self,verts_per_poly: float,) -> None: ...

    # Properties
    agent_height: float
    agent_max_climb: float
    agent_max_slope: float
    agent_radius: float
    cell_height: float
    cell_size: float
    detail_sample_distance: float
    detail_sample_max_error: float
    edge_max_error: float
    edge_max_length: float
    filter_filter_walkable_low_height_spans: bool
    filter_ledge_spans: bool
    filter_low_hanging_obstacles: bool
    geometry_collision_mask: int
    geometry_parsed_geometry_type: int
    geometry_source_geometry_mode: int
    geometry_source_group_name: Union[str, GDString]
    polygon_verts_per_poly: float
    polygons: Array
    region_merge_size: float
    region_min_size: float
    sample_partition_type_sample_partition_type: int
    vertices: PoolVector3Array



class NavigationPolygon(Resource):


    def __init__(self): ...



    # Methods
    def add_outline(self,outline: PoolVector2Array,) -> None: ...
    def add_outline_at_index(self,outline: PoolVector2Array,index: int,) -> None: ...
    def add_polygon(self,polygon: PoolIntArray,) -> None: ...
    def clear_outlines(self,) -> None: ...
    def clear_polygons(self,) -> None: ...
    def get_outline(self,idx: int,) -> PoolVector2Array: ...
    def get_outline_count(self,) -> int: ...
    def get_polygon(self,idx: int,) -> PoolIntArray: ...
    def get_polygon_count(self,) -> int: ...
    def get_vertices(self,) -> PoolVector2Array: ...
    def make_polygons_from_outlines(self,) -> None: ...
    def remove_outline(self,idx: int,) -> None: ...
    def set_outline(self,idx: int,outline: PoolVector2Array,) -> None: ...
    def set_vertices(self,vertices: PoolVector2Array,) -> None: ...

    # Properties
    outlines: Array
    polygons: Array
    vertices: PoolVector2Array



class OccluderPolygon2D(Resource):


    def __init__(self): ...


    # Constants
    CULL_CLOCKWISE: int
    CULL_COUNTER_CLOCKWISE: int
    CULL_DISABLED: int
    # Enums
    class CullMode(IntFlag):
        CULL_DISABLED: int
        CULL_CLOCKWISE: int
        CULL_COUNTER_CLOCKWISE: int

    # Methods
    def get_cull_mode(self,) -> OccluderPolygon2D.CullMode: ...
    def get_polygon(self,) -> PoolVector2Array: ...
    def is_closed(self,) -> bool: ...
    def set_closed(self,closed: bool,) -> None: ...
    def set_cull_mode(self,cull_mode: int,) -> None: ...
    def set_polygon(self,polygon: PoolVector2Array,) -> None: ...

    # Properties
    closed: bool
    cull_mode: int
    polygon: PoolVector2Array



class OpenSimplexNoise(Resource):


    def __init__(self): ...



    # Methods
    def get_image(self,width: int,height: int,) -> Image: ...
    def get_lacunarity(self,) -> float: ...
    def get_noise_1d(self,x: float,) -> float: ...
    def get_noise_2d(self,x: float,y: float,) -> float: ...
    def get_noise_2dv(self,pos: Vector2,) -> float: ...
    def get_noise_3d(self,x: float,y: float,z: float,) -> float: ...
    def get_noise_3dv(self,pos: Vector3,) -> float: ...
    def get_noise_4d(self,x: float,y: float,z: float,w: float,) -> float: ...
    def get_octaves(self,) -> int: ...
    def get_period(self,) -> float: ...
    def get_persistence(self,) -> float: ...
    def get_seamless_image(self,size: int,) -> Image: ...
    def get_seed(self,) -> int: ...
    def set_lacunarity(self,lacunarity: float,) -> None: ...
    def set_octaves(self,octave_count: int,) -> None: ...
    def set_period(self,period: float,) -> None: ...
    def set_persistence(self,persistence: float,) -> None: ...
    def set_seed(self,seed: int,) -> None: ...

    # Properties
    lacunarity: float
    octaves: int
    period: float
    persistence: float
    seed: int



class PackedDataContainer(Resource):


    def __init__(self): ...



    # Methods
    def pack(self,value: object,) -> Error: ...
    def size(self,) -> int: ...

    # Properties
    __data__: PoolByteArray



class PackedScene(Resource):


    def __init__(self): ...


    # Constants
    GEN_EDIT_STATE_DISABLED: int
    GEN_EDIT_STATE_INSTANCE: int
    GEN_EDIT_STATE_MAIN: int
    # Enums
    class GenEditState(IntFlag):
        GEN_EDIT_STATE_DISABLED: int
        GEN_EDIT_STATE_INSTANCE: int
        GEN_EDIT_STATE_MAIN: int

    # Methods
    def can_instance(self,) -> bool: ...
    def get_state(self,) -> SceneState: ...
    def instance(self,edit_state: int=0,) -> Node: ...
    def pack(self,path: Node,) -> Error: ...

    # Properties
    _bundled: Dictionary



class PhysicsMaterial(Resource):


    def __init__(self): ...



    # Methods
    def get_bounce(self,) -> float: ...
    def get_friction(self,) -> float: ...
    def is_absorbent(self,) -> bool: ...
    def is_rough(self,) -> bool: ...
    def set_absorbent(self,absorbent: bool,) -> None: ...
    def set_bounce(self,bounce: float,) -> None: ...
    def set_friction(self,friction: float,) -> None: ...
    def set_rough(self,rough: bool,) -> None: ...

    # Properties
    absorbent: bool
    bounce: float
    friction: float
    rough: bool



class PolygonPathFinder(Resource):


    def __init__(self): ...



    # Methods
    def find_path(self,from_: Vector2,to: Vector2,) -> PoolVector2Array: ...
    def get_bounds(self,) -> Rect2: ...
    def get_closest_point(self,point: Vector2,) -> Vector2: ...
    def get_intersections(self,from_: Vector2,to: Vector2,) -> PoolVector2Array: ...
    def get_point_penalty(self,idx: int,) -> float: ...
    def is_point_inside(self,point: Vector2,) -> bool: ...
    def set_point_penalty(self,idx: int,penalty: float,) -> None: ...
    def setup(self,points: PoolVector2Array,connections: PoolIntArray,) -> None: ...

    # Properties
    data: Dictionary



class RichTextEffect(Resource):


    def __init__(self): ...





    pass


class Script(Resource):


    # Methods
    def can_instance(self,) -> bool: ...
    def get_base_script(self,) -> Script: ...
    def get_instance_base_type(self,) -> Union[str, GDString]: ...
    def get_property_default_value(self,property: Union[str, GDString],) -> object: ...
    def get_script_constant_map(self,) -> Dictionary: ...
    def get_script_method_list(self,) -> Array: ...
    def get_script_property_list(self,) -> Array: ...
    def get_script_signal_list(self,) -> Array: ...
    def get_source_code(self,) -> Union[str, GDString]: ...
    def has_script_signal(self,signal_name: Union[str, GDString],) -> bool: ...
    def has_source_code(self,) -> bool: ...
    def instance_has(self,base_object: Object,) -> bool: ...
    def is_tool(self,) -> bool: ...
    def reload(self,keep_state: bool=False,) -> Error: ...
    def set_source_code(self,source: Union[str, GDString],) -> None: ...

    # Properties
    source_code: Union[str, GDString]



class Shader(Resource):


    def __init__(self): ...


    # Constants
    MODE_CANVAS_ITEM: int
    MODE_PARTICLES: int
    MODE_SPATIAL: int
    # Enums
    class Mode(IntFlag):
        MODE_SPATIAL: int
        MODE_CANVAS_ITEM: int
        MODE_PARTICLES: int

    # Methods
    def get_code(self,) -> Union[str, GDString]: ...
    def get_custom_defines(self,) -> Union[str, GDString]: ...
    def get_default_texture_param(self,param: Union[str, GDString],) -> Texture: ...
    def get_mode(self,) -> Shader.Mode: ...
    def has_param(self,name: Union[str, GDString],) -> bool: ...
    def set_code(self,code: Union[str, GDString],) -> None: ...
    def set_custom_defines(self,custom_defines: Union[str, GDString],) -> None: ...
    def set_default_texture_param(self,param: Union[str, GDString],texture: Texture,) -> None: ...

    # Properties
    code: Union[str, GDString]
    custom_defines: Union[str, GDString]



class Shape(Resource):


    # Methods
    def get_margin(self,) -> float: ...
    def set_margin(self,margin: float,) -> None: ...

    # Properties
    margin: float



class Shape2D(Resource):


    # Methods
    def collide(self,local_xform: Transform2D,with_shape: Shape2D,shape_xform: Transform2D,) -> bool: ...
    def collide_and_get_contacts(self,local_xform: Transform2D,with_shape: Shape2D,shape_xform: Transform2D,) -> Array: ...
    def collide_with_motion(self,local_xform: Transform2D,local_motion: Vector2,with_shape: Shape2D,shape_xform: Transform2D,shape_motion: Vector2,) -> bool: ...
    def collide_with_motion_and_get_contacts(self,local_xform: Transform2D,local_motion: Vector2,with_shape: Shape2D,shape_xform: Transform2D,shape_motion: Vector2,) -> Array: ...
    def get_custom_solver_bias(self,) -> float: ...
    def set_custom_solver_bias(self,bias: float,) -> None: ...

    # Properties
    custom_solver_bias: float



class ShortCut(Resource):


    def __init__(self): ...



    # Methods
    def get_as_text(self,) -> Union[str, GDString]: ...
    def get_shortcut(self,) -> InputEvent: ...
    def is_shortcut(self,event: InputEvent,) -> bool: ...
    def is_valid(self,) -> bool: ...
    def set_shortcut(self,event: InputEvent,) -> None: ...

    # Properties
    shortcut: InputEvent



class Skin(Resource):


    def __init__(self): ...



    # Methods
    def add_bind(self,bone: int,pose: Transform,) -> None: ...
    def clear_binds(self,) -> None: ...
    def get_bind_bone(self,bind_index: int,) -> int: ...
    def get_bind_count(self,) -> int: ...
    def get_bind_name(self,bind_index: int,) -> Union[str, GDString]: ...
    def get_bind_pose(self,bind_index: int,) -> Transform: ...
    def set_bind_bone(self,bind_index: int,bone: int,) -> None: ...
    def set_bind_count(self,bind_count: int,) -> None: ...
    def set_bind_name(self,bind_index: int,name: Union[str, GDString],) -> None: ...
    def set_bind_pose(self,bind_index: int,pose: Transform,) -> None: ...




class Sky(Resource):

    # Constants
    RADIANCE_SIZE_1024: int
    RADIANCE_SIZE_128: int
    RADIANCE_SIZE_2048: int
    RADIANCE_SIZE_256: int
    RADIANCE_SIZE_32: int
    RADIANCE_SIZE_512: int
    RADIANCE_SIZE_64: int
    RADIANCE_SIZE_MAX: int
    # Enums
    class RadianceSize(IntFlag):
        RADIANCE_SIZE_32: int
        RADIANCE_SIZE_64: int
        RADIANCE_SIZE_128: int
        RADIANCE_SIZE_256: int
        RADIANCE_SIZE_512: int
        RADIANCE_SIZE_1024: int
        RADIANCE_SIZE_2048: int
        RADIANCE_SIZE_MAX: int

    # Methods
    def get_radiance_size(self,) -> Sky.RadianceSize: ...
    def set_radiance_size(self,size: int,) -> None: ...

    # Properties
    radiance_size: int



class SpriteFrames(Resource):


    def __init__(self): ...



    # Methods
    def add_animation(self,anim: Union[str, GDString],) -> None: ...
    def add_frame(self,anim: Union[str, GDString],frame: Texture,at_position: int=-1,) -> None: ...
    def clear(self,anim: Union[str, GDString],) -> None: ...
    def clear_all(self,) -> None: ...
    def get_animation_loop(self,anim: Union[str, GDString],) -> bool: ...
    def get_animation_names(self,) -> PoolStringArray: ...
    def get_animation_speed(self,anim: Union[str, GDString],) -> float: ...
    def get_frame(self,anim: Union[str, GDString],idx: int,) -> Texture: ...
    def get_frame_count(self,anim: Union[str, GDString],) -> int: ...
    def has_animation(self,anim: Union[str, GDString],) -> bool: ...
    def remove_animation(self,anim: Union[str, GDString],) -> None: ...
    def remove_frame(self,anim: Union[str, GDString],idx: int,) -> None: ...
    def rename_animation(self,anim: Union[str, GDString],newname: Union[str, GDString],) -> None: ...
    def set_animation_loop(self,anim: Union[str, GDString],loop: bool,) -> None: ...
    def set_animation_speed(self,anim: Union[str, GDString],speed: float,) -> None: ...
    def set_frame(self,anim: Union[str, GDString],idx: int,txt: Texture,) -> None: ...

    # Properties
    animations: Array
    frames: Array



class StyleBox(Resource):


    # Methods
    def draw(self,canvas_item: RID,rect: Rect2,) -> None: ...
    def get_center_size(self,) -> Vector2: ...
    def get_current_item_drawn(self,) -> CanvasItem: ...
    def get_default_margin(self,margin: int,) -> float: ...
    def get_margin(self,margin: int,) -> float: ...
    def get_minimum_size(self,) -> Vector2: ...
    def get_offset(self,) -> Vector2: ...
    def set_default_margin(self,margin: int,offset: float,) -> None: ...
    def test_mask(self,point: Vector2,rect: Rect2,) -> bool: ...

    # Properties
    content_margin_bottom: float
    content_margin_left: float
    content_margin_right: float
    content_margin_top: float



class TextFile(Resource):


    def __init__(self): ...





    pass


class Texture(Resource):

    # Constants
    FLAGS_DEFAULT: int
    FLAG_ANISOTROPIC_FILTER: int
    FLAG_CONVERT_TO_LINEAR: int
    FLAG_FILTER: int
    FLAG_MIPMAPS: int
    FLAG_MIRRORED_REPEAT: int
    FLAG_REPEAT: int
    FLAG_VIDEO_SURFACE: int
    # Enums
    class Flags(IntFlag):
        FLAG_MIPMAPS: int
        FLAG_REPEAT: int
        FLAG_FILTER: int
        FLAGS_DEFAULT: int
        FLAG_ANISOTROPIC_FILTER: int
        FLAG_CONVERT_TO_LINEAR: int
        FLAG_MIRRORED_REPEAT: int
        FLAG_VIDEO_SURFACE: int

    # Methods
    def draw(self,canvas_item: RID,position: Vector2,modulate: Color=Color(1,1,1,1),transpose: bool=False,normal_map: Texture=None,) -> None: ...
    def draw_rect(self,canvas_item: RID,rect: Rect2,tile: bool,modulate: Color=Color(1,1,1,1),transpose: bool=False,normal_map: Texture=None,) -> None: ...
    def draw_rect_region(self,canvas_item: RID,rect: Rect2,src_rect: Rect2,modulate: Color=Color(1,1,1,1),transpose: bool=False,normal_map: Texture=None,clip_uv: bool=True,) -> None: ...
    def get_data(self,) -> Image: ...
    def get_flags(self,) -> int: ...
    def get_height(self,) -> int: ...
    def get_size(self,) -> Vector2: ...
    def get_width(self,) -> int: ...
    def has_alpha(self,) -> bool: ...
    def set_flags(self,flags: int,) -> None: ...

    # Properties
    flags: int



class TextureLayered(Resource):

    # Constants
    FLAGS_DEFAULT: int
    FLAG_FILTER: int
    FLAG_MIPMAPS: int
    FLAG_REPEAT: int
    # Enums
    class Flags(IntFlag):
        FLAG_MIPMAPS: int
        FLAG_REPEAT: int
        FLAG_FILTER: int
        FLAGS_DEFAULT: int

    # Methods
    def create(self,width: int,height: int,depth: int,format: int,flags: int=4,) -> None: ...
    def get_depth(self,) -> int: ...
    def get_flags(self,) -> int: ...
    def get_format(self,) -> Image.Format: ...
    def get_height(self,) -> int: ...
    def get_layer_data(self,layer: int,) -> Image: ...
    def get_width(self,) -> int: ...
    def set_data_partial(self,image: Image,x_offset: int,y_offset: int,layer: int,mipmap: int=0,) -> None: ...
    def set_flags(self,flags: int,) -> None: ...
    def set_layer_data(self,image: Image,layer: int,) -> None: ...

    # Properties
    data: Dictionary
    flags: int



class Theme(Resource):


    def __init__(self): ...



    # Methods
    def clear(self,) -> None: ...
    def clear_color(self,name: Union[str, GDString],type_: Union[str, GDString],) -> None: ...
    def clear_constant(self,name: Union[str, GDString],type_: Union[str, GDString],) -> None: ...
    def clear_font(self,name: Union[str, GDString],type_: Union[str, GDString],) -> None: ...
    def clear_icon(self,name: Union[str, GDString],type_: Union[str, GDString],) -> None: ...
    def clear_stylebox(self,name: Union[str, GDString],type_: Union[str, GDString],) -> None: ...
    def copy_default_theme(self,) -> None: ...
    def copy_theme(self,other: Theme,) -> None: ...
    def get_color(self,name: Union[str, GDString],type_: Union[str, GDString],) -> Color: ...
    def get_color_list(self,type_: Union[str, GDString],) -> PoolStringArray: ...
    def get_constant(self,name: Union[str, GDString],type_: Union[str, GDString],) -> int: ...
    def get_constant_list(self,type_: Union[str, GDString],) -> PoolStringArray: ...
    def get_default_font(self,) -> Font: ...
    def get_font(self,name: Union[str, GDString],type_: Union[str, GDString],) -> Font: ...
    def get_font_list(self,type_: Union[str, GDString],) -> PoolStringArray: ...
    def get_icon(self,name: Union[str, GDString],type_: Union[str, GDString],) -> Texture: ...
    def get_icon_list(self,type_: Union[str, GDString],) -> PoolStringArray: ...
    def get_stylebox(self,name: Union[str, GDString],type_: Union[str, GDString],) -> StyleBox: ...
    def get_stylebox_list(self,type_: Union[str, GDString],) -> PoolStringArray: ...
    def get_stylebox_types(self,) -> PoolStringArray: ...
    def get_type_list(self,type_: Union[str, GDString],) -> PoolStringArray: ...
    def has_color(self,name: Union[str, GDString],type_: Union[str, GDString],) -> bool: ...
    def has_constant(self,name: Union[str, GDString],type_: Union[str, GDString],) -> bool: ...
    def has_font(self,name: Union[str, GDString],type_: Union[str, GDString],) -> bool: ...
    def has_icon(self,name: Union[str, GDString],type_: Union[str, GDString],) -> bool: ...
    def has_stylebox(self,name: Union[str, GDString],type_: Union[str, GDString],) -> bool: ...
    def set_color(self,name: Union[str, GDString],type_: Union[str, GDString],color: Color,) -> None: ...
    def set_constant(self,name: Union[str, GDString],type_: Union[str, GDString],constant: int,) -> None: ...
    def set_default_font(self,font: Font,) -> None: ...
    def set_font(self,name: Union[str, GDString],type_: Union[str, GDString],font: Font,) -> None: ...
    def set_icon(self,name: Union[str, GDString],type_: Union[str, GDString],texture: Texture,) -> None: ...
    def set_stylebox(self,name: Union[str, GDString],type_: Union[str, GDString],texture: StyleBox,) -> None: ...

    # Properties
    default_font: Font



class TileSet(Resource):


    def __init__(self): ...


    # Constants
    ATLAS_TILE: int
    AUTO_TILE: int
    BIND_BOTTOM: int
    BIND_BOTTOMLEFT: int
    BIND_BOTTOMRIGHT: int
    BIND_CENTER: int
    BIND_LEFT: int
    BIND_RIGHT: int
    BIND_TOP: int
    BIND_TOPLEFT: int
    BIND_TOPRIGHT: int
    BITMASK_2X2: int
    BITMASK_3X3: int
    BITMASK_3X3_MINIMAL: int
    SINGLE_TILE: int
    # Enums
    class TileMode(IntFlag):
        SINGLE_TILE: int
        AUTO_TILE: int
        ATLAS_TILE: int
    class AutotileBindings(IntFlag):
        BIND_TOPLEFT: int
        BIND_TOP: int
        BIND_TOPRIGHT: int
        BIND_LEFT: int
        BIND_CENTER: int
        BIND_RIGHT: int
        BIND_BOTTOMLEFT: int
        BIND_BOTTOM: int
        BIND_BOTTOMRIGHT: int
    class BitmaskMode(IntFlag):
        BITMASK_2X2: int
        BITMASK_3X3_MINIMAL: int
        BITMASK_3X3: int

    # Methods
    def autotile_clear_bitmask_map(self,id: int,) -> None: ...
    def autotile_get_bitmask(self,id: int,coord: Vector2,) -> int: ...
    def autotile_get_bitmask_mode(self,id: int,) -> TileSet.BitmaskMode: ...
    def autotile_get_icon_coordinate(self,id: int,) -> Vector2: ...
    def autotile_get_light_occluder(self,id: int,coord: Vector2,) -> OccluderPolygon2D: ...
    def autotile_get_navigation_polygon(self,id: int,coord: Vector2,) -> NavigationPolygon: ...
    def autotile_get_size(self,id: int,) -> Vector2: ...
    def autotile_get_spacing(self,id: int,) -> int: ...
    def autotile_get_subtile_priority(self,id: int,coord: Vector2,) -> int: ...
    def autotile_get_z_index(self,id: int,coord: Vector2,) -> int: ...
    def autotile_set_bitmask(self,id: int,bitmask: Vector2,flag: int,) -> None: ...
    def autotile_set_bitmask_mode(self,id: int,mode: int,) -> None: ...
    def autotile_set_icon_coordinate(self,id: int,coord: Vector2,) -> None: ...
    def autotile_set_light_occluder(self,id: int,light_occluder: OccluderPolygon2D,coord: Vector2,) -> None: ...
    def autotile_set_navigation_polygon(self,id: int,navigation_polygon: NavigationPolygon,coord: Vector2,) -> None: ...
    def autotile_set_size(self,id: int,size: Vector2,) -> None: ...
    def autotile_set_spacing(self,id: int,spacing: int,) -> None: ...
    def autotile_set_subtile_priority(self,id: int,coord: Vector2,priority: int,) -> None: ...
    def autotile_set_z_index(self,id: int,coord: Vector2,z_index: int,) -> None: ...
    def clear(self,) -> None: ...
    def create_tile(self,id: int,) -> None: ...
    def find_tile_by_name(self,name: Union[str, GDString],) -> int: ...
    def get_last_unused_tile_id(self,) -> int: ...
    def get_tiles_ids(self,) -> Array: ...
    def remove_tile(self,id: int,) -> None: ...
    def tile_add_shape(self,id: int,shape: Shape2D,shape_transform: Transform2D,one_way: bool=False,autotile_coord: Vector2=Vector2(0, 0),) -> None: ...
    def tile_get_light_occluder(self,id: int,) -> OccluderPolygon2D: ...
    def tile_get_material(self,id: int,) -> ShaderMaterial: ...
    def tile_get_modulate(self,id: int,) -> Color: ...
    def tile_get_name(self,id: int,) -> Union[str, GDString]: ...
    def tile_get_navigation_polygon(self,id: int,) -> NavigationPolygon: ...
    def tile_get_navigation_polygon_offset(self,id: int,) -> Vector2: ...
    def tile_get_normal_map(self,id: int,) -> Texture: ...
    def tile_get_occluder_offset(self,id: int,) -> Vector2: ...
    def tile_get_region(self,id: int,) -> Rect2: ...
    def tile_get_shape(self,id: int,shape_id: int,) -> Shape2D: ...
    def tile_get_shape_count(self,id: int,) -> int: ...
    def tile_get_shape_offset(self,id: int,shape_id: int,) -> Vector2: ...
    def tile_get_shape_one_way(self,id: int,shape_id: int,) -> bool: ...
    def tile_get_shape_one_way_margin(self,id: int,shape_id: int,) -> float: ...
    def tile_get_shape_transform(self,id: int,shape_id: int,) -> Transform2D: ...
    def tile_get_shapes(self,id: int,) -> Array: ...
    def tile_get_texture(self,id: int,) -> Texture: ...
    def tile_get_texture_offset(self,id: int,) -> Vector2: ...
    def tile_get_tile_mode(self,id: int,) -> TileSet.TileMode: ...
    def tile_get_z_index(self,id: int,) -> int: ...
    def tile_set_light_occluder(self,id: int,light_occluder: OccluderPolygon2D,) -> None: ...
    def tile_set_material(self,id: int,material: ShaderMaterial,) -> None: ...
    def tile_set_modulate(self,id: int,color: Color,) -> None: ...
    def tile_set_name(self,id: int,name: Union[str, GDString],) -> None: ...
    def tile_set_navigation_polygon(self,id: int,navigation_polygon: NavigationPolygon,) -> None: ...
    def tile_set_navigation_polygon_offset(self,id: int,navigation_polygon_offset: Vector2,) -> None: ...
    def tile_set_normal_map(self,id: int,normal_map: Texture,) -> None: ...
    def tile_set_occluder_offset(self,id: int,occluder_offset: Vector2,) -> None: ...
    def tile_set_region(self,id: int,region: Rect2,) -> None: ...
    def tile_set_shape(self,id: int,shape_id: int,shape: Shape2D,) -> None: ...
    def tile_set_shape_offset(self,id: int,shape_id: int,shape_offset: Vector2,) -> None: ...
    def tile_set_shape_one_way(self,id: int,shape_id: int,one_way: bool,) -> None: ...
    def tile_set_shape_one_way_margin(self,id: int,shape_id: int,one_way: float,) -> None: ...
    def tile_set_shape_transform(self,id: int,shape_id: int,shape_transform: Transform2D,) -> None: ...
    def tile_set_shapes(self,id: int,shapes: Array,) -> None: ...
    def tile_set_texture(self,id: int,texture: Texture,) -> None: ...
    def tile_set_texture_offset(self,id: int,texture_offset: Vector2,) -> None: ...
    def tile_set_tile_mode(self,id: int,tilemode: int,) -> None: ...
    def tile_set_z_index(self,id: int,z_index: int,) -> None: ...




class Translation(Resource):


    def __init__(self): ...



    # Methods
    def add_message(self,src_message: Union[str, GDString],xlated_message: Union[str, GDString],) -> None: ...
    def erase_message(self,src_message: Union[str, GDString],) -> None: ...
    def get_locale(self,) -> Union[str, GDString]: ...
    def get_message(self,src_message: Union[str, GDString],) -> Union[str, GDString]: ...
    def get_message_count(self,) -> int: ...
    def get_message_list(self,) -> PoolStringArray: ...
    def set_locale(self,locale: Union[str, GDString],) -> None: ...

    # Properties
    locale: Union[str, GDString]
    messages: PoolStringArray



class VideoStream(Resource):




    pass


class VisualScriptNode(Resource):


    # Methods
    def get_default_input_value(self,port_idx: int,) -> object: ...
    def get_visual_script(self,) -> VisualScript: ...
    def ports_changed_notify(self,) -> None: ...
    def set_default_input_value(self,port_idx: int,value: object,) -> None: ...

    # Properties
    _default_input_values: Array



class VisualShaderNode(Resource):

    # Constants
    PORT_TYPE_BOOLEAN: int
    PORT_TYPE_MAX: int
    PORT_TYPE_SAMPLER: int
    PORT_TYPE_SCALAR: int
    PORT_TYPE_TRANSFORM: int
    PORT_TYPE_VECTOR: int
    # Enums
    class PortType(IntFlag):
        PORT_TYPE_SCALAR: int
        PORT_TYPE_VECTOR: int
        PORT_TYPE_BOOLEAN: int
        PORT_TYPE_TRANSFORM: int
        PORT_TYPE_SAMPLER: int
        PORT_TYPE_MAX: int

    # Methods
    def get_default_input_values(self,) -> Array: ...
    def get_input_port_default_value(self,port: int,) -> object: ...
    def get_output_port_for_preview(self,) -> int: ...
    def set_default_input_values(self,values: Array,) -> None: ...
    def set_input_port_default_value(self,port: int,value: object,) -> None: ...
    def set_output_port_for_preview(self,port: int,) -> None: ...

    # Properties
    default_input_values: Array
    output_port_for_preview: int



class World(Resource):


    def __init__(self): ...



    # Methods
    def get_direct_space_state(self,) -> PhysicsDirectSpaceState: ...
    def get_environment(self,) -> Environment: ...
    def get_fallback_environment(self,) -> Environment: ...
    def get_scenario(self,) -> RID: ...
    def get_space(self,) -> RID: ...
    def set_environment(self,env: Environment,) -> None: ...
    def set_fallback_environment(self,env: Environment,) -> None: ...

    # Properties
    direct_space_state: PhysicsDirectSpaceState
    environment: Environment
    fallback_environment: Environment
    scenario: RID
    space: RID



class World2D(Resource):


    def __init__(self): ...



    # Methods
    def get_canvas(self,) -> RID: ...
    def get_direct_space_state(self,) -> Physics2DDirectSpaceState: ...
    def get_space(self,) -> RID: ...

    # Properties
    canvas: RID
    direct_space_state: Physics2DDirectSpaceState
    space: RID



class X509Certificate(Resource):


    def __init__(self): ...



    # Methods
    def load(self,path: Union[str, GDString],) -> Error: ...
    def save(self,path: Union[str, GDString],) -> Error: ...




class VisualShaderNodeBooleanConstant(VisualShaderNode):


    def __init__(self): ...



    # Methods
    def get_constant(self,) -> bool: ...
    def set_constant(self,value: bool,) -> None: ...

    # Properties
    constant: bool



class VisualShaderNodeColorConstant(VisualShaderNode):


    def __init__(self): ...



    # Methods
    def get_constant(self,) -> Color: ...
    def set_constant(self,value: Color,) -> None: ...

    # Properties
    constant: Color



class VisualShaderNodeColorFunc(VisualShaderNode):


    def __init__(self): ...


    # Constants
    FUNC_GRAYSCALE: int
    FUNC_SEPIA: int
    # Enums
    class Function(IntFlag):
        FUNC_GRAYSCALE: int
        FUNC_SEPIA: int

    # Methods
    def get_function(self,) -> VisualShaderNodeColorFunc.Function: ...
    def set_function(self,func: int,) -> None: ...

    # Properties
    function: int



class VisualShaderNodeColorOp(VisualShaderNode):


    def __init__(self): ...


    # Constants
    OP_BURN: int
    OP_DARKEN: int
    OP_DIFFERENCE: int
    OP_DODGE: int
    OP_HARD_LIGHT: int
    OP_LIGHTEN: int
    OP_OVERLAY: int
    OP_SCREEN: int
    OP_SOFT_LIGHT: int
    # Enums
    class Operator(IntFlag):
        OP_SCREEN: int
        OP_DIFFERENCE: int
        OP_DARKEN: int
        OP_LIGHTEN: int
        OP_OVERLAY: int
        OP_DODGE: int
        OP_BURN: int
        OP_SOFT_LIGHT: int
        OP_HARD_LIGHT: int

    # Methods
    def get_operator(self,) -> VisualShaderNodeColorOp.Operator: ...
    def set_operator(self,op: int,) -> None: ...

    # Properties
    operator: int



class VisualShaderNodeCompare(VisualShaderNode):


    def __init__(self): ...


    # Constants
    COND_ALL: int
    COND_ANY: int
    CTYPE_BOOLEAN: int
    CTYPE_SCALAR: int
    CTYPE_TRANSFORM: int
    CTYPE_VECTOR: int
    FUNC_EQUAL: int
    FUNC_GREATER_THAN: int
    FUNC_GREATER_THAN_EQUAL: int
    FUNC_LESS_THAN: int
    FUNC_LESS_THAN_EQUAL: int
    FUNC_NOT_EQUAL: int
    # Enums
    class ComparisonType(IntFlag):
        CTYPE_SCALAR: int
        CTYPE_VECTOR: int
        CTYPE_BOOLEAN: int
        CTYPE_TRANSFORM: int
    class Function(IntFlag):
        FUNC_EQUAL: int
        FUNC_NOT_EQUAL: int
        FUNC_GREATER_THAN: int
        FUNC_GREATER_THAN_EQUAL: int
        FUNC_LESS_THAN: int
        FUNC_LESS_THAN_EQUAL: int
    class Condition(IntFlag):
        COND_ALL: int
        COND_ANY: int

    # Methods
    def get_comparison_type(self,) -> VisualShaderNodeCompare.ComparisonType: ...
    def get_condition(self,) -> VisualShaderNodeCompare.Condition: ...
    def get_function(self,) -> VisualShaderNodeCompare.Function: ...
    def set_comparison_type(self,type_: int,) -> None: ...
    def set_condition(self,condition: int,) -> None: ...
    def set_function(self,func: int,) -> None: ...

    # Properties
    condition: int
    function: int
    type_: int



class VisualShaderNodeCubeMap(VisualShaderNode):


    def __init__(self): ...


    # Constants
    SOURCE_PORT: int
    SOURCE_TEXTURE: int
    TYPE_COLOR: int
    TYPE_DATA: int
    TYPE_NORMALMAP: int
    # Enums
    class TextureType(IntFlag):
        TYPE_DATA: int
        TYPE_COLOR: int
        TYPE_NORMALMAP: int
    class Source(IntFlag):
        SOURCE_TEXTURE: int
        SOURCE_PORT: int

    # Methods
    def get_cube_map(self,) -> CubeMap: ...
    def get_source(self,) -> VisualShaderNodeCubeMap.Source: ...
    def get_texture_type(self,) -> VisualShaderNodeCubeMap.TextureType: ...
    def set_cube_map(self,value: CubeMap,) -> None: ...
    def set_source(self,value: int,) -> None: ...
    def set_texture_type(self,value: int,) -> None: ...

    # Properties
    cube_map: CubeMap
    source: int
    texture_type: int



class VisualShaderNodeCustom(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeDeterminant(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeDotProduct(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeFaceForward(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeFresnel(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeGroupBase(VisualShaderNode):


    def __init__(self): ...



    # Methods
    def add_input_port(self,id: int,type_: int,name: Union[str, GDString],) -> None: ...
    def add_output_port(self,id: int,type_: int,name: Union[str, GDString],) -> None: ...
    def clear_input_ports(self,) -> None: ...
    def clear_output_ports(self,) -> None: ...
    def get_free_input_port_id(self,) -> int: ...
    def get_free_output_port_id(self,) -> int: ...
    def get_input_port_count(self,) -> int: ...
    def get_inputs(self,) -> Union[str, GDString]: ...
    def get_output_port_count(self,) -> int: ...
    def get_outputs(self,) -> Union[str, GDString]: ...
    def get_size(self,) -> Vector2: ...
    def has_input_port(self,id: int,) -> bool: ...
    def has_output_port(self,id: int,) -> bool: ...
    def is_valid_port_name(self,name: Union[str, GDString],) -> bool: ...
    def remove_input_port(self,id: int,) -> None: ...
    def remove_output_port(self,id: int,) -> None: ...
    def set_input_port_name(self,id: int,name: Union[str, GDString],) -> None: ...
    def set_input_port_type(self,id: int,type_: int,) -> None: ...
    def set_inputs(self,inputs: Union[str, GDString],) -> None: ...
    def set_output_port_name(self,id: int,name: Union[str, GDString],) -> None: ...
    def set_output_port_type(self,id: int,type_: int,) -> None: ...
    def set_outputs(self,outputs: Union[str, GDString],) -> None: ...
    def set_size(self,size: Vector2,) -> None: ...

    # Properties
    size: Vector2



class VisualShaderNodeIf(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeInput(VisualShaderNode):


    def __init__(self): ...



    # Methods
    def get_input_name(self,) -> Union[str, GDString]: ...
    def get_input_real_name(self,) -> Union[str, GDString]: ...
    def set_input_name(self,name: Union[str, GDString],) -> None: ...

    # Properties
    input_name: Union[str, GDString]



class VisualShaderNodeIs(VisualShaderNode):


    def __init__(self): ...


    # Constants
    FUNC_IS_INF: int
    FUNC_IS_NAN: int
    # Enums
    class Function(IntFlag):
        FUNC_IS_INF: int
        FUNC_IS_NAN: int

    # Methods
    def get_function(self,) -> VisualShaderNodeIs.Function: ...
    def set_function(self,func: int,) -> None: ...

    # Properties
    function: int



class VisualShaderNodeOuterProduct(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeOutput(VisualShaderNode):




    pass


class VisualShaderNodeScalarClamp(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeScalarConstant(VisualShaderNode):


    def __init__(self): ...



    # Methods
    def get_constant(self,) -> float: ...
    def set_constant(self,value: float,) -> None: ...

    # Properties
    constant: float



class VisualShaderNodeScalarDerivativeFunc(VisualShaderNode):


    def __init__(self): ...


    # Constants
    FUNC_SUM: int
    FUNC_X: int
    FUNC_Y: int
    # Enums
    class Function(IntFlag):
        FUNC_SUM: int
        FUNC_X: int
        FUNC_Y: int

    # Methods
    def get_function(self,) -> VisualShaderNodeScalarDerivativeFunc.Function: ...
    def set_function(self,func: int,) -> None: ...

    # Properties
    function: int



class VisualShaderNodeScalarFunc(VisualShaderNode):


    def __init__(self): ...


    # Constants
    FUNC_ABS: int
    FUNC_ACOS: int
    FUNC_ACOSH: int
    FUNC_ASIN: int
    FUNC_ASINH: int
    FUNC_ATAN: int
    FUNC_ATANH: int
    FUNC_CEIL: int
    FUNC_COS: int
    FUNC_COSH: int
    FUNC_DEGREES: int
    FUNC_EXP: int
    FUNC_EXP2: int
    FUNC_FLOOR: int
    FUNC_FRAC: int
    FUNC_INVERSE_SQRT: int
    FUNC_LOG: int
    FUNC_LOG2: int
    FUNC_NEGATE: int
    FUNC_ONEMINUS: int
    FUNC_RADIANS: int
    FUNC_RECIPROCAL: int
    FUNC_ROUND: int
    FUNC_ROUNDEVEN: int
    FUNC_SATURATE: int
    FUNC_SIGN: int
    FUNC_SIN: int
    FUNC_SINH: int
    FUNC_SQRT: int
    FUNC_TAN: int
    FUNC_TANH: int
    FUNC_TRUNC: int
    # Enums
    class Function(IntFlag):
        FUNC_SIN: int
        FUNC_COS: int
        FUNC_TAN: int
        FUNC_ASIN: int
        FUNC_ACOS: int
        FUNC_ATAN: int
        FUNC_SINH: int
        FUNC_COSH: int
        FUNC_TANH: int
        FUNC_LOG: int
        FUNC_EXP: int
        FUNC_SQRT: int
        FUNC_ABS: int
        FUNC_SIGN: int
        FUNC_FLOOR: int
        FUNC_ROUND: int
        FUNC_CEIL: int
        FUNC_FRAC: int
        FUNC_SATURATE: int
        FUNC_NEGATE: int
        FUNC_ACOSH: int
        FUNC_ASINH: int
        FUNC_ATANH: int
        FUNC_DEGREES: int
        FUNC_EXP2: int
        FUNC_INVERSE_SQRT: int
        FUNC_LOG2: int
        FUNC_RADIANS: int
        FUNC_RECIPROCAL: int
        FUNC_ROUNDEVEN: int
        FUNC_TRUNC: int
        FUNC_ONEMINUS: int

    # Methods
    def get_function(self,) -> VisualShaderNodeScalarFunc.Function: ...
    def set_function(self,func: int,) -> None: ...

    # Properties
    function: int



class VisualShaderNodeScalarInterp(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeScalarOp(VisualShaderNode):


    def __init__(self): ...


    # Constants
    OP_ADD: int
    OP_ATAN2: int
    OP_DIV: int
    OP_MAX: int
    OP_MIN: int
    OP_MOD: int
    OP_MUL: int
    OP_POW: int
    OP_STEP: int
    OP_SUB: int
    # Enums
    class Operator(IntFlag):
        OP_ADD: int
        OP_SUB: int
        OP_MUL: int
        OP_DIV: int
        OP_MOD: int
        OP_POW: int
        OP_MAX: int
        OP_MIN: int
        OP_ATAN2: int
        OP_STEP: int

    # Methods
    def get_operator(self,) -> VisualShaderNodeScalarOp.Operator: ...
    def set_operator(self,op: int,) -> None: ...

    # Properties
    operator: int



class VisualShaderNodeScalarSmoothStep(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeSwitch(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeTexture(VisualShaderNode):


    def __init__(self): ...


    # Constants
    SOURCE_2D_NORMAL: int
    SOURCE_2D_TEXTURE: int
    SOURCE_DEPTH: int
    SOURCE_PORT: int
    SOURCE_SCREEN: int
    SOURCE_TEXTURE: int
    TYPE_COLOR: int
    TYPE_DATA: int
    TYPE_NORMALMAP: int
    # Enums
    class TextureType(IntFlag):
        TYPE_DATA: int
        TYPE_COLOR: int
        TYPE_NORMALMAP: int
    class Source(IntFlag):
        SOURCE_TEXTURE: int
        SOURCE_SCREEN: int
        SOURCE_2D_TEXTURE: int
        SOURCE_2D_NORMAL: int
        SOURCE_DEPTH: int
        SOURCE_PORT: int

    # Methods
    def get_source(self,) -> VisualShaderNodeTexture.Source: ...
    def get_texture(self,) -> Texture: ...
    def get_texture_type(self,) -> VisualShaderNodeTexture.TextureType: ...
    def set_source(self,value: int,) -> None: ...
    def set_texture(self,value: Texture,) -> None: ...
    def set_texture_type(self,value: int,) -> None: ...

    # Properties
    source: int
    texture: Texture
    texture_type: int



class VisualShaderNodeTransformCompose(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeTransformConstant(VisualShaderNode):


    def __init__(self): ...



    # Methods
    def get_constant(self,) -> Transform: ...
    def set_constant(self,value: Transform,) -> None: ...

    # Properties
    constant: Transform



class VisualShaderNodeTransformDecompose(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeTransformFunc(VisualShaderNode):


    def __init__(self): ...


    # Constants
    FUNC_INVERSE: int
    FUNC_TRANSPOSE: int
    # Enums
    class Function(IntFlag):
        FUNC_INVERSE: int
        FUNC_TRANSPOSE: int

    # Methods
    def get_function(self,) -> VisualShaderNodeTransformFunc.Function: ...
    def set_function(self,func: int,) -> None: ...

    # Properties
    function: int



class VisualShaderNodeTransformMult(VisualShaderNode):


    def __init__(self): ...


    # Constants
    OP_AxB: int
    OP_AxB_COMP: int
    OP_BxA: int
    OP_BxA_COMP: int
    # Enums
    class Operator(IntFlag):
        OP_AxB: int
        OP_BxA: int
        OP_AxB_COMP: int
        OP_BxA_COMP: int

    # Methods
    def get_operator(self,) -> VisualShaderNodeTransformMult.Operator: ...
    def set_operator(self,op: int,) -> None: ...

    # Properties
    operator: int



class VisualShaderNodeTransformVecMult(VisualShaderNode):


    def __init__(self): ...


    # Constants
    OP_3x3_AxB: int
    OP_3x3_BxA: int
    OP_AxB: int
    OP_BxA: int
    # Enums
    class Operator(IntFlag):
        OP_AxB: int
        OP_BxA: int
        OP_3x3_AxB: int
        OP_3x3_BxA: int

    # Methods
    def get_operator(self,) -> VisualShaderNodeTransformVecMult.Operator: ...
    def set_operator(self,op: int,) -> None: ...

    # Properties
    operator: int



class VisualShaderNodeUniform(VisualShaderNode):


    # Methods
    def get_uniform_name(self,) -> Union[str, GDString]: ...
    def set_uniform_name(self,name: Union[str, GDString],) -> None: ...

    # Properties
    uniform_name: Union[str, GDString]



class VisualShaderNodeVec3Constant(VisualShaderNode):


    def __init__(self): ...



    # Methods
    def get_constant(self,) -> Vector3: ...
    def set_constant(self,value: Vector3,) -> None: ...

    # Properties
    constant: Vector3



class VisualShaderNodeVectorClamp(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeVectorCompose(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeVectorDecompose(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeVectorDerivativeFunc(VisualShaderNode):


    def __init__(self): ...


    # Constants
    FUNC_SUM: int
    FUNC_X: int
    FUNC_Y: int
    # Enums
    class Function(IntFlag):
        FUNC_SUM: int
        FUNC_X: int
        FUNC_Y: int

    # Methods
    def get_function(self,) -> VisualShaderNodeVectorDerivativeFunc.Function: ...
    def set_function(self,func: int,) -> None: ...

    # Properties
    function: int



class VisualShaderNodeVectorDistance(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeVectorFunc(VisualShaderNode):


    def __init__(self): ...


    # Constants
    FUNC_ABS: int
    FUNC_ACOS: int
    FUNC_ACOSH: int
    FUNC_ASIN: int
    FUNC_ASINH: int
    FUNC_ATAN: int
    FUNC_ATANH: int
    FUNC_CEIL: int
    FUNC_COS: int
    FUNC_COSH: int
    FUNC_DEGREES: int
    FUNC_EXP: int
    FUNC_EXP2: int
    FUNC_FLOOR: int
    FUNC_FRAC: int
    FUNC_HSV2RGB: int
    FUNC_INVERSE_SQRT: int
    FUNC_LOG: int
    FUNC_LOG2: int
    FUNC_NEGATE: int
    FUNC_NORMALIZE: int
    FUNC_ONEMINUS: int
    FUNC_RADIANS: int
    FUNC_RECIPROCAL: int
    FUNC_RGB2HSV: int
    FUNC_ROUND: int
    FUNC_ROUNDEVEN: int
    FUNC_SATURATE: int
    FUNC_SIGN: int
    FUNC_SIN: int
    FUNC_SINH: int
    FUNC_SQRT: int
    FUNC_TAN: int
    FUNC_TANH: int
    FUNC_TRUNC: int
    # Enums
    class Function(IntFlag):
        FUNC_NORMALIZE: int
        FUNC_SATURATE: int
        FUNC_NEGATE: int
        FUNC_RECIPROCAL: int
        FUNC_RGB2HSV: int
        FUNC_HSV2RGB: int
        FUNC_ABS: int
        FUNC_ACOS: int
        FUNC_ACOSH: int
        FUNC_ASIN: int
        FUNC_ASINH: int
        FUNC_ATAN: int
        FUNC_ATANH: int
        FUNC_CEIL: int
        FUNC_COS: int
        FUNC_COSH: int
        FUNC_DEGREES: int
        FUNC_EXP: int
        FUNC_EXP2: int
        FUNC_FLOOR: int
        FUNC_FRAC: int
        FUNC_INVERSE_SQRT: int
        FUNC_LOG: int
        FUNC_LOG2: int
        FUNC_RADIANS: int
        FUNC_ROUND: int
        FUNC_ROUNDEVEN: int
        FUNC_SIGN: int
        FUNC_SIN: int
        FUNC_SINH: int
        FUNC_SQRT: int
        FUNC_TAN: int
        FUNC_TANH: int
        FUNC_TRUNC: int
        FUNC_ONEMINUS: int

    # Methods
    def get_function(self,) -> VisualShaderNodeVectorFunc.Function: ...
    def set_function(self,func: int,) -> None: ...

    # Properties
    function: int



class VisualShaderNodeVectorInterp(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeVectorLen(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeVectorOp(VisualShaderNode):


    def __init__(self): ...


    # Constants
    OP_ADD: int
    OP_ATAN2: int
    OP_CROSS: int
    OP_DIV: int
    OP_MAX: int
    OP_MIN: int
    OP_MOD: int
    OP_MUL: int
    OP_POW: int
    OP_REFLECT: int
    OP_STEP: int
    OP_SUB: int
    # Enums
    class Operator(IntFlag):
        OP_ADD: int
        OP_SUB: int
        OP_MUL: int
        OP_DIV: int
        OP_MOD: int
        OP_POW: int
        OP_MAX: int
        OP_MIN: int
        OP_CROSS: int
        OP_ATAN2: int
        OP_REFLECT: int
        OP_STEP: int

    # Methods
    def get_operator(self,) -> VisualShaderNodeVectorOp.Operator: ...
    def set_operator(self,op: int,) -> None: ...

    # Properties
    operator: int



class VisualShaderNodeVectorRefract(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeVectorScalarMix(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeVectorScalarSmoothStep(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeVectorScalarStep(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeVectorSmoothStep(VisualShaderNode):


    def __init__(self): ...





    pass


class VisualShaderNodeBooleanUniform(VisualShaderNodeUniform):


    def __init__(self): ...





    pass


class VisualShaderNodeColorUniform(VisualShaderNodeUniform):


    def __init__(self): ...





    pass


class VisualShaderNodeScalarUniform(VisualShaderNodeUniform):


    def __init__(self): ...





    pass


class VisualShaderNodeTextureUniform(VisualShaderNodeUniform):


    def __init__(self): ...


    # Constants
    COLOR_DEFAULT_BLACK: int
    COLOR_DEFAULT_WHITE: int
    TYPE_ANISO: int
    TYPE_COLOR: int
    TYPE_DATA: int
    TYPE_NORMALMAP: int
    # Enums
    class TextureType(IntFlag):
        TYPE_DATA: int
        TYPE_COLOR: int
        TYPE_NORMALMAP: int
        TYPE_ANISO: int
    class ColorDefault(IntFlag):
        COLOR_DEFAULT_WHITE: int
        COLOR_DEFAULT_BLACK: int

    # Methods
    def get_color_default(self,) -> VisualShaderNodeTextureUniform.ColorDefault: ...
    def get_texture_type(self,) -> VisualShaderNodeTextureUniform.TextureType: ...
    def set_color_default(self,type_: int,) -> None: ...
    def set_texture_type(self,type_: int,) -> None: ...

    # Properties
    color_default: int
    texture_type: int



class VisualShaderNodeTransformUniform(VisualShaderNodeUniform):


    def __init__(self): ...





    pass


class VisualShaderNodeVec3Uniform(VisualShaderNodeUniform):


    def __init__(self): ...





    pass


class VisualShaderNodeCubeMapUniform(VisualShaderNodeTextureUniform):


    def __init__(self): ...





    pass


class VisualShaderNodeTextureUniformTriplanar(VisualShaderNodeTextureUniform):


    def __init__(self): ...





    pass


class VisualShaderNodeScalarSwitch(VisualShaderNodeSwitch):


    def __init__(self): ...





    pass


class VisualShaderNodeExpression(VisualShaderNodeGroupBase):


    def __init__(self): ...



    # Methods
    def get_expression(self,) -> Union[str, GDString]: ...
    def set_expression(self,expression: Union[str, GDString],) -> None: ...

    # Properties
    expression: Union[str, GDString]



class VisualShaderNodeGlobalExpression(VisualShaderNodeExpression):


    def __init__(self): ...





    pass


class VisualScriptBasicTypeConstant(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_basic_type(self,) -> VariantType: ...
    def get_basic_type_constant(self,) -> Union[str, GDString]: ...
    def set_basic_type(self,name: int,) -> None: ...
    def set_basic_type_constant(self,name: Union[str, GDString],) -> None: ...

    # Properties
    basic_type: int
    constant: Union[str, GDString]



class VisualScriptBuiltinFunc(VisualScriptNode):


    def __init__(self): ...


    # Constants
    BYTES_TO_VAR: int
    COLORN: int
    FUNC_FUNCREF: int
    FUNC_MAX: int
    LOGIC_CLAMP: int
    LOGIC_MAX: int
    LOGIC_MIN: int
    LOGIC_NEAREST_PO2: int
    MATH_ABS: int
    MATH_ACOS: int
    MATH_ASIN: int
    MATH_ATAN: int
    MATH_ATAN2: int
    MATH_CARTESIAN2POLAR: int
    MATH_CEIL: int
    MATH_COS: int
    MATH_COSH: int
    MATH_DB2LINEAR: int
    MATH_DECIMALS: int
    MATH_DECTIME: int
    MATH_DEG2RAD: int
    MATH_EASE: int
    MATH_EXP: int
    MATH_FLOOR: int
    MATH_FMOD: int
    MATH_FPOSMOD: int
    MATH_INVERSE_LERP: int
    MATH_ISINF: int
    MATH_ISNAN: int
    MATH_LERP: int
    MATH_LERP_ANGLE: int
    MATH_LINEAR2DB: int
    MATH_LOG: int
    MATH_MOVE_TOWARD: int
    MATH_POLAR2CARTESIAN: int
    MATH_POSMOD: int
    MATH_POW: int
    MATH_RAD2DEG: int
    MATH_RAND: int
    MATH_RANDF: int
    MATH_RANDOM: int
    MATH_RANDOMIZE: int
    MATH_RANDSEED: int
    MATH_RANGE_LERP: int
    MATH_ROUND: int
    MATH_SEED: int
    MATH_SIGN: int
    MATH_SIN: int
    MATH_SINH: int
    MATH_SMOOTHSTEP: int
    MATH_SQRT: int
    MATH_STEPIFY: int
    MATH_TAN: int
    MATH_TANH: int
    MATH_WRAP: int
    MATH_WRAPF: int
    OBJ_WEAKREF: int
    STR_TO_VAR: int
    TEXT_CHAR: int
    TEXT_ORD: int
    TEXT_PRINT: int
    TEXT_PRINTERR: int
    TEXT_PRINTRAW: int
    TEXT_STR: int
    TYPE_CONVERT: int
    TYPE_EXISTS: int
    TYPE_OF: int
    VAR_TO_BYTES: int
    VAR_TO_STR: int
    # Enums
    class BuiltinFunc(IntFlag):
        MATH_SIN: int
        MATH_COS: int
        MATH_TAN: int
        MATH_SINH: int
        MATH_COSH: int
        MATH_TANH: int
        MATH_ASIN: int
        MATH_ACOS: int
        MATH_ATAN: int
        MATH_ATAN2: int
        MATH_SQRT: int
        MATH_FMOD: int
        MATH_FPOSMOD: int
        MATH_FLOOR: int
        MATH_CEIL: int
        MATH_ROUND: int
        MATH_ABS: int
        MATH_SIGN: int
        MATH_POW: int
        MATH_LOG: int
        MATH_EXP: int
        MATH_ISNAN: int
        MATH_ISINF: int
        MATH_EASE: int
        MATH_DECIMALS: int
        MATH_STEPIFY: int
        MATH_LERP: int
        MATH_INVERSE_LERP: int
        MATH_RANGE_LERP: int
        MATH_MOVE_TOWARD: int
        MATH_DECTIME: int
        MATH_RANDOMIZE: int
        MATH_RAND: int
        MATH_RANDF: int
        MATH_RANDOM: int
        MATH_SEED: int
        MATH_RANDSEED: int
        MATH_DEG2RAD: int
        MATH_RAD2DEG: int
        MATH_LINEAR2DB: int
        MATH_DB2LINEAR: int
        MATH_POLAR2CARTESIAN: int
        MATH_CARTESIAN2POLAR: int
        MATH_WRAP: int
        MATH_WRAPF: int
        LOGIC_MAX: int
        LOGIC_MIN: int
        LOGIC_CLAMP: int
        LOGIC_NEAREST_PO2: int
        OBJ_WEAKREF: int
        FUNC_FUNCREF: int
        TYPE_CONVERT: int
        TYPE_OF: int
        TYPE_EXISTS: int
        TEXT_CHAR: int
        TEXT_STR: int
        TEXT_PRINT: int
        TEXT_PRINTERR: int
        TEXT_PRINTRAW: int
        VAR_TO_STR: int
        STR_TO_VAR: int
        VAR_TO_BYTES: int
        BYTES_TO_VAR: int
        COLORN: int
        MATH_SMOOTHSTEP: int
        MATH_POSMOD: int
        MATH_LERP_ANGLE: int
        TEXT_ORD: int
        FUNC_MAX: int

    # Methods
    def get_func(self,) -> VisualScriptBuiltinFunc.BuiltinFunc: ...
    def set_func(self,which: int,) -> None: ...

    # Properties
    function: int



class VisualScriptClassConstant(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_base_type(self,) -> Union[str, GDString]: ...
    def get_class_constant(self,) -> Union[str, GDString]: ...
    def set_base_type(self,name: Union[str, GDString],) -> None: ...
    def set_class_constant(self,name: Union[str, GDString],) -> None: ...

    # Properties
    base_type: Union[str, GDString]
    constant: Union[str, GDString]



class VisualScriptComment(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_description(self,) -> Union[str, GDString]: ...
    def get_size(self,) -> Vector2: ...
    def get_title(self,) -> Union[str, GDString]: ...
    def set_description(self,description: Union[str, GDString],) -> None: ...
    def set_size(self,size: Vector2,) -> None: ...
    def set_title(self,title: Union[str, GDString],) -> None: ...

    # Properties
    description: Union[str, GDString]
    size: Vector2
    title: Union[str, GDString]



class VisualScriptCondition(VisualScriptNode):


    def __init__(self): ...





    pass


class VisualScriptConstant(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_constant_type(self,) -> VariantType: ...
    def get_constant_value(self,) -> object: ...
    def set_constant_type(self,type_: int,) -> None: ...
    def set_constant_value(self,value: object,) -> None: ...

    # Properties
    type_: int
    value: object



class VisualScriptConstructor(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_constructor(self,) -> Dictionary: ...
    def get_constructor_type(self,) -> VariantType: ...
    def set_constructor(self,constructor: Dictionary,) -> None: ...
    def set_constructor_type(self,type_: int,) -> None: ...

    # Properties
    constructor: Dictionary
    type_: int



class VisualScriptCustomNode(VisualScriptNode):


    def __init__(self): ...


    # Constants
    START_MODE_BEGIN_SEQUENCE: int
    START_MODE_CONTINUE_SEQUENCE: int
    START_MODE_RESUME_YIELD: int
    STEP_EXIT_FUNCTION_BIT: int
    STEP_GO_BACK_BIT: int
    STEP_NO_ADVANCE_BIT: int
    STEP_PUSH_STACK_BIT: int
    STEP_YIELD_BIT: int
    # Enums
    class StartMode(IntFlag):
        START_MODE_BEGIN_SEQUENCE: int
        START_MODE_CONTINUE_SEQUENCE: int
        START_MODE_RESUME_YIELD: int





class VisualScriptDeconstruct(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_deconstruct_type(self,) -> VariantType: ...
    def set_deconstruct_type(self,type_: int,) -> None: ...

    # Properties
    elem_cache: Array
    type_: int



class VisualScriptEmitSignal(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_signal(self,) -> Union[str, GDString]: ...
    def set_signal(self,name: Union[str, GDString],) -> None: ...

    # Properties
    signal: Union[str, GDString]



class VisualScriptEngineSingleton(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_singleton(self,) -> Union[str, GDString]: ...
    def set_singleton(self,name: Union[str, GDString],) -> None: ...

    # Properties
    constant: Union[str, GDString]



class VisualScriptExpression(VisualScriptNode):


    def __init__(self): ...





    pass


class VisualScriptFunction(VisualScriptNode):


    def __init__(self): ...





    pass


class VisualScriptFunctionCall(VisualScriptNode):


    def __init__(self): ...


    # Constants
    CALL_MODE_BASIC_TYPE: int
    CALL_MODE_INSTANCE: int
    CALL_MODE_NODE_PATH: int
    CALL_MODE_SELF: int
    CALL_MODE_SINGLETON: int
    RPC_DISABLED: int
    RPC_RELIABLE: int
    RPC_RELIABLE_TO_ID: int
    RPC_UNRELIABLE: int
    RPC_UNRELIABLE_TO_ID: int
    # Enums
    class RPCCallMode(IntFlag):
        RPC_DISABLED: int
        RPC_RELIABLE: int
        RPC_UNRELIABLE: int
        RPC_RELIABLE_TO_ID: int
        RPC_UNRELIABLE_TO_ID: int
    class CallMode(IntFlag):
        CALL_MODE_SELF: int
        CALL_MODE_NODE_PATH: int
        CALL_MODE_INSTANCE: int
        CALL_MODE_BASIC_TYPE: int
        CALL_MODE_SINGLETON: int

    # Methods
    def get_base_path(self,) -> Union[str, NodePath]: ...
    def get_base_script(self,) -> Union[str, GDString]: ...
    def get_base_type(self,) -> Union[str, GDString]: ...
    def get_basic_type(self,) -> VariantType: ...
    def get_call_mode(self,) -> VisualScriptFunctionCall.CallMode: ...
    def get_function(self,) -> Union[str, GDString]: ...
    def get_rpc_call_mode(self,) -> VisualScriptFunctionCall.RPCCallMode: ...
    def get_singleton(self,) -> Union[str, GDString]: ...
    def get_use_default_args(self,) -> int: ...
    def get_validate(self,) -> bool: ...
    def set_base_path(self,base_path: Union[str, NodePath],) -> None: ...
    def set_base_script(self,base_script: Union[str, GDString],) -> None: ...
    def set_base_type(self,base_type: Union[str, GDString],) -> None: ...
    def set_basic_type(self,basic_type: int,) -> None: ...
    def set_call_mode(self,mode: int,) -> None: ...
    def set_function(self,function: Union[str, GDString],) -> None: ...
    def set_rpc_call_mode(self,mode: int,) -> None: ...
    def set_singleton(self,singleton: Union[str, GDString],) -> None: ...
    def set_use_default_args(self,amount: int,) -> None: ...
    def set_validate(self,enable: bool,) -> None: ...

    # Properties
    argument_cache: Dictionary
    base_script: Union[str, GDString]
    base_type: Union[str, GDString]
    basic_type: int
    call_mode: int
    function: Union[str, GDString]
    node_path: Union[str, NodePath]
    rpc_call_mode: int
    singleton: Union[str, GDString]
    use_default_args: int
    validate: bool



class VisualScriptGlobalConstant(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_global_constant(self,) -> int: ...
    def set_global_constant(self,index: int,) -> None: ...

    # Properties
    constant: int



class VisualScriptIndexGet(VisualScriptNode):


    def __init__(self): ...





    pass


class VisualScriptIndexSet(VisualScriptNode):


    def __init__(self): ...





    pass


class VisualScriptInputAction(VisualScriptNode):


    def __init__(self): ...


    # Constants
    MODE_JUST_PRESSED: int
    MODE_JUST_RELEASED: int
    MODE_PRESSED: int
    MODE_RELEASED: int
    # Enums
    class Mode(IntFlag):
        MODE_PRESSED: int
        MODE_RELEASED: int
        MODE_JUST_PRESSED: int
        MODE_JUST_RELEASED: int

    # Methods
    def get_action_mode(self,) -> VisualScriptInputAction.Mode: ...
    def get_action_name(self,) -> Union[str, GDString]: ...
    def set_action_mode(self,mode: int,) -> None: ...
    def set_action_name(self,name: Union[str, GDString],) -> None: ...

    # Properties
    action: Union[str, GDString]
    mode: int



class VisualScriptIterator(VisualScriptNode):


    def __init__(self): ...





    pass


class VisualScriptLists(VisualScriptNode):


    # Methods
    def add_input_data_port(self,type_: int,name: Union[str, GDString],index: int,) -> None: ...
    def add_output_data_port(self,type_: int,name: Union[str, GDString],index: int,) -> None: ...
    def remove_input_data_port(self,index: int,) -> None: ...
    def remove_output_data_port(self,index: int,) -> None: ...
    def set_input_data_port_name(self,index: int,name: Union[str, GDString],) -> None: ...
    def set_input_data_port_type(self,index: int,type_: int,) -> None: ...
    def set_output_data_port_name(self,index: int,name: Union[str, GDString],) -> None: ...
    def set_output_data_port_type(self,index: int,type_: int,) -> None: ...




class VisualScriptLocalVar(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_var_name(self,) -> Union[str, GDString]: ...
    def get_var_type(self,) -> VariantType: ...
    def set_var_name(self,name: Union[str, GDString],) -> None: ...
    def set_var_type(self,type_: int,) -> None: ...

    # Properties
    type_: int
    var_name: Union[str, GDString]



class VisualScriptLocalVarSet(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_var_name(self,) -> Union[str, GDString]: ...
    def get_var_type(self,) -> VariantType: ...
    def set_var_name(self,name: Union[str, GDString],) -> None: ...
    def set_var_type(self,type_: int,) -> None: ...

    # Properties
    type_: int
    var_name: Union[str, GDString]



class VisualScriptMathConstant(VisualScriptNode):


    def __init__(self): ...


    # Constants
    MATH_CONSTANT_E: int
    MATH_CONSTANT_HALF_PI: int
    MATH_CONSTANT_INF: int
    MATH_CONSTANT_MAX: int
    MATH_CONSTANT_NAN: int
    MATH_CONSTANT_ONE: int
    MATH_CONSTANT_PI: int
    MATH_CONSTANT_SQRT2: int
    MATH_CONSTANT_TAU: int
    # Enums
    class MathConstant(IntFlag):
        MATH_CONSTANT_ONE: int
        MATH_CONSTANT_PI: int
        MATH_CONSTANT_HALF_PI: int
        MATH_CONSTANT_TAU: int
        MATH_CONSTANT_E: int
        MATH_CONSTANT_SQRT2: int
        MATH_CONSTANT_INF: int
        MATH_CONSTANT_NAN: int
        MATH_CONSTANT_MAX: int

    # Methods
    def get_math_constant(self,) -> VisualScriptMathConstant.MathConstant: ...
    def set_math_constant(self,which: int,) -> None: ...

    # Properties
    constant: int



class VisualScriptOperator(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_operator(self,) -> VariantOperator: ...
    def get_typed(self,) -> VariantType: ...
    def set_operator(self,op: int,) -> None: ...
    def set_typed(self,type_: int,) -> None: ...

    # Properties
    operator: int
    type_: int



class VisualScriptPreload(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_preload(self,) -> Resource: ...
    def set_preload(self,resource: Resource,) -> None: ...

    # Properties
    resource: Resource



class VisualScriptPropertyGet(VisualScriptNode):


    def __init__(self): ...


    # Constants
    CALL_MODE_INSTANCE: int
    CALL_MODE_NODE_PATH: int
    CALL_MODE_SELF: int
    # Enums
    class CallMode(IntFlag):
        CALL_MODE_SELF: int
        CALL_MODE_NODE_PATH: int
        CALL_MODE_INSTANCE: int

    # Methods
    def get_base_path(self,) -> Union[str, NodePath]: ...
    def get_base_script(self,) -> Union[str, GDString]: ...
    def get_base_type(self,) -> Union[str, GDString]: ...
    def get_basic_type(self,) -> VariantType: ...
    def get_call_mode(self,) -> VisualScriptPropertyGet.CallMode: ...
    def get_index(self,) -> Union[str, GDString]: ...
    def get_property(self,) -> Union[str, GDString]: ...
    def set_base_path(self,base_path: Union[str, NodePath],) -> None: ...
    def set_base_script(self,base_script: Union[str, GDString],) -> None: ...
    def set_base_type(self,base_type: Union[str, GDString],) -> None: ...
    def set_basic_type(self,basic_type: int,) -> None: ...
    def set_call_mode(self,mode: int,) -> None: ...
    def set_index(self,index: Union[str, GDString],) -> None: ...
    def set_property(self,property: Union[str, GDString],) -> None: ...

    # Properties
    base_script: Union[str, GDString]
    base_type: Union[str, GDString]
    basic_type: int
    index: Union[str, GDString]
    node_path: Union[str, NodePath]
    property: Union[str, GDString]
    set_mode: int
    type_cache: int



class VisualScriptPropertySet(VisualScriptNode):


    def __init__(self): ...


    # Constants
    ASSIGN_OP_ADD: int
    ASSIGN_OP_BIT_AND: int
    ASSIGN_OP_BIT_OR: int
    ASSIGN_OP_BIT_XOR: int
    ASSIGN_OP_DIV: int
    ASSIGN_OP_MOD: int
    ASSIGN_OP_MUL: int
    ASSIGN_OP_NONE: int
    ASSIGN_OP_SHIFT_LEFT: int
    ASSIGN_OP_SHIFT_RIGHT: int
    ASSIGN_OP_SUB: int
    CALL_MODE_BASIC_TYPE: int
    CALL_MODE_INSTANCE: int
    CALL_MODE_NODE_PATH: int
    CALL_MODE_SELF: int
    # Enums
    class AssignOp(IntFlag):
        ASSIGN_OP_NONE: int
        ASSIGN_OP_ADD: int
        ASSIGN_OP_SUB: int
        ASSIGN_OP_MUL: int
        ASSIGN_OP_DIV: int
        ASSIGN_OP_MOD: int
        ASSIGN_OP_SHIFT_LEFT: int
        ASSIGN_OP_SHIFT_RIGHT: int
        ASSIGN_OP_BIT_AND: int
        ASSIGN_OP_BIT_OR: int
        ASSIGN_OP_BIT_XOR: int
    class CallMode(IntFlag):
        CALL_MODE_SELF: int
        CALL_MODE_NODE_PATH: int
        CALL_MODE_INSTANCE: int
        CALL_MODE_BASIC_TYPE: int

    # Methods
    def get_assign_op(self,) -> VisualScriptPropertySet.AssignOp: ...
    def get_base_path(self,) -> Union[str, NodePath]: ...
    def get_base_script(self,) -> Union[str, GDString]: ...
    def get_base_type(self,) -> Union[str, GDString]: ...
    def get_basic_type(self,) -> VariantType: ...
    def get_call_mode(self,) -> VisualScriptPropertySet.CallMode: ...
    def get_index(self,) -> Union[str, GDString]: ...
    def get_property(self,) -> Union[str, GDString]: ...
    def set_assign_op(self,assign_op: int,) -> None: ...
    def set_base_path(self,base_path: Union[str, NodePath],) -> None: ...
    def set_base_script(self,base_script: Union[str, GDString],) -> None: ...
    def set_base_type(self,base_type: Union[str, GDString],) -> None: ...
    def set_basic_type(self,basic_type: int,) -> None: ...
    def set_call_mode(self,mode: int,) -> None: ...
    def set_index(self,index: Union[str, GDString],) -> None: ...
    def set_property(self,property: Union[str, GDString],) -> None: ...

    # Properties
    assign_op: int
    base_script: Union[str, GDString]
    base_type: Union[str, GDString]
    basic_type: int
    index: Union[str, GDString]
    node_path: Union[str, NodePath]
    property: Union[str, GDString]
    set_mode: int
    type_cache: int



class VisualScriptResourcePath(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_resource_path(self,) -> Union[str, GDString]: ...
    def set_resource_path(self,path: Union[str, GDString],) -> None: ...

    # Properties
    path: Union[str, GDString]



class VisualScriptReturn(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_return_type(self,) -> VariantType: ...
    def is_return_value_enabled(self,) -> bool: ...
    def set_enable_return_value(self,enable: bool,) -> None: ...
    def set_return_type(self,type_: int,) -> None: ...

    # Properties
    return_enabled: bool
    return_type: int



class VisualScriptSceneNode(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_node_path(self,) -> Union[str, NodePath]: ...
    def set_node_path(self,path: Union[str, NodePath],) -> None: ...

    # Properties
    node_path: Union[str, NodePath]



class VisualScriptSceneTree(VisualScriptNode):


    def __init__(self): ...





    pass


class VisualScriptSelect(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_typed(self,) -> VariantType: ...
    def set_typed(self,type_: int,) -> None: ...

    # Properties
    type_: int



class VisualScriptSelf(VisualScriptNode):


    def __init__(self): ...





    pass


class VisualScriptSequence(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_steps(self,) -> int: ...
    def set_steps(self,steps: int,) -> None: ...

    # Properties
    steps: int



class VisualScriptSubCall(VisualScriptNode):


    def __init__(self): ...





    pass


class VisualScriptSwitch(VisualScriptNode):


    def __init__(self): ...





    pass


class VisualScriptTypeCast(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_base_script(self,) -> Union[str, GDString]: ...
    def get_base_type(self,) -> Union[str, GDString]: ...
    def set_base_script(self,path: Union[str, GDString],) -> None: ...
    def set_base_type(self,type_: Union[str, GDString],) -> None: ...

    # Properties
    base_script: Union[str, GDString]
    base_type: Union[str, GDString]



class VisualScriptVariableGet(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_variable(self,) -> Union[str, GDString]: ...
    def set_variable(self,name: Union[str, GDString],) -> None: ...

    # Properties
    var_name: Union[str, GDString]



class VisualScriptVariableSet(VisualScriptNode):


    def __init__(self): ...



    # Methods
    def get_variable(self,) -> Union[str, GDString]: ...
    def set_variable(self,name: Union[str, GDString],) -> None: ...

    # Properties
    var_name: Union[str, GDString]



class VisualScriptWhile(VisualScriptNode):


    def __init__(self): ...





    pass


class VisualScriptYield(VisualScriptNode):


    def __init__(self): ...


    # Constants
    YIELD_FRAME: int
    YIELD_PHYSICS_FRAME: int
    YIELD_WAIT: int
    # Enums
    class YieldMode(IntFlag):
        YIELD_FRAME: int
        YIELD_PHYSICS_FRAME: int
        YIELD_WAIT: int

    # Methods
    def get_wait_time(self,) -> float: ...
    def get_yield_mode(self,) -> VisualScriptYield.YieldMode: ...
    def set_wait_time(self,sec: float,) -> None: ...
    def set_yield_mode(self,mode: int,) -> None: ...

    # Properties
    mode: int
    wait_time: float



class VisualScriptYieldSignal(VisualScriptNode):


    def __init__(self): ...


    # Constants
    CALL_MODE_INSTANCE: int
    CALL_MODE_NODE_PATH: int
    CALL_MODE_SELF: int
    # Enums
    class CallMode(IntFlag):
        CALL_MODE_SELF: int
        CALL_MODE_NODE_PATH: int
        CALL_MODE_INSTANCE: int

    # Methods
    def get_base_path(self,) -> Union[str, NodePath]: ...
    def get_base_type(self,) -> Union[str, GDString]: ...
    def get_call_mode(self,) -> VisualScriptYieldSignal.CallMode: ...
    def get_signal(self,) -> Union[str, GDString]: ...
    def set_base_path(self,base_path: Union[str, NodePath],) -> None: ...
    def set_base_type(self,base_type: Union[str, GDString],) -> None: ...
    def set_call_mode(self,mode: int,) -> None: ...
    def set_signal(self,signal: Union[str, GDString],) -> None: ...

    # Properties
    base_type: Union[str, GDString]
    call_mode: int
    node_path: Union[str, NodePath]
    signal: Union[str, GDString]



class VisualScriptComposeArray(VisualScriptLists):


    def __init__(self): ...





    pass


class VideoStreamGDNative(VideoStream):


    def __init__(self): ...



    # Methods
    def get_file(self,) -> Union[str, GDString]: ...
    def set_file(self,file: Union[str, GDString],) -> None: ...

    # Properties
    file: Union[str, GDString]



class VideoStreamTheora(VideoStream):


    def __init__(self): ...



    # Methods
    def get_file(self,) -> Union[str, GDString]: ...
    def set_file(self,file: Union[str, GDString],) -> None: ...

    # Properties
    file: Union[str, GDString]



class VideoStreamWebm(VideoStream):


    def __init__(self): ...



    # Methods
    def get_file(self,) -> Union[str, GDString]: ...
    def set_file(self,file: Union[str, GDString],) -> None: ...

    # Properties
    file: Union[str, GDString]



class PHashTranslation(Translation):


    def __init__(self): ...



    # Methods
    def generate(self,from_: Translation,) -> None: ...




class Texture3D(TextureLayered):


    def __init__(self): ...





    pass


class TextureArray(TextureLayered):


    def __init__(self): ...





    pass


class AnimatedTexture(Texture):


    def __init__(self): ...


    # Constants
    MAX_FRAMES: int

    # Methods
    def get_current_frame(self,) -> int: ...
    def get_fps(self,) -> float: ...
    def get_frame_delay(self,frame: int,) -> float: ...
    def get_frame_texture(self,frame: int,) -> Texture: ...
    def get_frames(self,) -> int: ...
    def get_oneshot(self,) -> bool: ...
    def get_pause(self,) -> bool: ...
    def set_current_frame(self,frame: int,) -> None: ...
    def set_fps(self,fps: float,) -> None: ...
    def set_frame_delay(self,frame: int,delay: float,) -> None: ...
    def set_frame_texture(self,frame: int,texture: Texture,) -> None: ...
    def set_frames(self,frames: int,) -> None: ...
    def set_oneshot(self,oneshot: bool,) -> None: ...
    def set_pause(self,pause: bool,) -> None: ...

    # Properties
    current_frame: int
    fps: float
    frame_0_delay_sec: float
    frame_0_texture: Texture
    frame_1_delay_sec: float
    frame_1_texture: Texture
    frame_10_delay_sec: float
    frame_10_texture: Texture
    frame_100_delay_sec: float
    frame_100_texture: Texture
    frame_101_delay_sec: float
    frame_101_texture: Texture
    frame_102_delay_sec: float
    frame_102_texture: Texture
    frame_103_delay_sec: float
    frame_103_texture: Texture
    frame_104_delay_sec: float
    frame_104_texture: Texture
    frame_105_delay_sec: float
    frame_105_texture: Texture
    frame_106_delay_sec: float
    frame_106_texture: Texture
    frame_107_delay_sec: float
    frame_107_texture: Texture
    frame_108_delay_sec: float
    frame_108_texture: Texture
    frame_109_delay_sec: float
    frame_109_texture: Texture
    frame_11_delay_sec: float
    frame_11_texture: Texture
    frame_110_delay_sec: float
    frame_110_texture: Texture
    frame_111_delay_sec: float
    frame_111_texture: Texture
    frame_112_delay_sec: float
    frame_112_texture: Texture
    frame_113_delay_sec: float
    frame_113_texture: Texture
    frame_114_delay_sec: float
    frame_114_texture: Texture
    frame_115_delay_sec: float
    frame_115_texture: Texture
    frame_116_delay_sec: float
    frame_116_texture: Texture
    frame_117_delay_sec: float
    frame_117_texture: Texture
    frame_118_delay_sec: float
    frame_118_texture: Texture
    frame_119_delay_sec: float
    frame_119_texture: Texture
    frame_12_delay_sec: float
    frame_12_texture: Texture
    frame_120_delay_sec: float
    frame_120_texture: Texture
    frame_121_delay_sec: float
    frame_121_texture: Texture
    frame_122_delay_sec: float
    frame_122_texture: Texture
    frame_123_delay_sec: float
    frame_123_texture: Texture
    frame_124_delay_sec: float
    frame_124_texture: Texture
    frame_125_delay_sec: float
    frame_125_texture: Texture
    frame_126_delay_sec: float
    frame_126_texture: Texture
    frame_127_delay_sec: float
    frame_127_texture: Texture
    frame_128_delay_sec: float
    frame_128_texture: Texture
    frame_129_delay_sec: float
    frame_129_texture: Texture
    frame_13_delay_sec: float
    frame_13_texture: Texture
    frame_130_delay_sec: float
    frame_130_texture: Texture
    frame_131_delay_sec: float
    frame_131_texture: Texture
    frame_132_delay_sec: float
    frame_132_texture: Texture
    frame_133_delay_sec: float
    frame_133_texture: Texture
    frame_134_delay_sec: float
    frame_134_texture: Texture
    frame_135_delay_sec: float
    frame_135_texture: Texture
    frame_136_delay_sec: float
    frame_136_texture: Texture
    frame_137_delay_sec: float
    frame_137_texture: Texture
    frame_138_delay_sec: float
    frame_138_texture: Texture
    frame_139_delay_sec: float
    frame_139_texture: Texture
    frame_14_delay_sec: float
    frame_14_texture: Texture
    frame_140_delay_sec: float
    frame_140_texture: Texture
    frame_141_delay_sec: float
    frame_141_texture: Texture
    frame_142_delay_sec: float
    frame_142_texture: Texture
    frame_143_delay_sec: float
    frame_143_texture: Texture
    frame_144_delay_sec: float
    frame_144_texture: Texture
    frame_145_delay_sec: float
    frame_145_texture: Texture
    frame_146_delay_sec: float
    frame_146_texture: Texture
    frame_147_delay_sec: float
    frame_147_texture: Texture
    frame_148_delay_sec: float
    frame_148_texture: Texture
    frame_149_delay_sec: float
    frame_149_texture: Texture
    frame_15_delay_sec: float
    frame_15_texture: Texture
    frame_150_delay_sec: float
    frame_150_texture: Texture
    frame_151_delay_sec: float
    frame_151_texture: Texture
    frame_152_delay_sec: float
    frame_152_texture: Texture
    frame_153_delay_sec: float
    frame_153_texture: Texture
    frame_154_delay_sec: float
    frame_154_texture: Texture
    frame_155_delay_sec: float
    frame_155_texture: Texture
    frame_156_delay_sec: float
    frame_156_texture: Texture
    frame_157_delay_sec: float
    frame_157_texture: Texture
    frame_158_delay_sec: float
    frame_158_texture: Texture
    frame_159_delay_sec: float
    frame_159_texture: Texture
    frame_16_delay_sec: float
    frame_16_texture: Texture
    frame_160_delay_sec: float
    frame_160_texture: Texture
    frame_161_delay_sec: float
    frame_161_texture: Texture
    frame_162_delay_sec: float
    frame_162_texture: Texture
    frame_163_delay_sec: float
    frame_163_texture: Texture
    frame_164_delay_sec: float
    frame_164_texture: Texture
    frame_165_delay_sec: float
    frame_165_texture: Texture
    frame_166_delay_sec: float
    frame_166_texture: Texture
    frame_167_delay_sec: float
    frame_167_texture: Texture
    frame_168_delay_sec: float
    frame_168_texture: Texture
    frame_169_delay_sec: float
    frame_169_texture: Texture
    frame_17_delay_sec: float
    frame_17_texture: Texture
    frame_170_delay_sec: float
    frame_170_texture: Texture
    frame_171_delay_sec: float
    frame_171_texture: Texture
    frame_172_delay_sec: float
    frame_172_texture: Texture
    frame_173_delay_sec: float
    frame_173_texture: Texture
    frame_174_delay_sec: float
    frame_174_texture: Texture
    frame_175_delay_sec: float
    frame_175_texture: Texture
    frame_176_delay_sec: float
    frame_176_texture: Texture
    frame_177_delay_sec: float
    frame_177_texture: Texture
    frame_178_delay_sec: float
    frame_178_texture: Texture
    frame_179_delay_sec: float
    frame_179_texture: Texture
    frame_18_delay_sec: float
    frame_18_texture: Texture
    frame_180_delay_sec: float
    frame_180_texture: Texture
    frame_181_delay_sec: float
    frame_181_texture: Texture
    frame_182_delay_sec: float
    frame_182_texture: Texture
    frame_183_delay_sec: float
    frame_183_texture: Texture
    frame_184_delay_sec: float
    frame_184_texture: Texture
    frame_185_delay_sec: float
    frame_185_texture: Texture
    frame_186_delay_sec: float
    frame_186_texture: Texture
    frame_187_delay_sec: float
    frame_187_texture: Texture
    frame_188_delay_sec: float
    frame_188_texture: Texture
    frame_189_delay_sec: float
    frame_189_texture: Texture
    frame_19_delay_sec: float
    frame_19_texture: Texture
    frame_190_delay_sec: float
    frame_190_texture: Texture
    frame_191_delay_sec: float
    frame_191_texture: Texture
    frame_192_delay_sec: float
    frame_192_texture: Texture
    frame_193_delay_sec: float
    frame_193_texture: Texture
    frame_194_delay_sec: float
    frame_194_texture: Texture
    frame_195_delay_sec: float
    frame_195_texture: Texture
    frame_196_delay_sec: float
    frame_196_texture: Texture
    frame_197_delay_sec: float
    frame_197_texture: Texture
    frame_198_delay_sec: float
    frame_198_texture: Texture
    frame_199_delay_sec: float
    frame_199_texture: Texture
    frame_2_delay_sec: float
    frame_2_texture: Texture
    frame_20_delay_sec: float
    frame_20_texture: Texture
    frame_200_delay_sec: float
    frame_200_texture: Texture
    frame_201_delay_sec: float
    frame_201_texture: Texture
    frame_202_delay_sec: float
    frame_202_texture: Texture
    frame_203_delay_sec: float
    frame_203_texture: Texture
    frame_204_delay_sec: float
    frame_204_texture: Texture
    frame_205_delay_sec: float
    frame_205_texture: Texture
    frame_206_delay_sec: float
    frame_206_texture: Texture
    frame_207_delay_sec: float
    frame_207_texture: Texture
    frame_208_delay_sec: float
    frame_208_texture: Texture
    frame_209_delay_sec: float
    frame_209_texture: Texture
    frame_21_delay_sec: float
    frame_21_texture: Texture
    frame_210_delay_sec: float
    frame_210_texture: Texture
    frame_211_delay_sec: float
    frame_211_texture: Texture
    frame_212_delay_sec: float
    frame_212_texture: Texture
    frame_213_delay_sec: float
    frame_213_texture: Texture
    frame_214_delay_sec: float
    frame_214_texture: Texture
    frame_215_delay_sec: float
    frame_215_texture: Texture
    frame_216_delay_sec: float
    frame_216_texture: Texture
    frame_217_delay_sec: float
    frame_217_texture: Texture
    frame_218_delay_sec: float
    frame_218_texture: Texture
    frame_219_delay_sec: float
    frame_219_texture: Texture
    frame_22_delay_sec: float
    frame_22_texture: Texture
    frame_220_delay_sec: float
    frame_220_texture: Texture
    frame_221_delay_sec: float
    frame_221_texture: Texture
    frame_222_delay_sec: float
    frame_222_texture: Texture
    frame_223_delay_sec: float
    frame_223_texture: Texture
    frame_224_delay_sec: float
    frame_224_texture: Texture
    frame_225_delay_sec: float
    frame_225_texture: Texture
    frame_226_delay_sec: float
    frame_226_texture: Texture
    frame_227_delay_sec: float
    frame_227_texture: Texture
    frame_228_delay_sec: float
    frame_228_texture: Texture
    frame_229_delay_sec: float
    frame_229_texture: Texture
    frame_23_delay_sec: float
    frame_23_texture: Texture
    frame_230_delay_sec: float
    frame_230_texture: Texture
    frame_231_delay_sec: float
    frame_231_texture: Texture
    frame_232_delay_sec: float
    frame_232_texture: Texture
    frame_233_delay_sec: float
    frame_233_texture: Texture
    frame_234_delay_sec: float
    frame_234_texture: Texture
    frame_235_delay_sec: float
    frame_235_texture: Texture
    frame_236_delay_sec: float
    frame_236_texture: Texture
    frame_237_delay_sec: float
    frame_237_texture: Texture
    frame_238_delay_sec: float
    frame_238_texture: Texture
    frame_239_delay_sec: float
    frame_239_texture: Texture
    frame_24_delay_sec: float
    frame_24_texture: Texture
    frame_240_delay_sec: float
    frame_240_texture: Texture
    frame_241_delay_sec: float
    frame_241_texture: Texture
    frame_242_delay_sec: float
    frame_242_texture: Texture
    frame_243_delay_sec: float
    frame_243_texture: Texture
    frame_244_delay_sec: float
    frame_244_texture: Texture
    frame_245_delay_sec: float
    frame_245_texture: Texture
    frame_246_delay_sec: float
    frame_246_texture: Texture
    frame_247_delay_sec: float
    frame_247_texture: Texture
    frame_248_delay_sec: float
    frame_248_texture: Texture
    frame_249_delay_sec: float
    frame_249_texture: Texture
    frame_25_delay_sec: float
    frame_25_texture: Texture
    frame_250_delay_sec: float
    frame_250_texture: Texture
    frame_251_delay_sec: float
    frame_251_texture: Texture
    frame_252_delay_sec: float
    frame_252_texture: Texture
    frame_253_delay_sec: float
    frame_253_texture: Texture
    frame_254_delay_sec: float
    frame_254_texture: Texture
    frame_255_delay_sec: float
    frame_255_texture: Texture
    frame_26_delay_sec: float
    frame_26_texture: Texture
    frame_27_delay_sec: float
    frame_27_texture: Texture
    frame_28_delay_sec: float
    frame_28_texture: Texture
    frame_29_delay_sec: float
    frame_29_texture: Texture
    frame_3_delay_sec: float
    frame_3_texture: Texture
    frame_30_delay_sec: float
    frame_30_texture: Texture
    frame_31_delay_sec: float
    frame_31_texture: Texture
    frame_32_delay_sec: float
    frame_32_texture: Texture
    frame_33_delay_sec: float
    frame_33_texture: Texture
    frame_34_delay_sec: float
    frame_34_texture: Texture
    frame_35_delay_sec: float
    frame_35_texture: Texture
    frame_36_delay_sec: float
    frame_36_texture: Texture
    frame_37_delay_sec: float
    frame_37_texture: Texture
    frame_38_delay_sec: float
    frame_38_texture: Texture
    frame_39_delay_sec: float
    frame_39_texture: Texture
    frame_4_delay_sec: float
    frame_4_texture: Texture
    frame_40_delay_sec: float
    frame_40_texture: Texture
    frame_41_delay_sec: float
    frame_41_texture: Texture
    frame_42_delay_sec: float
    frame_42_texture: Texture
    frame_43_delay_sec: float
    frame_43_texture: Texture
    frame_44_delay_sec: float
    frame_44_texture: Texture
    frame_45_delay_sec: float
    frame_45_texture: Texture
    frame_46_delay_sec: float
    frame_46_texture: Texture
    frame_47_delay_sec: float
    frame_47_texture: Texture
    frame_48_delay_sec: float
    frame_48_texture: Texture
    frame_49_delay_sec: float
    frame_49_texture: Texture
    frame_5_delay_sec: float
    frame_5_texture: Texture
    frame_50_delay_sec: float
    frame_50_texture: Texture
    frame_51_delay_sec: float
    frame_51_texture: Texture
    frame_52_delay_sec: float
    frame_52_texture: Texture
    frame_53_delay_sec: float
    frame_53_texture: Texture
    frame_54_delay_sec: float
    frame_54_texture: Texture
    frame_55_delay_sec: float
    frame_55_texture: Texture
    frame_56_delay_sec: float
    frame_56_texture: Texture
    frame_57_delay_sec: float
    frame_57_texture: Texture
    frame_58_delay_sec: float
    frame_58_texture: Texture
    frame_59_delay_sec: float
    frame_59_texture: Texture
    frame_6_delay_sec: float
    frame_6_texture: Texture
    frame_60_delay_sec: float
    frame_60_texture: Texture
    frame_61_delay_sec: float
    frame_61_texture: Texture
    frame_62_delay_sec: float
    frame_62_texture: Texture
    frame_63_delay_sec: float
    frame_63_texture: Texture
    frame_64_delay_sec: float
    frame_64_texture: Texture
    frame_65_delay_sec: float
    frame_65_texture: Texture
    frame_66_delay_sec: float
    frame_66_texture: Texture
    frame_67_delay_sec: float
    frame_67_texture: Texture
    frame_68_delay_sec: float
    frame_68_texture: Texture
    frame_69_delay_sec: float
    frame_69_texture: Texture
    frame_7_delay_sec: float
    frame_7_texture: Texture
    frame_70_delay_sec: float
    frame_70_texture: Texture
    frame_71_delay_sec: float
    frame_71_texture: Texture
    frame_72_delay_sec: float
    frame_72_texture: Texture
    frame_73_delay_sec: float
    frame_73_texture: Texture
    frame_74_delay_sec: float
    frame_74_texture: Texture
    frame_75_delay_sec: float
    frame_75_texture: Texture
    frame_76_delay_sec: float
    frame_76_texture: Texture
    frame_77_delay_sec: float
    frame_77_texture: Texture
    frame_78_delay_sec: float
    frame_78_texture: Texture
    frame_79_delay_sec: float
    frame_79_texture: Texture
    frame_8_delay_sec: float
    frame_8_texture: Texture
    frame_80_delay_sec: float
    frame_80_texture: Texture
    frame_81_delay_sec: float
    frame_81_texture: Texture
    frame_82_delay_sec: float
    frame_82_texture: Texture
    frame_83_delay_sec: float
    frame_83_texture: Texture
    frame_84_delay_sec: float
    frame_84_texture: Texture
    frame_85_delay_sec: float
    frame_85_texture: Texture
    frame_86_delay_sec: float
    frame_86_texture: Texture
    frame_87_delay_sec: float
    frame_87_texture: Texture
    frame_88_delay_sec: float
    frame_88_texture: Texture
    frame_89_delay_sec: float
    frame_89_texture: Texture
    frame_9_delay_sec: float
    frame_9_texture: Texture
    frame_90_delay_sec: float
    frame_90_texture: Texture
    frame_91_delay_sec: float
    frame_91_texture: Texture
    frame_92_delay_sec: float
    frame_92_texture: Texture
    frame_93_delay_sec: float
    frame_93_texture: Texture
    frame_94_delay_sec: float
    frame_94_texture: Texture
    frame_95_delay_sec: float
    frame_95_texture: Texture
    frame_96_delay_sec: float
    frame_96_texture: Texture
    frame_97_delay_sec: float
    frame_97_texture: Texture
    frame_98_delay_sec: float
    frame_98_texture: Texture
    frame_99_delay_sec: float
    frame_99_texture: Texture
    frames: int
    oneshot: bool
    pause: bool



class AtlasTexture(Texture):


    def __init__(self): ...



    # Methods
    def get_atlas(self,) -> Texture: ...
    def get_margin(self,) -> Rect2: ...
    def get_region(self,) -> Rect2: ...
    def has_filter_clip(self,) -> bool: ...
    def set_atlas(self,atlas: Texture,) -> None: ...
    def set_filter_clip(self,enable: bool,) -> None: ...
    def set_margin(self,margin: Rect2,) -> None: ...
    def set_region(self,region: Rect2,) -> None: ...

    # Properties
    atlas: Texture
    filter_clip: bool
    margin: Rect2
    region: Rect2



class CameraTexture(Texture):


    def __init__(self): ...



    # Methods
    def get_camera_active(self,) -> bool: ...
    def get_camera_feed_id(self,) -> int: ...
    def get_which_feed(self,) -> _CameraServer.FeedImage: ...
    def set_camera_active(self,active: bool,) -> None: ...
    def set_camera_feed_id(self,feed_id: int,) -> None: ...
    def set_which_feed(self,which_feed: int,) -> None: ...

    # Properties
    camera_feed_id: int
    camera_is_active: bool
    which_feed: int



class CurveTexture(Texture):


    def __init__(self): ...



    # Methods
    def get_curve(self,) -> Curve: ...
    def set_curve(self,curve: Curve,) -> None: ...
    def set_width(self,width: int,) -> None: ...

    # Properties
    curve: Curve
    width: int



class ExternalTexture(Texture):


    def __init__(self): ...



    # Methods
    def get_external_texture_id(self,) -> int: ...
    def set_size(self,size: Vector2,) -> None: ...

    # Properties
    size: Vector2



class GradientTexture(Texture):


    def __init__(self): ...



    # Methods
    def get_gradient(self,) -> Gradient: ...
    def set_gradient(self,gradient: Gradient,) -> None: ...
    def set_width(self,width: int,) -> None: ...

    # Properties
    gradient: Gradient
    width: int



class ImageTexture(Texture):


    def __init__(self): ...


    # Constants
    STORAGE_COMPRESS_LOSSLESS: int
    STORAGE_COMPRESS_LOSSY: int
    STORAGE_RAW: int
    # Enums
    class Storage(IntFlag):
        STORAGE_RAW: int
        STORAGE_COMPRESS_LOSSY: int
        STORAGE_COMPRESS_LOSSLESS: int

    # Methods
    def create(self,width: int,height: int,format: int,flags: int=7,) -> None: ...
    def create_from_image(self,image: Image,flags: int=7,) -> None: ...
    def get_format(self,) -> Image.Format: ...
    def get_lossy_storage_quality(self,) -> float: ...
    def get_storage(self,) -> ImageTexture.Storage: ...
    def load(self,path: Union[str, GDString],) -> Error: ...
    def set_data(self,image: Image,) -> None: ...
    def set_lossy_storage_quality(self,quality: float,) -> None: ...
    def set_size_override(self,size: Vector2,) -> None: ...
    def set_storage(self,mode: int,) -> None: ...

    # Properties
    lossy_quality: float
    storage: int



class LargeTexture(Texture):


    def __init__(self): ...



    # Methods
    def add_piece(self,ofs: Vector2,texture: Texture,) -> int: ...
    def clear(self,) -> None: ...
    def get_piece_count(self,) -> int: ...
    def get_piece_offset(self,idx: int,) -> Vector2: ...
    def get_piece_texture(self,idx: int,) -> Texture: ...
    def set_piece_offset(self,idx: int,ofs: Vector2,) -> None: ...
    def set_piece_texture(self,idx: int,texture: Texture,) -> None: ...
    def set_size(self,size: Vector2,) -> None: ...

    # Properties
    _data: Array



class MeshTexture(Texture):


    def __init__(self): ...



    # Methods
    def get_base_texture(self,) -> Texture: ...
    def get_image_size(self,) -> Vector2: ...
    def get_mesh(self,) -> Mesh: ...
    def set_base_texture(self,texture: Texture,) -> None: ...
    def set_image_size(self,size: Vector2,) -> None: ...
    def set_mesh(self,mesh: Mesh,) -> None: ...

    # Properties
    base_texture: Texture
    image_size: Vector2
    mesh: Mesh



class NoiseTexture(Texture):


    def __init__(self): ...



    # Methods
    def get_bump_strength(self,) -> float: ...
    def get_noise(self,) -> OpenSimplexNoise: ...
    def get_seamless(self,) -> bool: ...
    def is_normalmap(self,) -> bool: ...
    def set_as_normalmap(self,as_normalmap: bool,) -> None: ...
    def set_bump_strength(self,bump_strength: float,) -> None: ...
    def set_height(self,height: int,) -> None: ...
    def set_noise(self,noise: OpenSimplexNoise,) -> None: ...
    def set_seamless(self,seamless: bool,) -> None: ...
    def set_width(self,width: int,) -> None: ...

    # Properties
    as_normalmap: bool
    bump_strength: float
    height: int
    noise: OpenSimplexNoise
    seamless: bool
    width: int



class ProxyTexture(Texture):


    def __init__(self): ...



    # Methods
    def get_base(self,) -> Texture: ...
    def set_base(self,base: Texture,) -> None: ...

    # Properties
    base: Texture



class StreamTexture(Texture):


    def __init__(self): ...



    # Methods
    def get_load_path(self,) -> Union[str, GDString]: ...
    def load(self,path: Union[str, GDString],) -> Error: ...

    # Properties
    load_path: Union[str, GDString]



class ViewportTexture(Texture):


    def __init__(self): ...



    # Methods
    def get_viewport_path_in_scene(self,) -> Union[str, NodePath]: ...
    def set_viewport_path_in_scene(self,path: Union[str, NodePath],) -> None: ...

    # Properties
    viewport_path: Union[str, NodePath]



class StyleBoxEmpty(StyleBox):


    def __init__(self): ...





    pass


class StyleBoxFlat(StyleBox):


    def __init__(self): ...



    # Methods
    def get_aa_size(self,) -> int: ...
    def get_bg_color(self,) -> Color: ...
    def get_border_blend(self,) -> bool: ...
    def get_border_color(self,) -> Color: ...
    def get_border_width(self,margin: int,) -> int: ...
    def get_border_width_min(self,) -> int: ...
    def get_corner_detail(self,) -> int: ...
    def get_corner_radius(self,corner: int,) -> int: ...
    def get_expand_margin(self,margin: int,) -> float: ...
    def get_shadow_color(self,) -> Color: ...
    def get_shadow_offset(self,) -> Vector2: ...
    def get_shadow_size(self,) -> int: ...
    def is_anti_aliased(self,) -> bool: ...
    def is_draw_center_enabled(self,) -> bool: ...
    def set_aa_size(self,size: int,) -> None: ...
    def set_anti_aliased(self,anti_aliased: bool,) -> None: ...
    def set_bg_color(self,color: Color,) -> None: ...
    def set_border_blend(self,blend: bool,) -> None: ...
    def set_border_color(self,color: Color,) -> None: ...
    def set_border_width(self,margin: int,width: int,) -> None: ...
    def set_border_width_all(self,width: int,) -> None: ...
    def set_corner_detail(self,detail: int,) -> None: ...
    def set_corner_radius(self,corner: int,radius: int,) -> None: ...
    def set_corner_radius_all(self,radius: int,) -> None: ...
    def set_corner_radius_individual(self,radius_top_left: int,radius_top_right: int,radius_bottom_right: int,radius_bottom_left: int,) -> None: ...
    def set_draw_center(self,draw_center: bool,) -> None: ...
    def set_expand_margin(self,margin: int,size: float,) -> None: ...
    def set_expand_margin_all(self,size: float,) -> None: ...
    def set_expand_margin_individual(self,size_left: float,size_top: float,size_right: float,size_bottom: float,) -> None: ...
    def set_shadow_color(self,color: Color,) -> None: ...
    def set_shadow_offset(self,offset: Vector2,) -> None: ...
    def set_shadow_size(self,size: int,) -> None: ...

    # Properties
    anti_aliasing: bool
    anti_aliasing_size: int
    bg_color: Color
    border_blend: bool
    border_color: Color
    border_width_bottom: int
    border_width_left: int
    border_width_right: int
    border_width_top: int
    corner_detail: int
    corner_radius_bottom_left: int
    corner_radius_bottom_right: int
    corner_radius_top_left: int
    corner_radius_top_right: int
    draw_center: bool
    expand_margin_bottom: float
    expand_margin_left: float
    expand_margin_right: float
    expand_margin_top: float
    shadow_color: Color
    shadow_offset: Vector2
    shadow_size: int



class StyleBoxLine(StyleBox):


    def __init__(self): ...



    # Methods
    def get_color(self,) -> Color: ...
    def get_grow_begin(self,) -> float: ...
    def get_grow_end(self,) -> float: ...
    def get_thickness(self,) -> int: ...
    def is_vertical(self,) -> bool: ...
    def set_color(self,color: Color,) -> None: ...
    def set_grow_begin(self,offset: float,) -> None: ...
    def set_grow_end(self,offset: float,) -> None: ...
    def set_thickness(self,thickness: int,) -> None: ...
    def set_vertical(self,vertical: bool,) -> None: ...

    # Properties
    color: Color
    grow_begin: float
    grow_end: float
    thickness: int
    vertical: bool



class StyleBoxTexture(StyleBox):


    def __init__(self): ...


    # Constants
    AXIS_STRETCH_MODE_STRETCH: int
    AXIS_STRETCH_MODE_TILE: int
    AXIS_STRETCH_MODE_TILE_FIT: int
    # Enums
    class AxisStretchMode(IntFlag):
        AXIS_STRETCH_MODE_STRETCH: int
        AXIS_STRETCH_MODE_TILE: int
        AXIS_STRETCH_MODE_TILE_FIT: int

    # Methods
    def get_expand_margin_size(self,margin: int,) -> float: ...
    def get_h_axis_stretch_mode(self,) -> StyleBoxTexture.AxisStretchMode: ...
    def get_margin_size(self,margin: int,) -> float: ...
    def get_modulate(self,) -> Color: ...
    def get_normal_map(self,) -> Texture: ...
    def get_region_rect(self,) -> Rect2: ...
    def get_texture(self,) -> Texture: ...
    def get_v_axis_stretch_mode(self,) -> StyleBoxTexture.AxisStretchMode: ...
    def is_draw_center_enabled(self,) -> bool: ...
    def set_draw_center(self,enable: bool,) -> None: ...
    def set_expand_margin_all(self,size: float,) -> None: ...
    def set_expand_margin_individual(self,size_left: float,size_top: float,size_right: float,size_bottom: float,) -> None: ...
    def set_expand_margin_size(self,margin: int,size: float,) -> None: ...
    def set_h_axis_stretch_mode(self,mode: int,) -> None: ...
    def set_margin_size(self,margin: int,size: float,) -> None: ...
    def set_modulate(self,color: Color,) -> None: ...
    def set_normal_map(self,normal_map: Texture,) -> None: ...
    def set_region_rect(self,region: Rect2,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...
    def set_v_axis_stretch_mode(self,mode: int,) -> None: ...

    # Properties
    axis_stretch_horizontal: int
    axis_stretch_vertical: int
    draw_center: bool
    expand_margin_bottom: float
    expand_margin_left: float
    expand_margin_right: float
    expand_margin_top: float
    margin_bottom: float
    margin_left: float
    margin_right: float
    margin_top: float
    modulate_color: Color
    normal_map: Texture
    region_rect: Rect2
    texture: Texture



class PanoramaSky(Sky):


    def __init__(self): ...



    # Methods
    def get_panorama(self,) -> Texture: ...
    def set_panorama(self,texture: Texture,) -> None: ...

    # Properties
    panorama: Texture



class ProceduralSky(Sky):


    def __init__(self): ...


    # Constants
    TEXTURE_SIZE_1024: int
    TEXTURE_SIZE_2048: int
    TEXTURE_SIZE_256: int
    TEXTURE_SIZE_4096: int
    TEXTURE_SIZE_512: int
    TEXTURE_SIZE_MAX: int
    # Enums
    class TextureSize(IntFlag):
        TEXTURE_SIZE_256: int
        TEXTURE_SIZE_512: int
        TEXTURE_SIZE_1024: int
        TEXTURE_SIZE_2048: int
        TEXTURE_SIZE_4096: int
        TEXTURE_SIZE_MAX: int

    # Methods
    def get_ground_bottom_color(self,) -> Color: ...
    def get_ground_curve(self,) -> float: ...
    def get_ground_energy(self,) -> float: ...
    def get_ground_horizon_color(self,) -> Color: ...
    def get_sky_curve(self,) -> float: ...
    def get_sky_energy(self,) -> float: ...
    def get_sky_horizon_color(self,) -> Color: ...
    def get_sky_top_color(self,) -> Color: ...
    def get_sun_angle_max(self,) -> float: ...
    def get_sun_angle_min(self,) -> float: ...
    def get_sun_color(self,) -> Color: ...
    def get_sun_curve(self,) -> float: ...
    def get_sun_energy(self,) -> float: ...
    def get_sun_latitude(self,) -> float: ...
    def get_sun_longitude(self,) -> float: ...
    def get_texture_size(self,) -> ProceduralSky.TextureSize: ...
    def set_ground_bottom_color(self,color: Color,) -> None: ...
    def set_ground_curve(self,curve: float,) -> None: ...
    def set_ground_energy(self,energy: float,) -> None: ...
    def set_ground_horizon_color(self,color: Color,) -> None: ...
    def set_sky_curve(self,curve: float,) -> None: ...
    def set_sky_energy(self,energy: float,) -> None: ...
    def set_sky_horizon_color(self,color: Color,) -> None: ...
    def set_sky_top_color(self,color: Color,) -> None: ...
    def set_sun_angle_max(self,degrees: float,) -> None: ...
    def set_sun_angle_min(self,degrees: float,) -> None: ...
    def set_sun_color(self,color: Color,) -> None: ...
    def set_sun_curve(self,curve: float,) -> None: ...
    def set_sun_energy(self,energy: float,) -> None: ...
    def set_sun_latitude(self,degrees: float,) -> None: ...
    def set_sun_longitude(self,degrees: float,) -> None: ...
    def set_texture_size(self,size: int,) -> None: ...

    # Properties
    ground_bottom_color: Color
    ground_curve: float
    ground_energy: float
    ground_horizon_color: Color
    sky_curve: float
    sky_energy: float
    sky_horizon_color: Color
    sky_top_color: Color
    sun_angle_max: float
    sun_angle_min: float
    sun_color: Color
    sun_curve: float
    sun_energy: float
    sun_latitude: float
    sun_longitude: float
    texture_size: int



class CapsuleShape2D(Shape2D):


    def __init__(self): ...



    # Methods
    def get_height(self,) -> float: ...
    def get_radius(self,) -> float: ...
    def set_height(self,height: float,) -> None: ...
    def set_radius(self,radius: float,) -> None: ...

    # Properties
    height: float
    radius: float



class CircleShape2D(Shape2D):


    def __init__(self): ...



    # Methods
    def get_radius(self,) -> float: ...
    def set_radius(self,radius: float,) -> None: ...

    # Properties
    radius: float



class ConcavePolygonShape2D(Shape2D):


    def __init__(self): ...



    # Methods
    def get_segments(self,) -> PoolVector2Array: ...
    def set_segments(self,segments: PoolVector2Array,) -> None: ...

    # Properties
    segments: PoolVector2Array



class ConvexPolygonShape2D(Shape2D):


    def __init__(self): ...



    # Methods
    def get_points(self,) -> PoolVector2Array: ...
    def set_point_cloud(self,point_cloud: PoolVector2Array,) -> None: ...
    def set_points(self,points: PoolVector2Array,) -> None: ...

    # Properties
    points: PoolVector2Array



class LineShape2D(Shape2D):


    def __init__(self): ...



    # Methods
    def get_d(self,) -> float: ...
    def get_normal(self,) -> Vector2: ...
    def set_d(self,d: float,) -> None: ...
    def set_normal(self,normal: Vector2,) -> None: ...

    # Properties
    d: float
    normal: Vector2



class RayShape2D(Shape2D):


    def __init__(self): ...



    # Methods
    def get_length(self,) -> float: ...
    def get_slips_on_slope(self,) -> bool: ...
    def set_length(self,length: float,) -> None: ...
    def set_slips_on_slope(self,active: bool,) -> None: ...

    # Properties
    length: float
    slips_on_slope: bool



class RectangleShape2D(Shape2D):


    def __init__(self): ...



    # Methods
    def get_extents(self,) -> Vector2: ...
    def set_extents(self,extents: Vector2,) -> None: ...

    # Properties
    extents: Vector2



class SegmentShape2D(Shape2D):


    def __init__(self): ...



    # Methods
    def get_a(self,) -> Vector2: ...
    def get_b(self,) -> Vector2: ...
    def set_a(self,a: Vector2,) -> None: ...
    def set_b(self,b: Vector2,) -> None: ...

    # Properties
    a: Vector2
    b: Vector2



class BoxShape(Shape):


    def __init__(self): ...



    # Methods
    def get_extents(self,) -> Vector3: ...
    def set_extents(self,extents: Vector3,) -> None: ...

    # Properties
    extents: Vector3



class CapsuleShape(Shape):


    def __init__(self): ...



    # Methods
    def get_height(self,) -> float: ...
    def get_radius(self,) -> float: ...
    def set_height(self,height: float,) -> None: ...
    def set_radius(self,radius: float,) -> None: ...

    # Properties
    height: float
    radius: float



class ConcavePolygonShape(Shape):


    def __init__(self): ...



    # Methods
    def get_faces(self,) -> PoolVector3Array: ...
    def set_faces(self,faces: PoolVector3Array,) -> None: ...

    # Properties
    data: PoolVector3Array



class ConvexPolygonShape(Shape):


    def __init__(self): ...



    # Methods
    def get_points(self,) -> PoolVector3Array: ...
    def set_points(self,points: PoolVector3Array,) -> None: ...

    # Properties
    points: Array



class CylinderShape(Shape):


    def __init__(self): ...



    # Methods
    def get_height(self,) -> float: ...
    def get_radius(self,) -> float: ...
    def set_height(self,height: float,) -> None: ...
    def set_radius(self,radius: float,) -> None: ...

    # Properties
    height: float
    radius: float



class HeightMapShape(Shape):


    def __init__(self): ...



    # Methods
    def get_map_data(self,) -> PoolRealArray: ...
    def get_map_depth(self,) -> int: ...
    def get_map_width(self,) -> int: ...
    def set_map_data(self,data: PoolRealArray,) -> None: ...
    def set_map_depth(self,height: int,) -> None: ...
    def set_map_width(self,width: int,) -> None: ...

    # Properties
    map_data: PoolRealArray
    map_depth: int
    map_width: int



class PlaneShape(Shape):


    def __init__(self): ...



    # Methods
    def get_plane(self,) -> Plane: ...
    def set_plane(self,plane: Plane,) -> None: ...

    # Properties
    plane: Plane



class RayShape(Shape):


    def __init__(self): ...



    # Methods
    def get_length(self,) -> float: ...
    def get_slips_on_slope(self,) -> bool: ...
    def set_length(self,length: float,) -> None: ...
    def set_slips_on_slope(self,active: bool,) -> None: ...

    # Properties
    length: float
    slips_on_slope: bool



class SphereShape(Shape):


    def __init__(self): ...



    # Methods
    def get_radius(self,) -> float: ...
    def set_radius(self,radius: float,) -> None: ...

    # Properties
    radius: float



class VisualShader(Shader):


    def __init__(self): ...


    # Constants
    NODE_ID_INVALID: int
    NODE_ID_OUTPUT: int
    TYPE_FRAGMENT: int
    TYPE_LIGHT: int
    TYPE_MAX: int
    TYPE_VERTEX: int
    # Enums
    class Type(IntFlag):
        TYPE_VERTEX: int
        TYPE_FRAGMENT: int
        TYPE_LIGHT: int
        TYPE_MAX: int

    # Methods
    def add_node(self,type_: int,node: VisualShaderNode,position: Vector2,id: int,) -> None: ...
    def can_connect_nodes(self,type_: int,from_node: int,from_port: int,to_node: int,to_port: int,) -> bool: ...
    def connect_nodes(self,type_: int,from_node: int,from_port: int,to_node: int,to_port: int,) -> Error: ...
    def connect_nodes_forced(self,type_: int,from_node: int,from_port: int,to_node: int,to_port: int,) -> None: ...
    def disconnect_nodes(self,type_: int,from_node: int,from_port: int,to_node: int,to_port: int,) -> None: ...
    def get_graph_offset(self,) -> Vector2: ...
    def get_node(self,type_: int,id: int,) -> VisualShaderNode: ...
    def get_node_connections(self,type_: int,) -> Array: ...
    def get_node_list(self,type_: int,) -> PoolIntArray: ...
    def get_node_position(self,type_: int,id: int,) -> Vector2: ...
    def get_valid_node_id(self,type_: int,) -> int: ...
    def is_node_connection(self,type_: int,from_node: int,from_port: int,to_node: int,to_port: int,) -> bool: ...
    def remove_node(self,type_: int,id: int,) -> None: ...
    def set_graph_offset(self,offset: Vector2,) -> None: ...
    def set_mode(self,mode: int,) -> None: ...
    def set_node_position(self,type_: int,id: int,position: Vector2,) -> None: ...

    # Properties
    graph_offset: Vector2



class GDScript(Script):


    def __init__(self): ...



    # Methods
    def get_as_byte_code(self,) -> PoolByteArray: ...




class NativeScript(Script):


    def __init__(self): ...



    # Methods
    def get_class_documentation(self,) -> Union[str, GDString]: ...
    def get_class_name(self,) -> Union[str, GDString]: ...
    def get_library(self,) -> GDNativeLibrary: ...
    def get_method_documentation(self,method: Union[str, GDString],) -> Union[str, GDString]: ...
    def get_property_documentation(self,path: Union[str, GDString],) -> Union[str, GDString]: ...
    def get_script_class_icon_path(self,) -> Union[str, GDString]: ...
    def get_script_class_name(self,) -> Union[str, GDString]: ...
    def get_signal_documentation(self,signal_name: Union[str, GDString],) -> Union[str, GDString]: ...
    def set_class_name(self,class_name: Union[str, GDString],) -> None: ...
    def set_library(self,library: GDNativeLibrary,) -> None: ...
    def set_script_class_icon_path(self,icon_path: Union[str, GDString],) -> None: ...
    def set_script_class_name(self,class_name: Union[str, GDString],) -> None: ...

    # Properties
    class_name: Union[str, GDString]
    library: GDNativeLibrary
    script_class_icon_path: Union[str, GDString]
    script_class_name: Union[str, GDString]



class PluginScript(Script):


    def __init__(self): ...





    pass


class VisualScript(Script):


    def __init__(self): ...



    # Methods
    def add_custom_signal(self,name: Union[str, GDString],) -> None: ...
    def add_function(self,name: Union[str, GDString],) -> None: ...
    def add_node(self,func: Union[str, GDString],id: int,node: VisualScriptNode,position: Vector2=Vector2(0, 0),) -> None: ...
    def add_variable(self,name: Union[str, GDString],default_value: object=None,export: bool=False,) -> None: ...
    def custom_signal_add_argument(self,name: Union[str, GDString],type_: int,argname: Union[str, GDString],index: int=-1,) -> None: ...
    def custom_signal_get_argument_count(self,name: Union[str, GDString],) -> int: ...
    def custom_signal_get_argument_name(self,name: Union[str, GDString],argidx: int,) -> Union[str, GDString]: ...
    def custom_signal_get_argument_type(self,name: Union[str, GDString],argidx: int,) -> VariantType: ...
    def custom_signal_remove_argument(self,name: Union[str, GDString],argidx: int,) -> None: ...
    def custom_signal_set_argument_name(self,name: Union[str, GDString],argidx: int,argname: Union[str, GDString],) -> None: ...
    def custom_signal_set_argument_type(self,name: Union[str, GDString],argidx: int,type_: int,) -> None: ...
    def custom_signal_swap_argument(self,name: Union[str, GDString],argidx: int,withidx: int,) -> None: ...
    def data_connect(self,func: Union[str, GDString],from_node: int,from_port: int,to_node: int,to_port: int,) -> None: ...
    def data_disconnect(self,func: Union[str, GDString],from_node: int,from_port: int,to_node: int,to_port: int,) -> None: ...
    def get_function_node_id(self,name: Union[str, GDString],) -> int: ...
    def get_function_scroll(self,name: Union[str, GDString],) -> Vector2: ...
    def get_node(self,func: Union[str, GDString],id: int,) -> VisualScriptNode: ...
    def get_node_position(self,func: Union[str, GDString],id: int,) -> Vector2: ...
    def get_variable_default_value(self,name: Union[str, GDString],) -> object: ...
    def get_variable_export(self,name: Union[str, GDString],) -> bool: ...
    def get_variable_info(self,name: Union[str, GDString],) -> Dictionary: ...
    def has_custom_signal(self,name: Union[str, GDString],) -> bool: ...
    def has_data_connection(self,func: Union[str, GDString],from_node: int,from_port: int,to_node: int,to_port: int,) -> bool: ...
    def has_function(self,name: Union[str, GDString],) -> bool: ...
    def has_node(self,func: Union[str, GDString],id: int,) -> bool: ...
    def has_sequence_connection(self,func: Union[str, GDString],from_node: int,from_output: int,to_node: int,) -> bool: ...
    def has_variable(self,name: Union[str, GDString],) -> bool: ...
    def remove_custom_signal(self,name: Union[str, GDString],) -> None: ...
    def remove_function(self,name: Union[str, GDString],) -> None: ...
    def remove_node(self,func: Union[str, GDString],id: int,) -> None: ...
    def remove_variable(self,name: Union[str, GDString],) -> None: ...
    def rename_custom_signal(self,name: Union[str, GDString],new_name: Union[str, GDString],) -> None: ...
    def rename_function(self,name: Union[str, GDString],new_name: Union[str, GDString],) -> None: ...
    def rename_variable(self,name: Union[str, GDString],new_name: Union[str, GDString],) -> None: ...
    def sequence_connect(self,func: Union[str, GDString],from_node: int,from_output: int,to_node: int,) -> None: ...
    def sequence_disconnect(self,func: Union[str, GDString],from_node: int,from_output: int,to_node: int,) -> None: ...
    def set_function_scroll(self,name: Union[str, GDString],ofs: Vector2,) -> None: ...
    def set_instance_base_type(self,type_: Union[str, GDString],) -> None: ...
    def set_node_position(self,func: Union[str, GDString],id: int,position: Vector2,) -> None: ...
    def set_variable_default_value(self,name: Union[str, GDString],value: object,) -> None: ...
    def set_variable_export(self,name: Union[str, GDString],enable: bool,) -> None: ...
    def set_variable_info(self,name: Union[str, GDString],value: Dictionary,) -> None: ...

    # Properties
    data: Dictionary



class ArrayMesh(Mesh):


    def __init__(self): ...


    # Constants
    ARRAY_BONES: int
    ARRAY_COLOR: int
    ARRAY_FORMAT_BONES: int
    ARRAY_FORMAT_COLOR: int
    ARRAY_FORMAT_INDEX: int
    ARRAY_FORMAT_NORMAL: int
    ARRAY_FORMAT_TANGENT: int
    ARRAY_FORMAT_TEX_UV: int
    ARRAY_FORMAT_TEX_UV2: int
    ARRAY_FORMAT_VERTEX: int
    ARRAY_FORMAT_WEIGHTS: int
    ARRAY_INDEX: int
    ARRAY_MAX: int
    ARRAY_NORMAL: int
    ARRAY_TANGENT: int
    ARRAY_TEX_UV: int
    ARRAY_TEX_UV2: int
    ARRAY_VERTEX: int
    ARRAY_WEIGHTS: int
    ARRAY_WEIGHTS_SIZE: int
    NO_INDEX_ARRAY: int
    # Enums
    class ArrayFormat(IntFlag):
        ARRAY_FORMAT_VERTEX: int
        ARRAY_FORMAT_NORMAL: int
        ARRAY_FORMAT_TANGENT: int
        ARRAY_FORMAT_COLOR: int
        ARRAY_FORMAT_TEX_UV: int
        ARRAY_FORMAT_TEX_UV2: int
        ARRAY_FORMAT_BONES: int
        ARRAY_FORMAT_WEIGHTS: int
        ARRAY_FORMAT_INDEX: int
    class ArrayType(IntFlag):
        ARRAY_VERTEX: int
        ARRAY_NORMAL: int
        ARRAY_TANGENT: int
        ARRAY_COLOR: int
        ARRAY_TEX_UV: int
        ARRAY_TEX_UV2: int
        ARRAY_BONES: int
        ARRAY_WEIGHTS: int
        ARRAY_INDEX: int
        ARRAY_MAX: int

    # Methods
    def add_blend_shape(self,name: Union[str, GDString],) -> None: ...
    def add_surface_from_arrays(self,primitive: int,arrays: Array,blend_shapes: Array=Array(),compress_flags: int=97280,) -> None: ...
    def clear_blend_shapes(self,) -> None: ...
    def get_blend_shape_count(self,) -> int: ...
    def get_blend_shape_mode(self,) -> Mesh.BlendShapeMode: ...
    def get_blend_shape_name(self,index: int,) -> Union[str, GDString]: ...
    def get_custom_aabb(self,) -> AABB: ...
    def set_blend_shape_mode(self,mode: int,) -> None: ...
    def set_custom_aabb(self,aabb: AABB,) -> None: ...
    def surface_find_by_name(self,name: Union[str, GDString],) -> int: ...
    def surface_get_array_index_len(self,surf_idx: int,) -> int: ...
    def surface_get_array_len(self,surf_idx: int,) -> int: ...
    def surface_get_format(self,surf_idx: int,) -> int: ...
    def surface_get_name(self,surf_idx: int,) -> Union[str, GDString]: ...
    def surface_get_primitive_type(self,surf_idx: int,) -> Mesh.PrimitiveType: ...
    def surface_remove(self,surf_idx: int,) -> None: ...
    def surface_set_name(self,surf_idx: int,name: Union[str, GDString],) -> None: ...
    def surface_update_region(self,surf_idx: int,offset: int,data: PoolByteArray,) -> None: ...

    # Properties
    blend_shape_mode: int
    custom_aabb: AABB



class PrimitiveMesh(Mesh):


    # Methods
    def get_custom_aabb(self,) -> AABB: ...
    def get_flip_faces(self,) -> bool: ...
    def get_material(self,) -> Material: ...
    def get_mesh_arrays(self,) -> Array: ...
    def set_custom_aabb(self,aabb: AABB,) -> None: ...
    def set_flip_faces(self,flip_faces: bool,) -> None: ...
    def set_material(self,material: Material,) -> None: ...

    # Properties
    custom_aabb: AABB
    flip_faces: bool
    material: Union[SpatialMaterial,ShaderMaterial]



class CapsuleMesh(PrimitiveMesh):


    def __init__(self): ...



    # Methods
    def get_mid_height(self,) -> float: ...
    def get_radial_segments(self,) -> int: ...
    def get_radius(self,) -> float: ...
    def get_rings(self,) -> int: ...
    def set_mid_height(self,mid_height: float,) -> None: ...
    def set_radial_segments(self,segments: int,) -> None: ...
    def set_radius(self,radius: float,) -> None: ...
    def set_rings(self,rings: int,) -> None: ...

    # Properties
    mid_height: float
    radial_segments: int
    radius: float
    rings: int



class CubeMesh(PrimitiveMesh):


    def __init__(self): ...



    # Methods
    def get_size(self,) -> Vector3: ...
    def get_subdivide_depth(self,) -> int: ...
    def get_subdivide_height(self,) -> int: ...
    def get_subdivide_width(self,) -> int: ...
    def set_size(self,size: Vector3,) -> None: ...
    def set_subdivide_depth(self,divisions: int,) -> None: ...
    def set_subdivide_height(self,divisions: int,) -> None: ...
    def set_subdivide_width(self,subdivide: int,) -> None: ...

    # Properties
    size: Vector3
    subdivide_depth: int
    subdivide_height: int
    subdivide_width: int



class CylinderMesh(PrimitiveMesh):


    def __init__(self): ...



    # Methods
    def get_bottom_radius(self,) -> float: ...
    def get_height(self,) -> float: ...
    def get_radial_segments(self,) -> int: ...
    def get_rings(self,) -> int: ...
    def get_top_radius(self,) -> float: ...
    def set_bottom_radius(self,radius: float,) -> None: ...
    def set_height(self,height: float,) -> None: ...
    def set_radial_segments(self,segments: int,) -> None: ...
    def set_rings(self,rings: int,) -> None: ...
    def set_top_radius(self,radius: float,) -> None: ...

    # Properties
    bottom_radius: float
    height: float
    radial_segments: int
    rings: int
    top_radius: float



class PlaneMesh(PrimitiveMesh):


    def __init__(self): ...



    # Methods
    def get_size(self,) -> Vector2: ...
    def get_subdivide_depth(self,) -> int: ...
    def get_subdivide_width(self,) -> int: ...
    def set_size(self,size: Vector2,) -> None: ...
    def set_subdivide_depth(self,subdivide: int,) -> None: ...
    def set_subdivide_width(self,subdivide: int,) -> None: ...

    # Properties
    size: Vector2
    subdivide_depth: int
    subdivide_width: int



class PointMesh(PrimitiveMesh):


    def __init__(self): ...





    pass


class PrismMesh(PrimitiveMesh):


    def __init__(self): ...



    # Methods
    def get_left_to_right(self,) -> float: ...
    def get_size(self,) -> Vector3: ...
    def get_subdivide_depth(self,) -> int: ...
    def get_subdivide_height(self,) -> int: ...
    def get_subdivide_width(self,) -> int: ...
    def set_left_to_right(self,left_to_right: float,) -> None: ...
    def set_size(self,size: Vector3,) -> None: ...
    def set_subdivide_depth(self,segments: int,) -> None: ...
    def set_subdivide_height(self,segments: int,) -> None: ...
    def set_subdivide_width(self,segments: int,) -> None: ...

    # Properties
    left_to_right: float
    size: Vector3
    subdivide_depth: int
    subdivide_height: int
    subdivide_width: int



class QuadMesh(PrimitiveMesh):


    def __init__(self): ...



    # Methods
    def get_size(self,) -> Vector2: ...
    def set_size(self,size: Vector2,) -> None: ...

    # Properties
    size: Vector2



class SphereMesh(PrimitiveMesh):


    def __init__(self): ...



    # Methods
    def get_height(self,) -> float: ...
    def get_is_hemisphere(self,) -> bool: ...
    def get_radial_segments(self,) -> int: ...
    def get_radius(self,) -> float: ...
    def get_rings(self,) -> int: ...
    def set_height(self,height: float,) -> None: ...
    def set_is_hemisphere(self,is_hemisphere: bool,) -> None: ...
    def set_radial_segments(self,radial_segments: int,) -> None: ...
    def set_radius(self,radius: float,) -> None: ...
    def set_rings(self,rings: int,) -> None: ...

    # Properties
    height: float
    is_hemisphere: bool
    radial_segments: int
    radius: float
    rings: int



class CanvasItemMaterial(Material):


    def __init__(self): ...


    # Constants
    BLEND_MODE_ADD: int
    BLEND_MODE_MIX: int
    BLEND_MODE_MUL: int
    BLEND_MODE_PREMULT_ALPHA: int
    BLEND_MODE_SUB: int
    LIGHT_MODE_LIGHT_ONLY: int
    LIGHT_MODE_NORMAL: int
    LIGHT_MODE_UNSHADED: int
    # Enums
    class LightMode(IntFlag):
        LIGHT_MODE_NORMAL: int
        LIGHT_MODE_UNSHADED: int
        LIGHT_MODE_LIGHT_ONLY: int
    class BlendMode(IntFlag):
        BLEND_MODE_MIX: int
        BLEND_MODE_ADD: int
        BLEND_MODE_SUB: int
        BLEND_MODE_MUL: int
        BLEND_MODE_PREMULT_ALPHA: int

    # Methods
    def get_blend_mode(self,) -> CanvasItemMaterial.BlendMode: ...
    def get_light_mode(self,) -> CanvasItemMaterial.LightMode: ...
    def get_particles_anim_h_frames(self,) -> int: ...
    def get_particles_anim_loop(self,) -> bool: ...
    def get_particles_anim_v_frames(self,) -> int: ...
    def get_particles_animation(self,) -> bool: ...
    def set_blend_mode(self,blend_mode: int,) -> None: ...
    def set_light_mode(self,light_mode: int,) -> None: ...
    def set_particles_anim_h_frames(self,frames: int,) -> None: ...
    def set_particles_anim_loop(self,loop: bool,) -> None: ...
    def set_particles_anim_v_frames(self,frames: int,) -> None: ...
    def set_particles_animation(self,particles_anim: bool,) -> None: ...

    # Properties
    blend_mode: int
    light_mode: int
    particles_anim_h_frames: int
    particles_anim_loop: bool
    particles_anim_v_frames: int
    particles_animation: bool



class ParticlesMaterial(Material):


    def __init__(self): ...


    # Constants
    EMISSION_SHAPE_BOX: int
    EMISSION_SHAPE_DIRECTED_POINTS: int
    EMISSION_SHAPE_MAX: int
    EMISSION_SHAPE_POINT: int
    EMISSION_SHAPE_POINTS: int
    EMISSION_SHAPE_SPHERE: int
    FLAG_ALIGN_Y_TO_VELOCITY: int
    FLAG_DISABLE_Z: int
    FLAG_MAX: int
    FLAG_ROTATE_Y: int
    PARAM_ANGLE: int
    PARAM_ANGULAR_VELOCITY: int
    PARAM_ANIM_OFFSET: int
    PARAM_ANIM_SPEED: int
    PARAM_DAMPING: int
    PARAM_HUE_VARIATION: int
    PARAM_INITIAL_LINEAR_VELOCITY: int
    PARAM_LINEAR_ACCEL: int
    PARAM_MAX: int
    PARAM_ORBIT_VELOCITY: int
    PARAM_RADIAL_ACCEL: int
    PARAM_SCALE: int
    PARAM_TANGENTIAL_ACCEL: int
    # Enums
    class Flags(IntFlag):
        FLAG_ALIGN_Y_TO_VELOCITY: int
        FLAG_ROTATE_Y: int
        FLAG_DISABLE_Z: int
        FLAG_MAX: int
    class EmissionShape(IntFlag):
        EMISSION_SHAPE_POINT: int
        EMISSION_SHAPE_SPHERE: int
        EMISSION_SHAPE_BOX: int
        EMISSION_SHAPE_POINTS: int
        EMISSION_SHAPE_DIRECTED_POINTS: int
        EMISSION_SHAPE_MAX: int
    class Parameter(IntFlag):
        PARAM_INITIAL_LINEAR_VELOCITY: int
        PARAM_ANGULAR_VELOCITY: int
        PARAM_ORBIT_VELOCITY: int
        PARAM_LINEAR_ACCEL: int
        PARAM_RADIAL_ACCEL: int
        PARAM_TANGENTIAL_ACCEL: int
        PARAM_DAMPING: int
        PARAM_ANGLE: int
        PARAM_SCALE: int
        PARAM_HUE_VARIATION: int
        PARAM_ANIM_SPEED: int
        PARAM_ANIM_OFFSET: int
        PARAM_MAX: int

    # Methods
    def get_color(self,) -> Color: ...
    def get_color_ramp(self,) -> Texture: ...
    def get_direction(self,) -> Vector3: ...
    def get_emission_box_extents(self,) -> Vector3: ...
    def get_emission_color_texture(self,) -> Texture: ...
    def get_emission_normal_texture(self,) -> Texture: ...
    def get_emission_point_count(self,) -> int: ...
    def get_emission_point_texture(self,) -> Texture: ...
    def get_emission_shape(self,) -> ParticlesMaterial.EmissionShape: ...
    def get_emission_sphere_radius(self,) -> float: ...
    def get_flag(self,flag: int,) -> bool: ...
    def get_flatness(self,) -> float: ...
    def get_gravity(self,) -> Vector3: ...
    def get_lifetime_randomness(self,) -> float: ...
    def get_param(self,param: int,) -> float: ...
    def get_param_randomness(self,param: int,) -> float: ...
    def get_param_texture(self,param: int,) -> Texture: ...
    def get_spread(self,) -> float: ...
    def get_trail_color_modifier(self,) -> GradientTexture: ...
    def get_trail_divisor(self,) -> int: ...
    def get_trail_size_modifier(self,) -> CurveTexture: ...
    def set_color(self,color: Color,) -> None: ...
    def set_color_ramp(self,ramp: Texture,) -> None: ...
    def set_direction(self,degrees: Vector3,) -> None: ...
    def set_emission_box_extents(self,extents: Vector3,) -> None: ...
    def set_emission_color_texture(self,texture: Texture,) -> None: ...
    def set_emission_normal_texture(self,texture: Texture,) -> None: ...
    def set_emission_point_count(self,point_count: int,) -> None: ...
    def set_emission_point_texture(self,texture: Texture,) -> None: ...
    def set_emission_shape(self,shape: int,) -> None: ...
    def set_emission_sphere_radius(self,radius: float,) -> None: ...
    def set_flag(self,flag: int,enable: bool,) -> None: ...
    def set_flatness(self,amount: float,) -> None: ...
    def set_gravity(self,accel_vec: Vector3,) -> None: ...
    def set_lifetime_randomness(self,randomness: float,) -> None: ...
    def set_param(self,param: int,value: float,) -> None: ...
    def set_param_randomness(self,param: int,randomness: float,) -> None: ...
    def set_param_texture(self,param: int,texture: Texture,) -> None: ...
    def set_spread(self,degrees: float,) -> None: ...
    def set_trail_color_modifier(self,texture: GradientTexture,) -> None: ...
    def set_trail_divisor(self,divisor: int,) -> None: ...
    def set_trail_size_modifier(self,texture: CurveTexture,) -> None: ...

    # Properties
    angle: float
    angle_curve: CurveTexture
    angle_random: float
    angular_velocity: float
    angular_velocity_curve: CurveTexture
    angular_velocity_random: float
    anim_offset: float
    anim_offset_curve: CurveTexture
    anim_offset_random: float
    anim_speed: float
    anim_speed_curve: CurveTexture
    anim_speed_random: float
    color: Color
    color_ramp: GradientTexture
    damping: float
    damping_curve: CurveTexture
    damping_random: float
    direction: Vector3
    emission_box_extents: Vector3
    emission_color_texture: Texture
    emission_normal_texture: Texture
    emission_point_count: int
    emission_point_texture: Texture
    emission_shape: int
    emission_sphere_radius: float
    flag_align_y: bool
    flag_disable_z: bool
    flag_rotate_y: bool
    flatness: float
    gravity: Vector3
    hue_variation: float
    hue_variation_curve: CurveTexture
    hue_variation_random: float
    initial_velocity: float
    initial_velocity_random: float
    lifetime_randomness: float
    linear_accel: float
    linear_accel_curve: CurveTexture
    linear_accel_random: float
    orbit_velocity: float
    orbit_velocity_curve: CurveTexture
    orbit_velocity_random: float
    radial_accel: float
    radial_accel_curve: CurveTexture
    radial_accel_random: float
    scale: float
    scale_curve: CurveTexture
    scale_random: float
    spread: float
    tangential_accel: float
    tangential_accel_curve: CurveTexture
    tangential_accel_random: float
    trail_color_modifier: GradientTexture
    trail_divisor: int
    trail_size_modifier: CurveTexture



class ShaderMaterial(Material):


    def __init__(self): ...



    # Methods
    def get_shader(self,) -> Shader: ...
    def get_shader_param(self,param: Union[str, GDString],) -> object: ...
    def property_can_revert(self,name: Union[str, GDString],) -> bool: ...
    def property_get_revert(self,name: Union[str, GDString],) -> object: ...
    def set_shader(self,shader: Shader,) -> None: ...
    def set_shader_param(self,param: Union[str, GDString],value: object,) -> None: ...

    # Properties
    shader: Shader



class SpatialMaterial(Material):


    def __init__(self): ...


    # Constants
    BILLBOARD_DISABLED: int
    BILLBOARD_ENABLED: int
    BILLBOARD_FIXED_Y: int
    BILLBOARD_PARTICLES: int
    BLEND_MODE_ADD: int
    BLEND_MODE_MIX: int
    BLEND_MODE_MUL: int
    BLEND_MODE_SUB: int
    CULL_BACK: int
    CULL_DISABLED: int
    CULL_FRONT: int
    DEPTH_DRAW_ALPHA_OPAQUE_PREPASS: int
    DEPTH_DRAW_ALWAYS: int
    DEPTH_DRAW_DISABLED: int
    DEPTH_DRAW_OPAQUE_ONLY: int
    DETAIL_UV_1: int
    DETAIL_UV_2: int
    DIFFUSE_BURLEY: int
    DIFFUSE_LAMBERT: int
    DIFFUSE_LAMBERT_WRAP: int
    DIFFUSE_OREN_NAYAR: int
    DIFFUSE_TOON: int
    DISTANCE_FADE_DISABLED: int
    DISTANCE_FADE_OBJECT_DITHER: int
    DISTANCE_FADE_PIXEL_ALPHA: int
    DISTANCE_FADE_PIXEL_DITHER: int
    EMISSION_OP_ADD: int
    EMISSION_OP_MULTIPLY: int
    FEATURE_AMBIENT_OCCLUSION: int
    FEATURE_ANISOTROPY: int
    FEATURE_CLEARCOAT: int
    FEATURE_DEPTH_MAPPING: int
    FEATURE_DETAIL: int
    FEATURE_EMISSION: int
    FEATURE_MAX: int
    FEATURE_NORMAL_MAPPING: int
    FEATURE_REFRACTION: int
    FEATURE_RIM: int
    FEATURE_SUBSURACE_SCATTERING: int
    FEATURE_TRANSMISSION: int
    FEATURE_TRANSPARENT: int
    FLAG_ALBEDO_FROM_VERTEX_COLOR: int
    FLAG_ALBEDO_TEXTURE_FORCE_SRGB: int
    FLAG_AO_ON_UV2: int
    FLAG_BILLBOARD_KEEP_SCALE: int
    FLAG_DISABLE_AMBIENT_LIGHT: int
    FLAG_DISABLE_DEPTH_TEST: int
    FLAG_DONT_RECEIVE_SHADOWS: int
    FLAG_EMISSION_ON_UV2: int
    FLAG_ENSURE_CORRECT_NORMALS: int
    FLAG_FIXED_SIZE: int
    FLAG_MAX: int
    FLAG_SRGB_VERTEX_COLOR: int
    FLAG_TRIPLANAR_USE_WORLD: int
    FLAG_UNSHADED: int
    FLAG_USE_ALPHA_SCISSOR: int
    FLAG_USE_POINT_SIZE: int
    FLAG_USE_SHADOW_TO_OPACITY: int
    FLAG_USE_VERTEX_LIGHTING: int
    FLAG_UV1_USE_TRIPLANAR: int
    FLAG_UV2_USE_TRIPLANAR: int
    SPECULAR_BLINN: int
    SPECULAR_DISABLED: int
    SPECULAR_PHONG: int
    SPECULAR_SCHLICK_GGX: int
    SPECULAR_TOON: int
    TEXTURE_ALBEDO: int
    TEXTURE_AMBIENT_OCCLUSION: int
    TEXTURE_CHANNEL_ALPHA: int
    TEXTURE_CHANNEL_BLUE: int
    TEXTURE_CHANNEL_GRAYSCALE: int
    TEXTURE_CHANNEL_GREEN: int
    TEXTURE_CHANNEL_RED: int
    TEXTURE_CLEARCOAT: int
    TEXTURE_DEPTH: int
    TEXTURE_DETAIL_ALBEDO: int
    TEXTURE_DETAIL_MASK: int
    TEXTURE_DETAIL_NORMAL: int
    TEXTURE_EMISSION: int
    TEXTURE_FLOWMAP: int
    TEXTURE_MAX: int
    TEXTURE_METALLIC: int
    TEXTURE_NORMAL: int
    TEXTURE_REFRACTION: int
    TEXTURE_RIM: int
    TEXTURE_ROUGHNESS: int
    TEXTURE_SUBSURFACE_SCATTERING: int
    TEXTURE_TRANSMISSION: int
    # Enums
    class EmissionOperator(IntFlag):
        EMISSION_OP_ADD: int
        EMISSION_OP_MULTIPLY: int
    class DiffuseMode(IntFlag):
        DIFFUSE_BURLEY: int
        DIFFUSE_LAMBERT: int
        DIFFUSE_LAMBERT_WRAP: int
        DIFFUSE_OREN_NAYAR: int
        DIFFUSE_TOON: int
    class SpecularMode(IntFlag):
        SPECULAR_SCHLICK_GGX: int
        SPECULAR_BLINN: int
        SPECULAR_PHONG: int
        SPECULAR_TOON: int
        SPECULAR_DISABLED: int
    class Feature(IntFlag):
        FEATURE_TRANSPARENT: int
        FEATURE_EMISSION: int
        FEATURE_NORMAL_MAPPING: int
        FEATURE_RIM: int
        FEATURE_CLEARCOAT: int
        FEATURE_ANISOTROPY: int
        FEATURE_AMBIENT_OCCLUSION: int
        FEATURE_DEPTH_MAPPING: int
        FEATURE_SUBSURACE_SCATTERING: int
        FEATURE_TRANSMISSION: int
        FEATURE_REFRACTION: int
        FEATURE_DETAIL: int
        FEATURE_MAX: int
    class Flags(IntFlag):
        FLAG_UNSHADED: int
        FLAG_USE_VERTEX_LIGHTING: int
        FLAG_DISABLE_DEPTH_TEST: int
        FLAG_ALBEDO_FROM_VERTEX_COLOR: int
        FLAG_SRGB_VERTEX_COLOR: int
        FLAG_USE_POINT_SIZE: int
        FLAG_FIXED_SIZE: int
        FLAG_BILLBOARD_KEEP_SCALE: int
        FLAG_UV1_USE_TRIPLANAR: int
        FLAG_UV2_USE_TRIPLANAR: int
        FLAG_TRIPLANAR_USE_WORLD: int
        FLAG_AO_ON_UV2: int
        FLAG_EMISSION_ON_UV2: int
        FLAG_USE_ALPHA_SCISSOR: int
        FLAG_ALBEDO_TEXTURE_FORCE_SRGB: int
        FLAG_DONT_RECEIVE_SHADOWS: int
        FLAG_ENSURE_CORRECT_NORMALS: int
        FLAG_DISABLE_AMBIENT_LIGHT: int
        FLAG_USE_SHADOW_TO_OPACITY: int
        FLAG_MAX: int
    class CullMode(IntFlag):
        CULL_BACK: int
        CULL_FRONT: int
        CULL_DISABLED: int
    class DetailUV(IntFlag):
        DETAIL_UV_1: int
        DETAIL_UV_2: int
    class DistanceFadeMode(IntFlag):
        DISTANCE_FADE_DISABLED: int
        DISTANCE_FADE_PIXEL_ALPHA: int
        DISTANCE_FADE_PIXEL_DITHER: int
        DISTANCE_FADE_OBJECT_DITHER: int
    class BillboardMode(IntFlag):
        BILLBOARD_DISABLED: int
        BILLBOARD_ENABLED: int
        BILLBOARD_FIXED_Y: int
        BILLBOARD_PARTICLES: int
    class DepthDrawMode(IntFlag):
        DEPTH_DRAW_OPAQUE_ONLY: int
        DEPTH_DRAW_ALWAYS: int
        DEPTH_DRAW_DISABLED: int
        DEPTH_DRAW_ALPHA_OPAQUE_PREPASS: int
    class TextureChannel(IntFlag):
        TEXTURE_CHANNEL_RED: int
        TEXTURE_CHANNEL_GREEN: int
        TEXTURE_CHANNEL_BLUE: int
        TEXTURE_CHANNEL_ALPHA: int
        TEXTURE_CHANNEL_GRAYSCALE: int
    class BlendMode(IntFlag):
        BLEND_MODE_MIX: int
        BLEND_MODE_ADD: int
        BLEND_MODE_SUB: int
        BLEND_MODE_MUL: int
    class TextureParam(IntFlag):
        TEXTURE_ALBEDO: int
        TEXTURE_METALLIC: int
        TEXTURE_ROUGHNESS: int
        TEXTURE_EMISSION: int
        TEXTURE_NORMAL: int
        TEXTURE_RIM: int
        TEXTURE_CLEARCOAT: int
        TEXTURE_FLOWMAP: int
        TEXTURE_AMBIENT_OCCLUSION: int
        TEXTURE_DEPTH: int
        TEXTURE_SUBSURFACE_SCATTERING: int
        TEXTURE_TRANSMISSION: int
        TEXTURE_REFRACTION: int
        TEXTURE_DETAIL_MASK: int
        TEXTURE_DETAIL_ALBEDO: int
        TEXTURE_DETAIL_NORMAL: int
        TEXTURE_MAX: int

    # Methods
    def get_albedo(self,) -> Color: ...
    def get_alpha_scissor_threshold(self,) -> float: ...
    def get_anisotropy(self,) -> float: ...
    def get_ao_light_affect(self,) -> float: ...
    def get_ao_texture_channel(self,) -> SpatialMaterial.TextureChannel: ...
    def get_billboard_mode(self,) -> SpatialMaterial.BillboardMode: ...
    def get_blend_mode(self,) -> SpatialMaterial.BlendMode: ...
    def get_clearcoat(self,) -> float: ...
    def get_clearcoat_gloss(self,) -> float: ...
    def get_cull_mode(self,) -> SpatialMaterial.CullMode: ...
    def get_depth_deep_parallax_flip_binormal(self,) -> bool: ...
    def get_depth_deep_parallax_flip_tangent(self,) -> bool: ...
    def get_depth_deep_parallax_max_layers(self,) -> int: ...
    def get_depth_deep_parallax_min_layers(self,) -> int: ...
    def get_depth_draw_mode(self,) -> SpatialMaterial.DepthDrawMode: ...
    def get_depth_scale(self,) -> float: ...
    def get_detail_blend_mode(self,) -> SpatialMaterial.BlendMode: ...
    def get_detail_uv(self,) -> SpatialMaterial.DetailUV: ...
    def get_diffuse_mode(self,) -> SpatialMaterial.DiffuseMode: ...
    def get_distance_fade(self,) -> SpatialMaterial.DistanceFadeMode: ...
    def get_distance_fade_max_distance(self,) -> float: ...
    def get_distance_fade_min_distance(self,) -> float: ...
    def get_emission(self,) -> Color: ...
    def get_emission_energy(self,) -> float: ...
    def get_emission_operator(self,) -> SpatialMaterial.EmissionOperator: ...
    def get_feature(self,feature: int,) -> bool: ...
    def get_flag(self,flag: int,) -> bool: ...
    def get_grow(self,) -> float: ...
    def get_line_width(self,) -> float: ...
    def get_metallic(self,) -> float: ...
    def get_metallic_texture_channel(self,) -> SpatialMaterial.TextureChannel: ...
    def get_normal_scale(self,) -> float: ...
    def get_particles_anim_h_frames(self,) -> int: ...
    def get_particles_anim_loop(self,) -> bool: ...
    def get_particles_anim_v_frames(self,) -> int: ...
    def get_point_size(self,) -> float: ...
    def get_proximity_fade_distance(self,) -> float: ...
    def get_refraction(self,) -> float: ...
    def get_refraction_texture_channel(self,) -> SpatialMaterial.TextureChannel: ...
    def get_rim(self,) -> float: ...
    def get_rim_tint(self,) -> float: ...
    def get_roughness(self,) -> float: ...
    def get_roughness_texture_channel(self,) -> SpatialMaterial.TextureChannel: ...
    def get_specular(self,) -> float: ...
    def get_specular_mode(self,) -> SpatialMaterial.SpecularMode: ...
    def get_subsurface_scattering_strength(self,) -> float: ...
    def get_texture(self,param: int,) -> Texture: ...
    def get_transmission(self,) -> Color: ...
    def get_uv1_offset(self,) -> Vector3: ...
    def get_uv1_scale(self,) -> Vector3: ...
    def get_uv1_triplanar_blend_sharpness(self,) -> float: ...
    def get_uv2_offset(self,) -> Vector3: ...
    def get_uv2_scale(self,) -> Vector3: ...
    def get_uv2_triplanar_blend_sharpness(self,) -> float: ...
    def is_depth_deep_parallax_enabled(self,) -> bool: ...
    def is_grow_enabled(self,) -> bool: ...
    def is_proximity_fade_enabled(self,) -> bool: ...
    def set_albedo(self,albedo: Color,) -> None: ...
    def set_alpha_scissor_threshold(self,threshold: float,) -> None: ...
    def set_anisotropy(self,anisotropy: float,) -> None: ...
    def set_ao_light_affect(self,amount: float,) -> None: ...
    def set_ao_texture_channel(self,channel: int,) -> None: ...
    def set_billboard_mode(self,mode: int,) -> None: ...
    def set_blend_mode(self,blend_mode: int,) -> None: ...
    def set_clearcoat(self,clearcoat: float,) -> None: ...
    def set_clearcoat_gloss(self,clearcoat_gloss: float,) -> None: ...
    def set_cull_mode(self,cull_mode: int,) -> None: ...
    def set_depth_deep_parallax(self,enable: bool,) -> None: ...
    def set_depth_deep_parallax_flip_binormal(self,flip: bool,) -> None: ...
    def set_depth_deep_parallax_flip_tangent(self,flip: bool,) -> None: ...
    def set_depth_deep_parallax_max_layers(self,layer: int,) -> None: ...
    def set_depth_deep_parallax_min_layers(self,layer: int,) -> None: ...
    def set_depth_draw_mode(self,depth_draw_mode: int,) -> None: ...
    def set_depth_scale(self,depth_scale: float,) -> None: ...
    def set_detail_blend_mode(self,detail_blend_mode: int,) -> None: ...
    def set_detail_uv(self,detail_uv: int,) -> None: ...
    def set_diffuse_mode(self,diffuse_mode: int,) -> None: ...
    def set_distance_fade(self,mode: int,) -> None: ...
    def set_distance_fade_max_distance(self,distance: float,) -> None: ...
    def set_distance_fade_min_distance(self,distance: float,) -> None: ...
    def set_emission(self,emission: Color,) -> None: ...
    def set_emission_energy(self,emission_energy: float,) -> None: ...
    def set_emission_operator(self,operator: int,) -> None: ...
    def set_feature(self,feature: int,enable: bool,) -> None: ...
    def set_flag(self,flag: int,enable: bool,) -> None: ...
    def set_grow(self,amount: float,) -> None: ...
    def set_grow_enabled(self,enable: bool,) -> None: ...
    def set_line_width(self,line_width: float,) -> None: ...
    def set_metallic(self,metallic: float,) -> None: ...
    def set_metallic_texture_channel(self,channel: int,) -> None: ...
    def set_normal_scale(self,normal_scale: float,) -> None: ...
    def set_particles_anim_h_frames(self,frames: int,) -> None: ...
    def set_particles_anim_loop(self,loop: bool,) -> None: ...
    def set_particles_anim_v_frames(self,frames: int,) -> None: ...
    def set_point_size(self,point_size: float,) -> None: ...
    def set_proximity_fade(self,enabled: bool,) -> None: ...
    def set_proximity_fade_distance(self,distance: float,) -> None: ...
    def set_refraction(self,refraction: float,) -> None: ...
    def set_refraction_texture_channel(self,channel: int,) -> None: ...
    def set_rim(self,rim: float,) -> None: ...
    def set_rim_tint(self,rim_tint: float,) -> None: ...
    def set_roughness(self,roughness: float,) -> None: ...
    def set_roughness_texture_channel(self,channel: int,) -> None: ...
    def set_specular(self,specular: float,) -> None: ...
    def set_specular_mode(self,specular_mode: int,) -> None: ...
    def set_subsurface_scattering_strength(self,strength: float,) -> None: ...
    def set_texture(self,param: int,texture: Texture,) -> None: ...
    def set_transmission(self,transmission: Color,) -> None: ...
    def set_uv1_offset(self,offset: Vector3,) -> None: ...
    def set_uv1_scale(self,scale: Vector3,) -> None: ...
    def set_uv1_triplanar_blend_sharpness(self,sharpness: float,) -> None: ...
    def set_uv2_offset(self,offset: Vector3,) -> None: ...
    def set_uv2_scale(self,scale: Vector3,) -> None: ...
    def set_uv2_triplanar_blend_sharpness(self,sharpness: float,) -> None: ...

    # Properties
    albedo_color: Color
    albedo_texture: Texture
    anisotropy: float
    anisotropy_enabled: bool
    anisotropy_flowmap: Texture
    ao_enabled: bool
    ao_light_affect: float
    ao_on_uv2: bool
    ao_texture: Texture
    ao_texture_channel: int
    clearcoat: float
    clearcoat_enabled: bool
    clearcoat_gloss: float
    clearcoat_texture: Texture
    depth_deep_parallax: bool
    depth_enabled: bool
    depth_flip_binormal: bool
    depth_flip_tangent: bool
    depth_max_layers: int
    depth_min_layers: int
    depth_scale: float
    depth_texture: Texture
    detail_albedo: Texture
    detail_blend_mode: int
    detail_enabled: bool
    detail_mask: Texture
    detail_normal: Texture
    detail_uv_layer: int
    distance_fade_max_distance: float
    distance_fade_min_distance: float
    distance_fade_mode: int
    emission: Color
    emission_enabled: bool
    emission_energy: float
    emission_on_uv2: bool
    emission_operator: int
    emission_texture: Texture
    flags_albedo_tex_force_srgb: bool
    flags_disable_ambient_light: bool
    flags_do_not_receive_shadows: bool
    flags_ensure_correct_normals: bool
    flags_fixed_size: bool
    flags_no_depth_test: bool
    flags_transparent: bool
    flags_unshaded: bool
    flags_use_point_size: bool
    flags_use_shadow_to_opacity: bool
    flags_vertex_lighting: bool
    flags_world_triplanar: bool
    metallic: float
    metallic_specular: float
    metallic_texture: Texture
    metallic_texture_channel: int
    normal_enabled: bool
    normal_scale: float
    normal_texture: Texture
    params_alpha_scissor_threshold: float
    params_billboard_keep_scale: bool
    params_billboard_mode: int
    params_blend_mode: int
    params_cull_mode: int
    params_depth_draw_mode: int
    params_diffuse_mode: int
    params_grow: bool
    params_grow_amount: float
    params_line_width: float
    params_point_size: float
    params_specular_mode: int
    params_use_alpha_scissor: bool
    particles_anim_h_frames: int
    particles_anim_loop: bool
    particles_anim_v_frames: int
    proximity_fade_distance: float
    proximity_fade_enable: bool
    refraction_enabled: bool
    refraction_scale: float
    refraction_texture: Texture
    refraction_texture_channel: int
    rim: float
    rim_enabled: bool
    rim_texture: Texture
    rim_tint: float
    roughness: float
    roughness_texture: Texture
    roughness_texture_channel: int
    subsurf_scatter_enabled: bool
    subsurf_scatter_strength: float
    subsurf_scatter_texture: Texture
    transmission: Color
    transmission_enabled: bool
    transmission_texture: Texture
    uv1_offset: Vector3
    uv1_scale: Vector3
    uv1_triplanar: bool
    uv1_triplanar_sharpness: float
    uv2_offset: Vector3
    uv2_scale: Vector3
    uv2_triplanar: bool
    uv2_triplanar_sharpness: float
    vertex_color_is_srgb: bool
    vertex_color_use_as_albedo: bool



class InputEventAction(InputEvent):


    def __init__(self): ...



    # Methods
    def get_action(self,) -> Union[str, GDString]: ...
    def get_strength(self,) -> float: ...
    def set_action(self,action: Union[str, GDString],) -> None: ...
    def set_pressed(self,pressed: bool,) -> None: ...
    def set_strength(self,strength: float,) -> None: ...

    # Properties
    action: Union[str, GDString]
    pressed: bool
    strength: float



class InputEventJoypadButton(InputEvent):


    def __init__(self): ...



    # Methods
    def get_button_index(self,) -> int: ...
    def get_pressure(self,) -> float: ...
    def set_button_index(self,button_index: int,) -> None: ...
    def set_pressed(self,pressed: bool,) -> None: ...
    def set_pressure(self,pressure: float,) -> None: ...

    # Properties
    button_index: int
    pressed: bool
    pressure: float



class InputEventJoypadMotion(InputEvent):


    def __init__(self): ...



    # Methods
    def get_axis(self,) -> int: ...
    def get_axis_value(self,) -> float: ...
    def set_axis(self,axis: int,) -> None: ...
    def set_axis_value(self,axis_value: float,) -> None: ...

    # Properties
    axis: int
    axis_value: float



class InputEventMIDI(InputEvent):


    def __init__(self): ...



    # Methods
    def get_channel(self,) -> int: ...
    def get_controller_number(self,) -> int: ...
    def get_controller_value(self,) -> int: ...
    def get_instrument(self,) -> int: ...
    def get_message(self,) -> int: ...
    def get_pitch(self,) -> int: ...
    def get_pressure(self,) -> int: ...
    def get_velocity(self,) -> int: ...
    def set_channel(self,channel: int,) -> None: ...
    def set_controller_number(self,controller_number: int,) -> None: ...
    def set_controller_value(self,controller_value: int,) -> None: ...
    def set_instrument(self,instrument: int,) -> None: ...
    def set_message(self,message: int,) -> None: ...
    def set_pitch(self,pitch: int,) -> None: ...
    def set_pressure(self,pressure: int,) -> None: ...
    def set_velocity(self,velocity: int,) -> None: ...

    # Properties
    channel: int
    controller_number: int
    controller_value: int
    instrument: int
    message: int
    pitch: int
    pressure: int
    velocity: int



class InputEventScreenDrag(InputEvent):


    def __init__(self): ...



    # Methods
    def get_index(self,) -> int: ...
    def get_position(self,) -> Vector2: ...
    def get_relative(self,) -> Vector2: ...
    def get_speed(self,) -> Vector2: ...
    def set_index(self,index: int,) -> None: ...
    def set_position(self,position: Vector2,) -> None: ...
    def set_relative(self,relative: Vector2,) -> None: ...
    def set_speed(self,speed: Vector2,) -> None: ...

    # Properties
    index: int
    position: Vector2
    relative: Vector2
    speed: Vector2



class InputEventScreenTouch(InputEvent):


    def __init__(self): ...



    # Methods
    def get_index(self,) -> int: ...
    def get_position(self,) -> Vector2: ...
    def set_index(self,index: int,) -> None: ...
    def set_position(self,position: Vector2,) -> None: ...
    def set_pressed(self,pressed: bool,) -> None: ...

    # Properties
    index: int
    position: Vector2
    pressed: bool



class InputEventWithModifiers(InputEvent):


    # Methods
    def get_alt(self,) -> bool: ...
    def get_command(self,) -> bool: ...
    def get_control(self,) -> bool: ...
    def get_metakey(self,) -> bool: ...
    def get_shift(self,) -> bool: ...
    def set_alt(self,enable: bool,) -> None: ...
    def set_command(self,enable: bool,) -> None: ...
    def set_control(self,enable: bool,) -> None: ...
    def set_metakey(self,enable: bool,) -> None: ...
    def set_shift(self,enable: bool,) -> None: ...

    # Properties
    alt: bool
    command: bool
    control: bool
    meta: bool
    shift: bool



class InputEventGesture(InputEventWithModifiers):


    # Methods
    def get_position(self,) -> Vector2: ...
    def set_position(self,position: Vector2,) -> None: ...

    # Properties
    position: Vector2



class InputEventKey(InputEventWithModifiers):


    def __init__(self): ...



    # Methods
    def get_scancode(self,) -> int: ...
    def get_scancode_with_modifiers(self,) -> int: ...
    def get_unicode(self,) -> int: ...
    def set_echo(self,echo: bool,) -> None: ...
    def set_pressed(self,pressed: bool,) -> None: ...
    def set_scancode(self,scancode: int,) -> None: ...
    def set_unicode(self,unicode: int,) -> None: ...

    # Properties
    echo: bool
    pressed: bool
    scancode: int
    unicode: int



class InputEventMouse(InputEventWithModifiers):


    # Methods
    def get_button_mask(self,) -> int: ...
    def get_global_position(self,) -> Vector2: ...
    def get_position(self,) -> Vector2: ...
    def set_button_mask(self,button_mask: int,) -> None: ...
    def set_global_position(self,global_position: Vector2,) -> None: ...
    def set_position(self,position: Vector2,) -> None: ...

    # Properties
    button_mask: int
    global_position: Vector2
    position: Vector2



class InputEventMouseButton(InputEventMouse):


    def __init__(self): ...



    # Methods
    def get_button_index(self,) -> int: ...
    def get_factor(self,) -> float: ...
    def is_doubleclick(self,) -> bool: ...
    def set_button_index(self,button_index: int,) -> None: ...
    def set_doubleclick(self,doubleclick: bool,) -> None: ...
    def set_factor(self,factor: float,) -> None: ...
    def set_pressed(self,pressed: bool,) -> None: ...

    # Properties
    button_index: int
    doubleclick: bool
    factor: float
    pressed: bool



class InputEventMouseMotion(InputEventMouse):


    def __init__(self): ...



    # Methods
    def get_pressure(self,) -> float: ...
    def get_relative(self,) -> Vector2: ...
    def get_speed(self,) -> Vector2: ...
    def get_tilt(self,) -> Vector2: ...
    def set_pressure(self,pressure: float,) -> None: ...
    def set_relative(self,relative: Vector2,) -> None: ...
    def set_speed(self,speed: Vector2,) -> None: ...
    def set_tilt(self,tilt: Vector2,) -> None: ...

    # Properties
    pressure: float
    relative: Vector2
    speed: Vector2
    tilt: Vector2



class InputEventMagnifyGesture(InputEventGesture):


    def __init__(self): ...



    # Methods
    def get_factor(self,) -> float: ...
    def set_factor(self,factor: float,) -> None: ...

    # Properties
    factor: float



class InputEventPanGesture(InputEventGesture):


    def __init__(self): ...



    # Methods
    def get_delta(self,) -> Vector2: ...
    def set_delta(self,delta: Vector2,) -> None: ...

    # Properties
    delta: Vector2



class BitmapFont(Font):


    def __init__(self): ...



    # Methods
    def add_char(self,character: int,texture: int,rect: Rect2,align: Vector2=Vector2(0, 0),advance: float=-1,) -> None: ...
    def add_kerning_pair(self,char_a: int,char_b: int,kerning: int,) -> None: ...
    def add_texture(self,texture: Texture,) -> None: ...
    def clear(self,) -> None: ...
    def create_from_fnt(self,path: Union[str, GDString],) -> Error: ...
    def get_char_size(self,char_: int,next: int=0,) -> Vector2: ...
    def get_fallback(self,) -> BitmapFont: ...
    def get_kerning_pair(self,char_a: int,char_b: int,) -> int: ...
    def get_texture(self,idx: int,) -> Texture: ...
    def get_texture_count(self,) -> int: ...
    def set_ascent(self,px: float,) -> None: ...
    def set_distance_field_hint(self,enable: bool,) -> None: ...
    def set_fallback(self,fallback: BitmapFont,) -> None: ...
    def set_height(self,px: float,) -> None: ...

    # Properties
    ascent: float
    chars: PoolIntArray
    distance_field: bool
    fallback: BitmapFont
    height: float
    kernings: PoolIntArray
    textures: Array



class DynamicFont(Font):


    def __init__(self): ...


    # Constants
    SPACING_BOTTOM: int
    SPACING_CHAR: int
    SPACING_SPACE: int
    SPACING_TOP: int
    # Enums
    class SpacingType(IntFlag):
        SPACING_TOP: int
        SPACING_BOTTOM: int
        SPACING_CHAR: int
        SPACING_SPACE: int

    # Methods
    def add_fallback(self,data: DynamicFontData,) -> None: ...
    def get_fallback(self,idx: int,) -> DynamicFontData: ...
    def get_fallback_count(self,) -> int: ...
    def get_font_data(self,) -> DynamicFontData: ...
    def get_outline_color(self,) -> Color: ...
    def get_outline_size(self,) -> int: ...
    def get_size(self,) -> int: ...
    def get_spacing(self,type_: int,) -> int: ...
    def get_use_filter(self,) -> bool: ...
    def get_use_mipmaps(self,) -> bool: ...
    def remove_fallback(self,idx: int,) -> None: ...
    def set_fallback(self,idx: int,data: DynamicFontData,) -> None: ...
    def set_font_data(self,data: DynamicFontData,) -> None: ...
    def set_outline_color(self,color: Color,) -> None: ...
    def set_outline_size(self,size: int,) -> None: ...
    def set_size(self,data: int,) -> None: ...
    def set_spacing(self,type_: int,value: int,) -> None: ...
    def set_use_filter(self,enable: bool,) -> None: ...
    def set_use_mipmaps(self,enable: bool,) -> None: ...

    # Properties
    extra_spacing_bottom: int
    extra_spacing_char: int
    extra_spacing_space: int
    extra_spacing_top: int
    font_data: DynamicFontData
    outline_color: Color
    outline_size: int
    size: int
    use_filter: bool
    use_mipmaps: bool



class AudioStreamGenerator(AudioStream):


    def __init__(self): ...



    # Methods
    def get_buffer_length(self,) -> float: ...
    def get_mix_rate(self,) -> float: ...
    def set_buffer_length(self,seconds: float,) -> None: ...
    def set_mix_rate(self,hz: float,) -> None: ...

    # Properties
    buffer_length: float
    mix_rate: float



class AudioStreamMicrophone(AudioStream):


    def __init__(self): ...





    pass


class AudioStreamOGGVorbis(AudioStream):


    def __init__(self): ...



    # Methods
    def get_data(self,) -> PoolByteArray: ...
    def get_loop_offset(self,) -> float: ...
    def has_loop(self,) -> bool: ...
    def set_data(self,data: PoolByteArray,) -> None: ...
    def set_loop(self,enable: bool,) -> None: ...
    def set_loop_offset(self,seconds: float,) -> None: ...

    # Properties
    data: PoolByteArray
    loop: bool
    loop_offset: float



class AudioStreamRandomPitch(AudioStream):


    def __init__(self): ...



    # Methods
    def get_audio_stream(self,) -> AudioStream: ...
    def get_random_pitch(self,) -> float: ...
    def set_audio_stream(self,stream: AudioStream,) -> None: ...
    def set_random_pitch(self,scale: float,) -> None: ...

    # Properties
    audio_stream: AudioStream
    random_pitch: float



class AudioStreamSample(AudioStream):


    def __init__(self): ...


    # Constants
    FORMAT_16_BITS: int
    FORMAT_8_BITS: int
    FORMAT_IMA_ADPCM: int
    LOOP_BACKWARD: int
    LOOP_DISABLED: int
    LOOP_FORWARD: int
    LOOP_PING_PONG: int
    # Enums
    class LoopMode(IntFlag):
        LOOP_DISABLED: int
        LOOP_FORWARD: int
        LOOP_PING_PONG: int
        LOOP_BACKWARD: int
    class Format(IntFlag):
        FORMAT_8_BITS: int
        FORMAT_16_BITS: int
        FORMAT_IMA_ADPCM: int

    # Methods
    def get_data(self,) -> PoolByteArray: ...
    def get_format(self,) -> AudioStreamSample.Format: ...
    def get_loop_begin(self,) -> int: ...
    def get_loop_end(self,) -> int: ...
    def get_loop_mode(self,) -> AudioStreamSample.LoopMode: ...
    def get_mix_rate(self,) -> int: ...
    def is_stereo(self,) -> bool: ...
    def save_to_wav(self,path: Union[str, GDString],) -> Error: ...
    def set_data(self,data: PoolByteArray,) -> None: ...
    def set_format(self,format: int,) -> None: ...
    def set_loop_begin(self,loop_begin: int,) -> None: ...
    def set_loop_end(self,loop_end: int,) -> None: ...
    def set_loop_mode(self,loop_mode: int,) -> None: ...
    def set_mix_rate(self,mix_rate: int,) -> None: ...
    def set_stereo(self,stereo: bool,) -> None: ...

    # Properties
    data: PoolByteArray
    format: int
    loop_begin: int
    loop_end: int
    loop_mode: int
    mix_rate: int
    stereo: bool



class AudioEffectAmplify(AudioEffect):


    def __init__(self): ...



    # Methods
    def get_volume_db(self,) -> float: ...
    def set_volume_db(self,volume: float,) -> None: ...

    # Properties
    volume_db: float



class AudioEffectChorus(AudioEffect):


    def __init__(self): ...



    # Methods
    def get_dry(self,) -> float: ...
    def get_voice_count(self,) -> int: ...
    def get_voice_cutoff_hz(self,voice_idx: int,) -> float: ...
    def get_voice_delay_ms(self,voice_idx: int,) -> float: ...
    def get_voice_depth_ms(self,voice_idx: int,) -> float: ...
    def get_voice_level_db(self,voice_idx: int,) -> float: ...
    def get_voice_pan(self,voice_idx: int,) -> float: ...
    def get_voice_rate_hz(self,voice_idx: int,) -> float: ...
    def get_wet(self,) -> float: ...
    def set_dry(self,amount: float,) -> None: ...
    def set_voice_count(self,voices: int,) -> None: ...
    def set_voice_cutoff_hz(self,voice_idx: int,cutoff_hz: float,) -> None: ...
    def set_voice_delay_ms(self,voice_idx: int,delay_ms: float,) -> None: ...
    def set_voice_depth_ms(self,voice_idx: int,depth_ms: float,) -> None: ...
    def set_voice_level_db(self,voice_idx: int,level_db: float,) -> None: ...
    def set_voice_pan(self,voice_idx: int,pan: float,) -> None: ...
    def set_voice_rate_hz(self,voice_idx: int,rate_hz: float,) -> None: ...
    def set_wet(self,amount: float,) -> None: ...

    # Properties
    dry: float
    voice_1_cutoff_hz: float
    voice_1_delay_ms: float
    voice_1_depth_ms: float
    voice_1_level_db: float
    voice_1_pan: float
    voice_1_rate_hz: float
    voice_2_cutoff_hz: float
    voice_2_delay_ms: float
    voice_2_depth_ms: float
    voice_2_level_db: float
    voice_2_pan: float
    voice_2_rate_hz: float
    voice_3_cutoff_hz: float
    voice_3_delay_ms: float
    voice_3_depth_ms: float
    voice_3_level_db: float
    voice_3_pan: float
    voice_3_rate_hz: float
    voice_4_cutoff_hz: float
    voice_4_delay_ms: float
    voice_4_depth_ms: float
    voice_4_level_db: float
    voice_4_pan: float
    voice_4_rate_hz: float
    voice_count: int
    wet: float



class AudioEffectCompressor(AudioEffect):


    def __init__(self): ...



    # Methods
    def get_attack_us(self,) -> float: ...
    def get_gain(self,) -> float: ...
    def get_mix(self,) -> float: ...
    def get_ratio(self,) -> float: ...
    def get_release_ms(self,) -> float: ...
    def get_sidechain(self,) -> Union[str, GDString]: ...
    def get_threshold(self,) -> float: ...
    def set_attack_us(self,attack_us: float,) -> None: ...
    def set_gain(self,gain: float,) -> None: ...
    def set_mix(self,mix: float,) -> None: ...
    def set_ratio(self,ratio: float,) -> None: ...
    def set_release_ms(self,release_ms: float,) -> None: ...
    def set_sidechain(self,sidechain: Union[str, GDString],) -> None: ...
    def set_threshold(self,threshold: float,) -> None: ...

    # Properties
    attack_us: float
    gain: float
    mix: float
    ratio: float
    release_ms: float
    sidechain: Union[str, GDString]
    threshold: float



class AudioEffectDelay(AudioEffect):


    def __init__(self): ...



    # Methods
    def get_dry(self,) -> float: ...
    def get_feedback_delay_ms(self,) -> float: ...
    def get_feedback_level_db(self,) -> float: ...
    def get_feedback_lowpass(self,) -> float: ...
    def get_tap1_delay_ms(self,) -> float: ...
    def get_tap1_level_db(self,) -> float: ...
    def get_tap1_pan(self,) -> float: ...
    def get_tap2_delay_ms(self,) -> float: ...
    def get_tap2_level_db(self,) -> float: ...
    def get_tap2_pan(self,) -> float: ...
    def is_feedback_active(self,) -> bool: ...
    def is_tap1_active(self,) -> bool: ...
    def is_tap2_active(self,) -> bool: ...
    def set_dry(self,amount: float,) -> None: ...
    def set_feedback_active(self,amount: bool,) -> None: ...
    def set_feedback_delay_ms(self,amount: float,) -> None: ...
    def set_feedback_level_db(self,amount: float,) -> None: ...
    def set_feedback_lowpass(self,amount: float,) -> None: ...
    def set_tap1_active(self,amount: bool,) -> None: ...
    def set_tap1_delay_ms(self,amount: float,) -> None: ...
    def set_tap1_level_db(self,amount: float,) -> None: ...
    def set_tap1_pan(self,amount: float,) -> None: ...
    def set_tap2_active(self,amount: bool,) -> None: ...
    def set_tap2_delay_ms(self,amount: float,) -> None: ...
    def set_tap2_level_db(self,amount: float,) -> None: ...
    def set_tap2_pan(self,amount: float,) -> None: ...

    # Properties
    dry: float
    feedback_active: bool
    feedback_delay_ms: float
    feedback_level_db: float
    feedback_lowpass: float
    tap1_active: bool
    tap1_delay_ms: float
    tap1_level_db: float
    tap1_pan: float
    tap2_active: bool
    tap2_delay_ms: float
    tap2_level_db: float
    tap2_pan: float



class AudioEffectDistortion(AudioEffect):


    def __init__(self): ...


    # Constants
    MODE_ATAN: int
    MODE_CLIP: int
    MODE_LOFI: int
    MODE_OVERDRIVE: int
    MODE_WAVESHAPE: int
    # Enums
    class Mode(IntFlag):
        MODE_CLIP: int
        MODE_ATAN: int
        MODE_LOFI: int
        MODE_OVERDRIVE: int
        MODE_WAVESHAPE: int

    # Methods
    def get_drive(self,) -> float: ...
    def get_keep_hf_hz(self,) -> float: ...
    def get_mode(self,) -> AudioEffectDistortion.Mode: ...
    def get_post_gain(self,) -> float: ...
    def get_pre_gain(self,) -> float: ...
    def set_drive(self,drive: float,) -> None: ...
    def set_keep_hf_hz(self,keep_hf_hz: float,) -> None: ...
    def set_mode(self,mode: int,) -> None: ...
    def set_post_gain(self,post_gain: float,) -> None: ...
    def set_pre_gain(self,pre_gain: float,) -> None: ...

    # Properties
    drive: float
    keep_hf_hz: float
    mode: int
    post_gain: float
    pre_gain: float



class AudioEffectEQ(AudioEffect):


    def __init__(self): ...



    # Methods
    def get_band_count(self,) -> int: ...
    def get_band_gain_db(self,band_idx: int,) -> float: ...
    def set_band_gain_db(self,band_idx: int,volume_db: float,) -> None: ...




class AudioEffectFilter(AudioEffect):


    def __init__(self): ...


    # Constants
    FILTER_12DB: int
    FILTER_18DB: int
    FILTER_24DB: int
    FILTER_6DB: int
    # Enums
    class FilterDB(IntFlag):
        FILTER_6DB: int
        FILTER_12DB: int
        FILTER_18DB: int
        FILTER_24DB: int

    # Methods
    def get_cutoff(self,) -> float: ...
    def get_db(self,) -> AudioEffectFilter.FilterDB: ...
    def get_gain(self,) -> float: ...
    def get_resonance(self,) -> float: ...
    def set_cutoff(self,freq: float,) -> None: ...
    def set_db(self,amount: int,) -> None: ...
    def set_gain(self,amount: float,) -> None: ...
    def set_resonance(self,amount: float,) -> None: ...

    # Properties
    cutoff_hz: float
    db: int
    gain: float
    resonance: float



class AudioEffectLimiter(AudioEffect):


    def __init__(self): ...



    # Methods
    def get_ceiling_db(self,) -> float: ...
    def get_soft_clip_db(self,) -> float: ...
    def get_soft_clip_ratio(self,) -> float: ...
    def get_threshold_db(self,) -> float: ...
    def set_ceiling_db(self,ceiling: float,) -> None: ...
    def set_soft_clip_db(self,soft_clip: float,) -> None: ...
    def set_soft_clip_ratio(self,soft_clip: float,) -> None: ...
    def set_threshold_db(self,threshold: float,) -> None: ...

    # Properties
    ceiling_db: float
    soft_clip_db: float
    soft_clip_ratio: float
    threshold_db: float



class AudioEffectPanner(AudioEffect):


    def __init__(self): ...



    # Methods
    def get_pan(self,) -> float: ...
    def set_pan(self,cpanume: float,) -> None: ...

    # Properties
    pan: float



class AudioEffectPhaser(AudioEffect):


    def __init__(self): ...



    # Methods
    def get_depth(self,) -> float: ...
    def get_feedback(self,) -> float: ...
    def get_range_max_hz(self,) -> float: ...
    def get_range_min_hz(self,) -> float: ...
    def get_rate_hz(self,) -> float: ...
    def set_depth(self,depth: float,) -> None: ...
    def set_feedback(self,fbk: float,) -> None: ...
    def set_range_max_hz(self,hz: float,) -> None: ...
    def set_range_min_hz(self,hz: float,) -> None: ...
    def set_rate_hz(self,hz: float,) -> None: ...

    # Properties
    depth: float
    feedback: float
    range_max_hz: float
    range_min_hz: float
    rate_hz: float



class AudioEffectPitchShift(AudioEffect):


    def __init__(self): ...


    # Constants
    FFT_SIZE_1024: int
    FFT_SIZE_2048: int
    FFT_SIZE_256: int
    FFT_SIZE_4096: int
    FFT_SIZE_512: int
    FFT_SIZE_MAX: int
    # Enums
    class FFT_Size(IntFlag):
        FFT_SIZE_256: int
        FFT_SIZE_512: int
        FFT_SIZE_1024: int
        FFT_SIZE_2048: int
        FFT_SIZE_4096: int
        FFT_SIZE_MAX: int

    # Methods
    def get_fft_size(self,) -> AudioEffectPitchShift.FFT_Size: ...
    def get_oversampling(self,) -> int: ...
    def get_pitch_scale(self,) -> float: ...
    def set_fft_size(self,size: int,) -> None: ...
    def set_oversampling(self,amount: int,) -> None: ...
    def set_pitch_scale(self,rate: float,) -> None: ...

    # Properties
    fft_size: int
    oversampling: float
    pitch_scale: float



class AudioEffectRecord(AudioEffect):


    def __init__(self): ...



    # Methods
    def get_format(self,) -> AudioStreamSample.Format: ...
    def get_recording(self,) -> AudioStreamSample: ...
    def is_recording_active(self,) -> bool: ...
    def set_format(self,format: int,) -> None: ...
    def set_recording_active(self,record: bool,) -> None: ...

    # Properties
    format: int



class AudioEffectReverb(AudioEffect):


    def __init__(self): ...



    # Methods
    def get_damping(self,) -> float: ...
    def get_dry(self,) -> float: ...
    def get_hpf(self,) -> float: ...
    def get_predelay_feedback(self,) -> float: ...
    def get_predelay_msec(self,) -> float: ...
    def get_room_size(self,) -> float: ...
    def get_spread(self,) -> float: ...
    def get_wet(self,) -> float: ...
    def set_damping(self,amount: float,) -> None: ...
    def set_dry(self,amount: float,) -> None: ...
    def set_hpf(self,amount: float,) -> None: ...
    def set_predelay_feedback(self,feedback: float,) -> None: ...
    def set_predelay_msec(self,msec: float,) -> None: ...
    def set_room_size(self,size: float,) -> None: ...
    def set_spread(self,amount: float,) -> None: ...
    def set_wet(self,amount: float,) -> None: ...

    # Properties
    damping: float
    dry: float
    hipass: float
    predelay_feedback: float
    predelay_msec: float
    room_size: float
    spread: float
    wet: float



class AudioEffectSpectrumAnalyzer(AudioEffect):


    def __init__(self): ...


    # Constants
    FFT_SIZE_1024: int
    FFT_SIZE_2048: int
    FFT_SIZE_256: int
    FFT_SIZE_4096: int
    FFT_SIZE_512: int
    FFT_SIZE_MAX: int
    # Enums
    class FFT_Size(IntFlag):
        FFT_SIZE_256: int
        FFT_SIZE_512: int
        FFT_SIZE_1024: int
        FFT_SIZE_2048: int
        FFT_SIZE_4096: int
        FFT_SIZE_MAX: int

    # Methods
    def get_buffer_length(self,) -> float: ...
    def get_fft_size(self,) -> AudioEffectSpectrumAnalyzer.FFT_Size: ...
    def get_tap_back_pos(self,) -> float: ...
    def set_buffer_length(self,seconds: float,) -> None: ...
    def set_fft_size(self,size: int,) -> None: ...
    def set_tap_back_pos(self,seconds: float,) -> None: ...

    # Properties
    buffer_length: float
    fft_size: int
    tap_back_pos: float



class AudioEffectStereoEnhance(AudioEffect):


    def __init__(self): ...



    # Methods
    def get_pan_pullout(self,) -> float: ...
    def get_surround(self,) -> float: ...
    def get_time_pullout(self,) -> float: ...
    def set_pan_pullout(self,amount: float,) -> None: ...
    def set_surround(self,amount: float,) -> None: ...
    def set_time_pullout(self,amount: float,) -> None: ...

    # Properties
    pan_pullout: float
    surround: float
    time_pullout_ms: float



class AudioEffectBandLimitFilter(AudioEffectFilter):


    def __init__(self): ...





    pass


class AudioEffectBandPassFilter(AudioEffectFilter):


    def __init__(self): ...





    pass


class AudioEffectHighPassFilter(AudioEffectFilter):


    def __init__(self): ...





    pass


class AudioEffectHighShelfFilter(AudioEffectFilter):


    def __init__(self): ...





    pass


class AudioEffectLowPassFilter(AudioEffectFilter):


    def __init__(self): ...





    pass


class AudioEffectLowShelfFilter(AudioEffectFilter):


    def __init__(self): ...





    pass


class AudioEffectNotchFilter(AudioEffectFilter):


    def __init__(self): ...





    pass


class AudioEffectEQ10(AudioEffectEQ):


    def __init__(self): ...





    pass


class AudioEffectEQ21(AudioEffectEQ):


    def __init__(self): ...





    pass


class AudioEffectEQ6(AudioEffectEQ):


    def __init__(self): ...





    pass


class AnimationNodeAdd2(AnimationNode):


    def __init__(self): ...



    # Methods
    def is_using_sync(self,) -> bool: ...
    def set_use_sync(self,enable: bool,) -> None: ...

    # Properties
    sync: bool



class AnimationNodeAdd3(AnimationNode):


    def __init__(self): ...



    # Methods
    def is_using_sync(self,) -> bool: ...
    def set_use_sync(self,enable: bool,) -> None: ...

    # Properties
    sync: bool



class AnimationNodeBlend2(AnimationNode):


    def __init__(self): ...



    # Methods
    def is_using_sync(self,) -> bool: ...
    def set_use_sync(self,enable: bool,) -> None: ...

    # Properties
    sync: bool



class AnimationNodeBlend3(AnimationNode):


    def __init__(self): ...



    # Methods
    def is_using_sync(self,) -> bool: ...
    def set_use_sync(self,enable: bool,) -> None: ...

    # Properties
    sync: bool



class AnimationNodeOneShot(AnimationNode):


    def __init__(self): ...


    # Constants
    MIX_MODE_ADD: int
    MIX_MODE_BLEND: int
    # Enums
    class MixMode(IntFlag):
        MIX_MODE_BLEND: int
        MIX_MODE_ADD: int

    # Methods
    def get_autorestart_delay(self,) -> float: ...
    def get_autorestart_random_delay(self,) -> float: ...
    def get_fadein_time(self,) -> float: ...
    def get_fadeout_time(self,) -> float: ...
    def get_mix_mode(self,) -> AnimationNodeOneShot.MixMode: ...
    def has_autorestart(self,) -> bool: ...
    def is_using_sync(self,) -> bool: ...
    def set_autorestart(self,enable: bool,) -> None: ...
    def set_autorestart_delay(self,enable: float,) -> None: ...
    def set_autorestart_random_delay(self,enable: float,) -> None: ...
    def set_fadein_time(self,time: float,) -> None: ...
    def set_fadeout_time(self,time: float,) -> None: ...
    def set_mix_mode(self,mode: int,) -> None: ...
    def set_use_sync(self,enable: bool,) -> None: ...

    # Properties
    autorestart: bool
    autorestart_delay: float
    autorestart_random_delay: float
    fadein_time: float
    fadeout_time: float
    sync: bool



class AnimationNodeOutput(AnimationNode):


    def __init__(self): ...





    pass


class AnimationNodeTimeScale(AnimationNode):


    def __init__(self): ...





    pass


class AnimationNodeTimeSeek(AnimationNode):


    def __init__(self): ...





    pass


class AnimationNodeTransition(AnimationNode):


    def __init__(self): ...



    # Methods
    def get_cross_fade_time(self,) -> float: ...
    def get_enabled_inputs(self,) -> int: ...
    def get_input_caption(self,input: int,) -> Union[str, GDString]: ...
    def is_input_set_as_auto_advance(self,input: int,) -> bool: ...
    def set_cross_fade_time(self,time: float,) -> None: ...
    def set_enabled_inputs(self,amount: int,) -> None: ...
    def set_input_as_auto_advance(self,input: int,enable: bool,) -> None: ...
    def set_input_caption(self,input: int,caption: Union[str, GDString],) -> None: ...

    # Properties
    input_0_auto_advance: bool
    input_0_name: Union[str, GDString]
    input_1_auto_advance: bool
    input_1_name: Union[str, GDString]
    input_10_auto_advance: bool
    input_10_name: Union[str, GDString]
    input_11_auto_advance: bool
    input_11_name: Union[str, GDString]
    input_12_auto_advance: bool
    input_12_name: Union[str, GDString]
    input_13_auto_advance: bool
    input_13_name: Union[str, GDString]
    input_14_auto_advance: bool
    input_14_name: Union[str, GDString]
    input_15_auto_advance: bool
    input_15_name: Union[str, GDString]
    input_16_auto_advance: bool
    input_16_name: Union[str, GDString]
    input_17_auto_advance: bool
    input_17_name: Union[str, GDString]
    input_18_auto_advance: bool
    input_18_name: Union[str, GDString]
    input_19_auto_advance: bool
    input_19_name: Union[str, GDString]
    input_2_auto_advance: bool
    input_2_name: Union[str, GDString]
    input_20_auto_advance: bool
    input_20_name: Union[str, GDString]
    input_21_auto_advance: bool
    input_21_name: Union[str, GDString]
    input_22_auto_advance: bool
    input_22_name: Union[str, GDString]
    input_23_auto_advance: bool
    input_23_name: Union[str, GDString]
    input_24_auto_advance: bool
    input_24_name: Union[str, GDString]
    input_25_auto_advance: bool
    input_25_name: Union[str, GDString]
    input_26_auto_advance: bool
    input_26_name: Union[str, GDString]
    input_27_auto_advance: bool
    input_27_name: Union[str, GDString]
    input_28_auto_advance: bool
    input_28_name: Union[str, GDString]
    input_29_auto_advance: bool
    input_29_name: Union[str, GDString]
    input_3_auto_advance: bool
    input_3_name: Union[str, GDString]
    input_30_auto_advance: bool
    input_30_name: Union[str, GDString]
    input_31_auto_advance: bool
    input_31_name: Union[str, GDString]
    input_4_auto_advance: bool
    input_4_name: Union[str, GDString]
    input_5_auto_advance: bool
    input_5_name: Union[str, GDString]
    input_6_auto_advance: bool
    input_6_name: Union[str, GDString]
    input_7_auto_advance: bool
    input_7_name: Union[str, GDString]
    input_8_auto_advance: bool
    input_8_name: Union[str, GDString]
    input_9_auto_advance: bool
    input_9_name: Union[str, GDString]
    input_count: int
    xfade_time: float



class AnimationRootNode(AnimationNode):


    def __init__(self): ...





    pass


class AnimationNodeAnimation(AnimationRootNode):


    def __init__(self): ...



    # Methods
    def get_animation(self,) -> Union[str, GDString]: ...
    def set_animation(self,name: Union[str, GDString],) -> None: ...

    # Properties
    animation: Union[str, GDString]



class AnimationNodeBlendSpace1D(AnimationRootNode):


    def __init__(self): ...



    # Methods
    def add_blend_point(self,node: AnimationRootNode,pos: float,at_index: int=-1,) -> None: ...
    def get_blend_point_count(self,) -> int: ...
    def get_blend_point_node(self,point: int,) -> AnimationRootNode: ...
    def get_blend_point_position(self,point: int,) -> float: ...
    def get_max_space(self,) -> float: ...
    def get_min_space(self,) -> float: ...
    def get_snap(self,) -> float: ...
    def get_value_label(self,) -> Union[str, GDString]: ...
    def remove_blend_point(self,point: int,) -> None: ...
    def set_blend_point_node(self,point: int,node: AnimationRootNode,) -> None: ...
    def set_blend_point_position(self,point: int,pos: float,) -> None: ...
    def set_max_space(self,max_space: float,) -> None: ...
    def set_min_space(self,min_space: float,) -> None: ...
    def set_snap(self,snap: float,) -> None: ...
    def set_value_label(self,text: Union[str, GDString],) -> None: ...

    # Properties
    blend_point_0_node: AnimationRootNode
    blend_point_0_pos: float
    blend_point_1_node: AnimationRootNode
    blend_point_1_pos: float
    blend_point_10_node: AnimationRootNode
    blend_point_10_pos: float
    blend_point_11_node: AnimationRootNode
    blend_point_11_pos: float
    blend_point_12_node: AnimationRootNode
    blend_point_12_pos: float
    blend_point_13_node: AnimationRootNode
    blend_point_13_pos: float
    blend_point_14_node: AnimationRootNode
    blend_point_14_pos: float
    blend_point_15_node: AnimationRootNode
    blend_point_15_pos: float
    blend_point_16_node: AnimationRootNode
    blend_point_16_pos: float
    blend_point_17_node: AnimationRootNode
    blend_point_17_pos: float
    blend_point_18_node: AnimationRootNode
    blend_point_18_pos: float
    blend_point_19_node: AnimationRootNode
    blend_point_19_pos: float
    blend_point_2_node: AnimationRootNode
    blend_point_2_pos: float
    blend_point_20_node: AnimationRootNode
    blend_point_20_pos: float
    blend_point_21_node: AnimationRootNode
    blend_point_21_pos: float
    blend_point_22_node: AnimationRootNode
    blend_point_22_pos: float
    blend_point_23_node: AnimationRootNode
    blend_point_23_pos: float
    blend_point_24_node: AnimationRootNode
    blend_point_24_pos: float
    blend_point_25_node: AnimationRootNode
    blend_point_25_pos: float
    blend_point_26_node: AnimationRootNode
    blend_point_26_pos: float
    blend_point_27_node: AnimationRootNode
    blend_point_27_pos: float
    blend_point_28_node: AnimationRootNode
    blend_point_28_pos: float
    blend_point_29_node: AnimationRootNode
    blend_point_29_pos: float
    blend_point_3_node: AnimationRootNode
    blend_point_3_pos: float
    blend_point_30_node: AnimationRootNode
    blend_point_30_pos: float
    blend_point_31_node: AnimationRootNode
    blend_point_31_pos: float
    blend_point_32_node: AnimationRootNode
    blend_point_32_pos: float
    blend_point_33_node: AnimationRootNode
    blend_point_33_pos: float
    blend_point_34_node: AnimationRootNode
    blend_point_34_pos: float
    blend_point_35_node: AnimationRootNode
    blend_point_35_pos: float
    blend_point_36_node: AnimationRootNode
    blend_point_36_pos: float
    blend_point_37_node: AnimationRootNode
    blend_point_37_pos: float
    blend_point_38_node: AnimationRootNode
    blend_point_38_pos: float
    blend_point_39_node: AnimationRootNode
    blend_point_39_pos: float
    blend_point_4_node: AnimationRootNode
    blend_point_4_pos: float
    blend_point_40_node: AnimationRootNode
    blend_point_40_pos: float
    blend_point_41_node: AnimationRootNode
    blend_point_41_pos: float
    blend_point_42_node: AnimationRootNode
    blend_point_42_pos: float
    blend_point_43_node: AnimationRootNode
    blend_point_43_pos: float
    blend_point_44_node: AnimationRootNode
    blend_point_44_pos: float
    blend_point_45_node: AnimationRootNode
    blend_point_45_pos: float
    blend_point_46_node: AnimationRootNode
    blend_point_46_pos: float
    blend_point_47_node: AnimationRootNode
    blend_point_47_pos: float
    blend_point_48_node: AnimationRootNode
    blend_point_48_pos: float
    blend_point_49_node: AnimationRootNode
    blend_point_49_pos: float
    blend_point_5_node: AnimationRootNode
    blend_point_5_pos: float
    blend_point_50_node: AnimationRootNode
    blend_point_50_pos: float
    blend_point_51_node: AnimationRootNode
    blend_point_51_pos: float
    blend_point_52_node: AnimationRootNode
    blend_point_52_pos: float
    blend_point_53_node: AnimationRootNode
    blend_point_53_pos: float
    blend_point_54_node: AnimationRootNode
    blend_point_54_pos: float
    blend_point_55_node: AnimationRootNode
    blend_point_55_pos: float
    blend_point_56_node: AnimationRootNode
    blend_point_56_pos: float
    blend_point_57_node: AnimationRootNode
    blend_point_57_pos: float
    blend_point_58_node: AnimationRootNode
    blend_point_58_pos: float
    blend_point_59_node: AnimationRootNode
    blend_point_59_pos: float
    blend_point_6_node: AnimationRootNode
    blend_point_6_pos: float
    blend_point_60_node: AnimationRootNode
    blend_point_60_pos: float
    blend_point_61_node: AnimationRootNode
    blend_point_61_pos: float
    blend_point_62_node: AnimationRootNode
    blend_point_62_pos: float
    blend_point_63_node: AnimationRootNode
    blend_point_63_pos: float
    blend_point_7_node: AnimationRootNode
    blend_point_7_pos: float
    blend_point_8_node: AnimationRootNode
    blend_point_8_pos: float
    blend_point_9_node: AnimationRootNode
    blend_point_9_pos: float
    max_space: float
    min_space: float
    snap: float
    value_label: Union[str, GDString]



class AnimationNodeBlendSpace2D(AnimationRootNode):


    def __init__(self): ...


    # Constants
    BLEND_MODE_DISCRETE: int
    BLEND_MODE_DISCRETE_CARRY: int
    BLEND_MODE_INTERPOLATED: int
    # Enums
    class BlendMode(IntFlag):
        BLEND_MODE_INTERPOLATED: int
        BLEND_MODE_DISCRETE: int
        BLEND_MODE_DISCRETE_CARRY: int

    # Methods
    def add_blend_point(self,node: AnimationRootNode,pos: Vector2,at_index: int=-1,) -> None: ...
    def add_triangle(self,x: int,y: int,z: int,at_index: int=-1,) -> None: ...
    def get_auto_triangles(self,) -> bool: ...
    def get_blend_mode(self,) -> AnimationNodeBlendSpace2D.BlendMode: ...
    def get_blend_point_count(self,) -> int: ...
    def get_blend_point_node(self,point: int,) -> AnimationRootNode: ...
    def get_blend_point_position(self,point: int,) -> Vector2: ...
    def get_max_space(self,) -> Vector2: ...
    def get_min_space(self,) -> Vector2: ...
    def get_snap(self,) -> Vector2: ...
    def get_triangle_count(self,) -> int: ...
    def get_triangle_point(self,triangle: int,point: int,) -> int: ...
    def get_x_label(self,) -> Union[str, GDString]: ...
    def get_y_label(self,) -> Union[str, GDString]: ...
    def remove_blend_point(self,point: int,) -> None: ...
    def remove_triangle(self,triangle: int,) -> None: ...
    def set_auto_triangles(self,enable: bool,) -> None: ...
    def set_blend_mode(self,mode: int,) -> None: ...
    def set_blend_point_node(self,point: int,node: AnimationRootNode,) -> None: ...
    def set_blend_point_position(self,point: int,pos: Vector2,) -> None: ...
    def set_max_space(self,max_space: Vector2,) -> None: ...
    def set_min_space(self,min_space: Vector2,) -> None: ...
    def set_snap(self,snap: Vector2,) -> None: ...
    def set_x_label(self,text: Union[str, GDString],) -> None: ...
    def set_y_label(self,text: Union[str, GDString],) -> None: ...

    # Properties
    auto_triangles: bool
    blend_mode: int
    blend_point_0_node: AnimationRootNode
    blend_point_0_pos: Vector2
    blend_point_1_node: AnimationRootNode
    blend_point_1_pos: Vector2
    blend_point_10_node: AnimationRootNode
    blend_point_10_pos: Vector2
    blend_point_11_node: AnimationRootNode
    blend_point_11_pos: Vector2
    blend_point_12_node: AnimationRootNode
    blend_point_12_pos: Vector2
    blend_point_13_node: AnimationRootNode
    blend_point_13_pos: Vector2
    blend_point_14_node: AnimationRootNode
    blend_point_14_pos: Vector2
    blend_point_15_node: AnimationRootNode
    blend_point_15_pos: Vector2
    blend_point_16_node: AnimationRootNode
    blend_point_16_pos: Vector2
    blend_point_17_node: AnimationRootNode
    blend_point_17_pos: Vector2
    blend_point_18_node: AnimationRootNode
    blend_point_18_pos: Vector2
    blend_point_19_node: AnimationRootNode
    blend_point_19_pos: Vector2
    blend_point_2_node: AnimationRootNode
    blend_point_2_pos: Vector2
    blend_point_20_node: AnimationRootNode
    blend_point_20_pos: Vector2
    blend_point_21_node: AnimationRootNode
    blend_point_21_pos: Vector2
    blend_point_22_node: AnimationRootNode
    blend_point_22_pos: Vector2
    blend_point_23_node: AnimationRootNode
    blend_point_23_pos: Vector2
    blend_point_24_node: AnimationRootNode
    blend_point_24_pos: Vector2
    blend_point_25_node: AnimationRootNode
    blend_point_25_pos: Vector2
    blend_point_26_node: AnimationRootNode
    blend_point_26_pos: Vector2
    blend_point_27_node: AnimationRootNode
    blend_point_27_pos: Vector2
    blend_point_28_node: AnimationRootNode
    blend_point_28_pos: Vector2
    blend_point_29_node: AnimationRootNode
    blend_point_29_pos: Vector2
    blend_point_3_node: AnimationRootNode
    blend_point_3_pos: Vector2
    blend_point_30_node: AnimationRootNode
    blend_point_30_pos: Vector2
    blend_point_31_node: AnimationRootNode
    blend_point_31_pos: Vector2
    blend_point_32_node: AnimationRootNode
    blend_point_32_pos: Vector2
    blend_point_33_node: AnimationRootNode
    blend_point_33_pos: Vector2
    blend_point_34_node: AnimationRootNode
    blend_point_34_pos: Vector2
    blend_point_35_node: AnimationRootNode
    blend_point_35_pos: Vector2
    blend_point_36_node: AnimationRootNode
    blend_point_36_pos: Vector2
    blend_point_37_node: AnimationRootNode
    blend_point_37_pos: Vector2
    blend_point_38_node: AnimationRootNode
    blend_point_38_pos: Vector2
    blend_point_39_node: AnimationRootNode
    blend_point_39_pos: Vector2
    blend_point_4_node: AnimationRootNode
    blend_point_4_pos: Vector2
    blend_point_40_node: AnimationRootNode
    blend_point_40_pos: Vector2
    blend_point_41_node: AnimationRootNode
    blend_point_41_pos: Vector2
    blend_point_42_node: AnimationRootNode
    blend_point_42_pos: Vector2
    blend_point_43_node: AnimationRootNode
    blend_point_43_pos: Vector2
    blend_point_44_node: AnimationRootNode
    blend_point_44_pos: Vector2
    blend_point_45_node: AnimationRootNode
    blend_point_45_pos: Vector2
    blend_point_46_node: AnimationRootNode
    blend_point_46_pos: Vector2
    blend_point_47_node: AnimationRootNode
    blend_point_47_pos: Vector2
    blend_point_48_node: AnimationRootNode
    blend_point_48_pos: Vector2
    blend_point_49_node: AnimationRootNode
    blend_point_49_pos: Vector2
    blend_point_5_node: AnimationRootNode
    blend_point_5_pos: Vector2
    blend_point_50_node: AnimationRootNode
    blend_point_50_pos: Vector2
    blend_point_51_node: AnimationRootNode
    blend_point_51_pos: Vector2
    blend_point_52_node: AnimationRootNode
    blend_point_52_pos: Vector2
    blend_point_53_node: AnimationRootNode
    blend_point_53_pos: Vector2
    blend_point_54_node: AnimationRootNode
    blend_point_54_pos: Vector2
    blend_point_55_node: AnimationRootNode
    blend_point_55_pos: Vector2
    blend_point_56_node: AnimationRootNode
    blend_point_56_pos: Vector2
    blend_point_57_node: AnimationRootNode
    blend_point_57_pos: Vector2
    blend_point_58_node: AnimationRootNode
    blend_point_58_pos: Vector2
    blend_point_59_node: AnimationRootNode
    blend_point_59_pos: Vector2
    blend_point_6_node: AnimationRootNode
    blend_point_6_pos: Vector2
    blend_point_60_node: AnimationRootNode
    blend_point_60_pos: Vector2
    blend_point_61_node: AnimationRootNode
    blend_point_61_pos: Vector2
    blend_point_62_node: AnimationRootNode
    blend_point_62_pos: Vector2
    blend_point_63_node: AnimationRootNode
    blend_point_63_pos: Vector2
    blend_point_7_node: AnimationRootNode
    blend_point_7_pos: Vector2
    blend_point_8_node: AnimationRootNode
    blend_point_8_pos: Vector2
    blend_point_9_node: AnimationRootNode
    blend_point_9_pos: Vector2
    max_space: Vector2
    min_space: Vector2
    snap: Vector2
    triangles: PoolIntArray
    x_label: Union[str, GDString]
    y_label: Union[str, GDString]



class AnimationNodeBlendTree(AnimationRootNode):


    def __init__(self): ...


    # Constants
    CONNECTION_ERROR_CONNECTION_EXISTS: int
    CONNECTION_ERROR_NO_INPUT: int
    CONNECTION_ERROR_NO_INPUT_INDEX: int
    CONNECTION_ERROR_NO_OUTPUT: int
    CONNECTION_ERROR_SAME_NODE: int
    CONNECTION_OK: int

    # Methods
    def add_node(self,name: Union[str, GDString],node: AnimationNode,position: Vector2=Vector2(0, 0),) -> None: ...
    def connect_node(self,input_node: Union[str, GDString],input_index: int,output_node: Union[str, GDString],) -> None: ...
    def disconnect_node(self,input_node: Union[str, GDString],input_index: int,) -> None: ...
    def get_graph_offset(self,) -> Vector2: ...
    def get_node(self,name: Union[str, GDString],) -> AnimationNode: ...
    def get_node_position(self,name: Union[str, GDString],) -> Vector2: ...
    def has_node(self,name: Union[str, GDString],) -> bool: ...
    def remove_node(self,name: Union[str, GDString],) -> None: ...
    def rename_node(self,name: Union[str, GDString],new_name: Union[str, GDString],) -> None: ...
    def set_graph_offset(self,offset: Vector2,) -> None: ...
    def set_node_position(self,name: Union[str, GDString],position: Vector2,) -> None: ...

    # Properties
    graph_offset: Vector2



class AnimationNodeStateMachine(AnimationRootNode):


    def __init__(self): ...



    # Methods
    def add_node(self,name: Union[str, GDString],node: AnimationNode,position: Vector2=Vector2(0, 0),) -> None: ...
    def add_transition(self,from_: Union[str, GDString],to: Union[str, GDString],transition: AnimationNodeStateMachineTransition,) -> None: ...
    def get_end_node(self,) -> Union[str, GDString]: ...
    def get_graph_offset(self,) -> Vector2: ...
    def get_node(self,name: Union[str, GDString],) -> AnimationNode: ...
    def get_node_name(self,node: AnimationNode,) -> Union[str, GDString]: ...
    def get_node_position(self,name: Union[str, GDString],) -> Vector2: ...
    def get_start_node(self,) -> Union[str, GDString]: ...
    def get_transition(self,idx: int,) -> AnimationNodeStateMachineTransition: ...
    def get_transition_count(self,) -> int: ...
    def get_transition_from(self,idx: int,) -> Union[str, GDString]: ...
    def get_transition_to(self,idx: int,) -> Union[str, GDString]: ...
    def has_node(self,name: Union[str, GDString],) -> bool: ...
    def has_transition(self,from_: Union[str, GDString],to: Union[str, GDString],) -> bool: ...
    def remove_node(self,name: Union[str, GDString],) -> None: ...
    def remove_transition(self,from_: Union[str, GDString],to: Union[str, GDString],) -> None: ...
    def remove_transition_by_index(self,idx: int,) -> None: ...
    def rename_node(self,name: Union[str, GDString],new_name: Union[str, GDString],) -> None: ...
    def replace_node(self,name: Union[str, GDString],node: AnimationNode,) -> None: ...
    def set_end_node(self,name: Union[str, GDString],) -> None: ...
    def set_graph_offset(self,offset: Vector2,) -> None: ...
    def set_node_position(self,name: Union[str, GDString],position: Vector2,) -> None: ...
    def set_start_node(self,name: Union[str, GDString],) -> None: ...




class NetworkedMultiplayerPeer(PacketPeer):

    # Constants
    CONNECTION_CONNECTED: int
    CONNECTION_CONNECTING: int
    CONNECTION_DISCONNECTED: int
    TARGET_PEER_BROADCAST: int
    TARGET_PEER_SERVER: int
    TRANSFER_MODE_RELIABLE: int
    TRANSFER_MODE_UNRELIABLE: int
    TRANSFER_MODE_UNRELIABLE_ORDERED: int
    # Enums
    class ConnectionStatus(IntFlag):
        CONNECTION_DISCONNECTED: int
        CONNECTION_CONNECTING: int
        CONNECTION_CONNECTED: int
    class TransferMode(IntFlag):
        TRANSFER_MODE_UNRELIABLE: int
        TRANSFER_MODE_UNRELIABLE_ORDERED: int
        TRANSFER_MODE_RELIABLE: int

    # Methods
    def get_connection_status(self,) -> NetworkedMultiplayerPeer.ConnectionStatus: ...
    def get_packet_peer(self,) -> int: ...
    def get_transfer_mode(self,) -> NetworkedMultiplayerPeer.TransferMode: ...
    def get_unique_id(self,) -> int: ...
    def is_refusing_new_connections(self,) -> bool: ...
    def poll(self,) -> None: ...
    def set_refuse_new_connections(self,enable: bool,) -> None: ...
    def set_target_peer(self,id: int,) -> None: ...
    def set_transfer_mode(self,mode: int,) -> None: ...

    # Properties
    refuse_new_connections: bool
    transfer_mode: int



class PacketPeerDTLS(PacketPeer):


    def __init__(self): ...


    # Constants
    STATUS_CONNECTED: int
    STATUS_DISCONNECTED: int
    STATUS_ERROR: int
    STATUS_ERROR_HOSTNAME_MISMATCH: int
    STATUS_HANDSHAKING: int
    # Enums
    class Status(IntFlag):
        STATUS_DISCONNECTED: int
        STATUS_HANDSHAKING: int
        STATUS_CONNECTED: int
        STATUS_ERROR: int
        STATUS_ERROR_HOSTNAME_MISMATCH: int

    # Methods
    def connect_to_peer(self,packet_peer: PacketPeerUDP,validate_certs: bool=True,for_hostname: Union[str, GDString]="",valid_certificate: X509Certificate=None,) -> Error: ...
    def disconnect_from_peer(self,) -> None: ...
    def get_status(self,) -> PacketPeerDTLS.Status: ...
    def poll(self,) -> None: ...




class PacketPeerGDNative(PacketPeer):


    def __init__(self): ...





    pass


class PacketPeerStream(PacketPeer):


    def __init__(self): ...



    # Methods
    def get_input_buffer_max_size(self,) -> int: ...
    def get_output_buffer_max_size(self,) -> int: ...
    def get_stream_peer(self,) -> StreamPeer: ...
    def set_input_buffer_max_size(self,max_size_bytes: int,) -> None: ...
    def set_output_buffer_max_size(self,max_size_bytes: int,) -> None: ...
    def set_stream_peer(self,peer: StreamPeer,) -> None: ...

    # Properties
    input_buffer_max_size: int
    output_buffer_max_size: int
    stream_peer: StreamPeer



class PacketPeerUDP(PacketPeer):


    def __init__(self): ...



    # Methods
    def close(self,) -> None: ...
    def connect_to_host(self,host: Union[str, GDString],port: int,) -> Error: ...
    def get_packet_ip(self,) -> Union[str, GDString]: ...
    def get_packet_port(self,) -> int: ...
    def is_connected_to_host(self,) -> bool: ...
    def is_listening(self,) -> bool: ...
    def join_multicast_group(self,multicast_address: Union[str, GDString],interface_name: Union[str, GDString],) -> Error: ...
    def leave_multicast_group(self,multicast_address: Union[str, GDString],interface_name: Union[str, GDString],) -> Error: ...
    def listen(self,port: int,bind_address: Union[str, GDString]="*",recv_buf_size: int=65536,) -> Error: ...
    def set_broadcast_enabled(self,enabled: bool,) -> None: ...
    def set_dest_address(self,host: Union[str, GDString],port: int,) -> Error: ...
    def wait(self,) -> Error: ...




class WebRTCDataChannel(PacketPeer):

    # Constants
    STATE_CLOSED: int
    STATE_CLOSING: int
    STATE_CONNECTING: int
    STATE_OPEN: int
    WRITE_MODE_BINARY: int
    WRITE_MODE_TEXT: int
    # Enums
    class WriteMode(IntFlag):
        WRITE_MODE_TEXT: int
        WRITE_MODE_BINARY: int
    class ChannelState(IntFlag):
        STATE_CONNECTING: int
        STATE_OPEN: int
        STATE_CLOSING: int
        STATE_CLOSED: int

    # Methods
    def close(self,) -> None: ...
    def get_id(self,) -> int: ...
    def get_label(self,) -> Union[str, GDString]: ...
    def get_max_packet_life_time(self,) -> int: ...
    def get_max_retransmits(self,) -> int: ...
    def get_protocol(self,) -> Union[str, GDString]: ...
    def get_ready_state(self,) -> WebRTCDataChannel.ChannelState: ...
    def get_write_mode(self,) -> WebRTCDataChannel.WriteMode: ...
    def is_negotiated(self,) -> bool: ...
    def is_ordered(self,) -> bool: ...
    def poll(self,) -> Error: ...
    def set_write_mode(self,write_mode: int,) -> None: ...
    def was_string_packet(self,) -> bool: ...

    # Properties
    write_mode: int



class WebSocketPeer(PacketPeer):


    def __init__(self): ...


    # Constants
    WRITE_MODE_BINARY: int
    WRITE_MODE_TEXT: int
    # Enums
    class WriteMode(IntFlag):
        WRITE_MODE_TEXT: int
        WRITE_MODE_BINARY: int

    # Methods
    def close(self,code: int=1000,reason: Union[str, GDString]="",) -> None: ...
    def get_connected_host(self,) -> Union[str, GDString]: ...
    def get_connected_port(self,) -> int: ...
    def get_write_mode(self,) -> WebSocketPeer.WriteMode: ...
    def is_connected_to_host(self,) -> bool: ...
    def set_no_delay(self,enabled: bool,) -> None: ...
    def set_write_mode(self,mode: int,) -> None: ...
    def was_string_packet(self,) -> bool: ...




class WebRTCDataChannelGDNative(WebRTCDataChannel):


    def __init__(self): ...





    pass


class MultiplayerPeerGDNative(NetworkedMultiplayerPeer):


    def __init__(self): ...





    pass


class NetworkedMultiplayerENet(NetworkedMultiplayerPeer):


    def __init__(self): ...


    # Constants
    COMPRESS_FASTLZ: int
    COMPRESS_NONE: int
    COMPRESS_RANGE_CODER: int
    COMPRESS_ZLIB: int
    COMPRESS_ZSTD: int
    # Enums
    class CompressionMode(IntFlag):
        COMPRESS_NONE: int
        COMPRESS_RANGE_CODER: int
        COMPRESS_FASTLZ: int
        COMPRESS_ZLIB: int
        COMPRESS_ZSTD: int

    # Methods
    def close_connection(self,wait_usec: int=100,) -> None: ...
    def create_client(self,address: Union[str, GDString],port: int,in_bandwidth: int=0,out_bandwidth: int=0,client_port: int=0,) -> Error: ...
    def create_server(self,port: int,max_clients: int=32,in_bandwidth: int=0,out_bandwidth: int=0,) -> Error: ...
    def disconnect_peer(self,id: int,now: bool=False,) -> None: ...
    def get_channel_count(self,) -> int: ...
    def get_compression_mode(self,) -> NetworkedMultiplayerENet.CompressionMode: ...
    def get_last_packet_channel(self,) -> int: ...
    def get_packet_channel(self,) -> int: ...
    def get_peer_address(self,id: int,) -> Union[str, GDString]: ...
    def get_peer_port(self,id: int,) -> int: ...
    def get_transfer_channel(self,) -> int: ...
    def is_always_ordered(self,) -> bool: ...
    def is_dtls_enabled(self,) -> bool: ...
    def is_dtls_verify_enabled(self,) -> bool: ...
    def is_server_relay_enabled(self,) -> bool: ...
    def set_always_ordered(self,ordered: bool,) -> None: ...
    def set_bind_ip(self,ip: Union[str, GDString],) -> None: ...
    def set_channel_count(self,channels: int,) -> None: ...
    def set_compression_mode(self,mode: int,) -> None: ...
    def set_dtls_certificate(self,certificate: X509Certificate,) -> None: ...
    def set_dtls_enabled(self,enabled: bool,) -> None: ...
    def set_dtls_key(self,key: CryptoKey,) -> None: ...
    def set_dtls_verify_enabled(self,enabled: bool,) -> None: ...
    def set_server_relay_enabled(self,enabled: bool,) -> None: ...
    def set_transfer_channel(self,channel: int,) -> None: ...

    # Properties
    always_ordered: bool
    channel_count: int
    compression_mode: int
    dtls_verify: bool
    server_relay: bool
    transfer_channel: int
    use_dtls: bool



class WebRTCMultiplayer(NetworkedMultiplayerPeer):


    def __init__(self): ...



    # Methods
    def add_peer(self,peer: WebRTCPeerConnection,peer_id: int,unreliable_lifetime: int=1,) -> Error: ...
    def close(self,) -> None: ...
    def get_peer(self,peer_id: int,) -> Dictionary: ...
    def get_peers(self,) -> Dictionary: ...
    def has_peer(self,peer_id: int,) -> bool: ...
    def initialize(self,peer_id: int,server_compatibility: bool=False,) -> Error: ...
    def remove_peer(self,peer_id: int,) -> None: ...




class WebSocketMultiplayerPeer(NetworkedMultiplayerPeer):


    # Methods
    def get_peer(self,peer_id: int,) -> WebSocketPeer: ...
    def set_buffers(self,input_buffer_size_kb: int,input_max_packets: int,output_buffer_size_kb: int,output_max_packets: int,) -> Error: ...




class WebSocketClient(WebSocketMultiplayerPeer):


    def __init__(self): ...



    # Methods
    def connect_to_url(self,url: Union[str, GDString],protocols: PoolStringArray=PoolStringArray(),gd_mp_api: bool=False,custom_headers: PoolStringArray=PoolStringArray(),) -> Error: ...
    def disconnect_from_host(self,code: int=1000,reason: Union[str, GDString]="",) -> None: ...
    def get_connected_host(self,) -> Union[str, GDString]: ...
    def get_connected_port(self,) -> int: ...
    def get_trusted_ssl_certificate(self,) -> X509Certificate: ...
    def is_verify_ssl_enabled(self,) -> bool: ...
    def set_trusted_ssl_certificate(self,arg0: X509Certificate,) -> None: ...
    def set_verify_ssl_enabled(self,enabled: bool,) -> None: ...

    # Properties
    trusted_ssl_certificate: X509Certificate
    verify_ssl: bool



class WebSocketServer(WebSocketMultiplayerPeer):


    def __init__(self): ...



    # Methods
    def disconnect_peer(self,id: int,code: int=1000,reason: Union[str, GDString]="",) -> None: ...
    def get_bind_ip(self,) -> Union[str, GDString]: ...
    def get_ca_chain(self,) -> X509Certificate: ...
    def get_peer_address(self,id: int,) -> Union[str, GDString]: ...
    def get_peer_port(self,id: int,) -> int: ...
    def get_private_key(self,) -> CryptoKey: ...
    def get_ssl_certificate(self,) -> X509Certificate: ...
    def has_peer(self,id: int,) -> bool: ...
    def is_listening(self,) -> bool: ...
    def listen(self,port: int,protocols: PoolStringArray=PoolStringArray(),gd_mp_api: bool=False,) -> Error: ...
    def set_bind_ip(self,arg0: Union[str, GDString],) -> None: ...
    def set_ca_chain(self,arg0: X509Certificate,) -> None: ...
    def set_private_key(self,arg0: CryptoKey,) -> None: ...
    def set_ssl_certificate(self,arg0: X509Certificate,) -> None: ...
    def stop(self,) -> None: ...

    # Properties
    bind_ip: Union[str, GDString]
    ca_chain: X509Certificate
    private_key: CryptoKey
    ssl_certificate: X509Certificate



class EditorSceneImporterAssimp(EditorSceneImporter):




    pass


class AudioStreamPlaybackResampled(AudioStreamPlayback):




    pass


class AudioStreamGeneratorPlayback(AudioStreamPlaybackResampled):


    # Methods
    def can_push_buffer(self,amount: int,) -> bool: ...
    def clear_buffer(self,) -> None: ...
    def get_frames_available(self,) -> int: ...
    def get_skips(self,) -> int: ...
    def push_buffer(self,frames: PoolVector2Array,) -> bool: ...
    def push_frame(self,frame: Vector2,) -> bool: ...




class AudioEffectSpectrumAnalyzerInstance(AudioEffectInstance):

    # Constants
    MAGNITUDE_AVERAGE: int
    MAGNITUDE_MAX: int
    # Enums
    class MagnitudeMode(IntFlag):
        MAGNITUDE_AVERAGE: int
        MAGNITUDE_MAX: int

    # Methods
    def get_magnitude_for_frequency_range(self,from_hz: float,to_hz: float,mode: int=1,) -> Vector2: ...




class ARVRInterfaceGDNative(ARVRInterface):


    def __init__(self): ...





    pass


class MobileVRInterface(ARVRInterface):


    def __init__(self): ...



    # Methods
    def get_display_to_lens(self,) -> float: ...
    def get_display_width(self,) -> float: ...
    def get_eye_height(self,) -> float: ...
    def get_iod(self,) -> float: ...
    def get_k1(self,) -> float: ...
    def get_k2(self,) -> float: ...
    def get_oversample(self,) -> float: ...
    def set_display_to_lens(self,display_to_lens: float,) -> None: ...
    def set_display_width(self,display_width: float,) -> None: ...
    def set_eye_height(self,eye_height: float,) -> None: ...
    def set_iod(self,iod: float,) -> None: ...
    def set_k1(self,k: float,) -> None: ...
    def set_k2(self,k: float,) -> None: ...
    def set_oversample(self,oversample: float,) -> None: ...

    # Properties
    display_to_lens: float
    display_width: float
    eye_height: float
    iod: float
    k1: float
    k2: float
    oversample: float



class BulletPhysicsServer(_PhysicsServer):




    pass


class BulletPhysicsDirectBodyState(PhysicsDirectBodyState):




    pass


class Physics2DServerSW(_Physics2DServer):




    pass


class Physics2DDirectBodyStateSW(Physics2DDirectBodyState):




    pass


class AnimationPlayer(Node):


    @staticmethod
    def new() -> AnimationPlayer: ...


    # Constants
    ANIMATION_METHOD_CALL_DEFERRED: int
    ANIMATION_METHOD_CALL_IMMEDIATE: int
    ANIMATION_PROCESS_IDLE: int
    ANIMATION_PROCESS_MANUAL: int
    ANIMATION_PROCESS_PHYSICS: int
    # Enums
    class AnimationProcessMode(IntFlag):
        ANIMATION_PROCESS_PHYSICS: int
        ANIMATION_PROCESS_IDLE: int
        ANIMATION_PROCESS_MANUAL: int
    class AnimationMethodCallMode(IntFlag):
        ANIMATION_METHOD_CALL_DEFERRED: int
        ANIMATION_METHOD_CALL_IMMEDIATE: int

    # Methods
    def add_animation(self,name: Union[str, GDString],animation: Animation,) -> Error: ...
    def advance(self,delta: float,) -> None: ...
    def animation_get_next(self,anim_from: Union[str, GDString],) -> Union[str, GDString]: ...
    def animation_set_next(self,anim_from: Union[str, GDString],anim_to: Union[str, GDString],) -> None: ...
    def clear_caches(self,) -> None: ...
    def clear_queue(self,) -> None: ...
    def find_animation(self,animation: Animation,) -> Union[str, GDString]: ...
    def get_animation(self,name: Union[str, GDString],) -> Animation: ...
    def get_animation_list(self,) -> PoolStringArray: ...
    def get_animation_process_mode(self,) -> AnimationPlayer.AnimationProcessMode: ...
    def get_assigned_animation(self,) -> Union[str, GDString]: ...
    def get_autoplay(self,) -> Union[str, GDString]: ...
    def get_blend_time(self,anim_from: Union[str, GDString],anim_to: Union[str, GDString],) -> float: ...
    def get_current_animation(self,) -> Union[str, GDString]: ...
    def get_current_animation_length(self,) -> float: ...
    def get_current_animation_position(self,) -> float: ...
    def get_default_blend_time(self,) -> float: ...
    def get_method_call_mode(self,) -> AnimationPlayer.AnimationMethodCallMode: ...
    def get_playing_speed(self,) -> float: ...
    def get_queue(self,) -> PoolStringArray: ...
    def get_root(self,) -> Union[str, NodePath]: ...
    def get_speed_scale(self,) -> float: ...
    def has_animation(self,name: Union[str, GDString],) -> bool: ...
    def is_active(self,) -> bool: ...
    def is_playing(self,) -> bool: ...
    def play(self,name: Union[str, GDString]="",custom_blend: float=-1,custom_speed: float=1,from_end: bool=False,) -> None: ...
    def play_backwards(self,name: Union[str, GDString]="",custom_blend: float=-1,) -> None: ...
    def queue(self,name: Union[str, GDString],) -> None: ...
    def remove_animation(self,name: Union[str, GDString],) -> None: ...
    def rename_animation(self,name: Union[str, GDString],newname: Union[str, GDString],) -> None: ...
    def seek(self,seconds: float,update: bool=False,) -> None: ...
    def set_active(self,active: bool,) -> None: ...
    def set_animation_process_mode(self,mode: int,) -> None: ...
    def set_assigned_animation(self,anim: Union[str, GDString],) -> None: ...
    def set_autoplay(self,name: Union[str, GDString],) -> None: ...
    def set_blend_time(self,anim_from: Union[str, GDString],anim_to: Union[str, GDString],sec: float,) -> None: ...
    def set_current_animation(self,anim: Union[str, GDString],) -> None: ...
    def set_default_blend_time(self,sec: float,) -> None: ...
    def set_method_call_mode(self,mode: int,) -> None: ...
    def set_root(self,path: Union[str, NodePath],) -> None: ...
    def set_speed_scale(self,speed: float,) -> None: ...
    def stop(self,reset: bool=True,) -> None: ...

    # Properties
    assigned_animation: Union[str, GDString]
    autoplay: Union[str, GDString]
    current_animation: Union[str, GDString]
    current_animation_length: float
    current_animation_position: float
    method_call_mode: int
    playback_active: bool
    playback_default_blend_time: float
    playback_process_mode: int
    playback_speed: float
    root_node: Union[str, NodePath]



class AnimationTree(Node):


    @staticmethod
    def new() -> AnimationTree: ...


    # Constants
    ANIMATION_PROCESS_IDLE: int
    ANIMATION_PROCESS_MANUAL: int
    ANIMATION_PROCESS_PHYSICS: int
    # Enums
    class AnimationProcessMode(IntFlag):
        ANIMATION_PROCESS_PHYSICS: int
        ANIMATION_PROCESS_IDLE: int
        ANIMATION_PROCESS_MANUAL: int

    # Methods
    def advance(self,delta: float,) -> None: ...
    def get_animation_player(self,) -> Union[str, NodePath]: ...
    def get_process_mode(self,) -> AnimationTree.AnimationProcessMode: ...
    def get_root_motion_track(self,) -> Union[str, NodePath]: ...
    def get_root_motion_transform(self,) -> Transform: ...
    def get_tree_root(self,) -> AnimationNode: ...
    def is_active(self,) -> bool: ...
    def rename_parameter(self,old_name: Union[str, GDString],new_name: Union[str, GDString],) -> None: ...
    def set_active(self,active: bool,) -> None: ...
    def set_animation_player(self,root: Union[str, NodePath],) -> None: ...
    def set_process_mode(self,mode: int,) -> None: ...
    def set_root_motion_track(self,path: Union[str, NodePath],) -> None: ...
    def set_tree_root(self,root: AnimationNode,) -> None: ...

    # Properties
    active: bool
    anim_player: Union[str, NodePath]
    process_mode: int
    root_motion_track: Union[str, NodePath]
    tree_root: AnimationRootNode



class AnimationTreePlayer(Node):


    @staticmethod
    def new() -> AnimationTreePlayer: ...


    # Constants
    ANIMATION_PROCESS_IDLE: int
    ANIMATION_PROCESS_PHYSICS: int
    NODE_ANIMATION: int
    NODE_BLEND2: int
    NODE_BLEND3: int
    NODE_BLEND4: int
    NODE_MIX: int
    NODE_ONESHOT: int
    NODE_OUTPUT: int
    NODE_TIMESCALE: int
    NODE_TIMESEEK: int
    NODE_TRANSITION: int
    # Enums
    class AnimationProcessMode(IntFlag):
        ANIMATION_PROCESS_PHYSICS: int
        ANIMATION_PROCESS_IDLE: int
    class NodeType(IntFlag):
        NODE_OUTPUT: int
        NODE_ANIMATION: int
        NODE_ONESHOT: int
        NODE_MIX: int
        NODE_BLEND2: int
        NODE_BLEND3: int
        NODE_BLEND4: int
        NODE_TIMESCALE: int
        NODE_TIMESEEK: int
        NODE_TRANSITION: int

    # Methods
    def add_node(self,type_: int,id: Union[str, GDString],) -> None: ...
    def advance(self,delta: float,) -> None: ...
    def animation_node_get_animation(self,id: Union[str, GDString],) -> Animation: ...
    def animation_node_get_master_animation(self,id: Union[str, GDString],) -> Union[str, GDString]: ...
    def animation_node_get_position(self,id: Union[str, GDString],) -> float: ...
    def animation_node_set_animation(self,id: Union[str, GDString],animation: Animation,) -> None: ...
    def animation_node_set_filter_path(self,id: Union[str, GDString],path: Union[str, NodePath],enable: bool,) -> None: ...
    def animation_node_set_master_animation(self,id: Union[str, GDString],source: Union[str, GDString],) -> None: ...
    def are_nodes_connected(self,id: Union[str, GDString],dst_id: Union[str, GDString],dst_input_idx: int,) -> bool: ...
    def blend2_node_get_amount(self,id: Union[str, GDString],) -> float: ...
    def blend2_node_set_amount(self,id: Union[str, GDString],blend: float,) -> None: ...
    def blend2_node_set_filter_path(self,id: Union[str, GDString],path: Union[str, NodePath],enable: bool,) -> None: ...
    def blend3_node_get_amount(self,id: Union[str, GDString],) -> float: ...
    def blend3_node_set_amount(self,id: Union[str, GDString],blend: float,) -> None: ...
    def blend4_node_get_amount(self,id: Union[str, GDString],) -> Vector2: ...
    def blend4_node_set_amount(self,id: Union[str, GDString],blend: Vector2,) -> None: ...
    def connect_nodes(self,id: Union[str, GDString],dst_id: Union[str, GDString],dst_input_idx: int,) -> Error: ...
    def disconnect_nodes(self,id: Union[str, GDString],dst_input_idx: int,) -> None: ...
    def get_animation_process_mode(self,) -> AnimationTreePlayer.AnimationProcessMode: ...
    def get_base_path(self,) -> Union[str, NodePath]: ...
    def get_master_player(self,) -> Union[str, NodePath]: ...
    def get_node_list(self,) -> PoolStringArray: ...
    def is_active(self,) -> bool: ...
    def mix_node_get_amount(self,id: Union[str, GDString],) -> float: ...
    def mix_node_set_amount(self,id: Union[str, GDString],ratio: float,) -> None: ...
    def node_exists(self,node: Union[str, GDString],) -> bool: ...
    def node_get_input_count(self,id: Union[str, GDString],) -> int: ...
    def node_get_input_source(self,id: Union[str, GDString],idx: int,) -> Union[str, GDString]: ...
    def node_get_position(self,id: Union[str, GDString],) -> Vector2: ...
    def node_get_type(self,id: Union[str, GDString],) -> AnimationTreePlayer.NodeType: ...
    def node_rename(self,node: Union[str, GDString],new_name: Union[str, GDString],) -> Error: ...
    def node_set_position(self,id: Union[str, GDString],screen_position: Vector2,) -> None: ...
    def oneshot_node_get_autorestart_delay(self,id: Union[str, GDString],) -> float: ...
    def oneshot_node_get_autorestart_random_delay(self,id: Union[str, GDString],) -> float: ...
    def oneshot_node_get_fadein_time(self,id: Union[str, GDString],) -> float: ...
    def oneshot_node_get_fadeout_time(self,id: Union[str, GDString],) -> float: ...
    def oneshot_node_has_autorestart(self,id: Union[str, GDString],) -> bool: ...
    def oneshot_node_is_active(self,id: Union[str, GDString],) -> bool: ...
    def oneshot_node_set_autorestart(self,id: Union[str, GDString],enable: bool,) -> None: ...
    def oneshot_node_set_autorestart_delay(self,id: Union[str, GDString],delay_sec: float,) -> None: ...
    def oneshot_node_set_autorestart_random_delay(self,id: Union[str, GDString],rand_sec: float,) -> None: ...
    def oneshot_node_set_fadein_time(self,id: Union[str, GDString],time_sec: float,) -> None: ...
    def oneshot_node_set_fadeout_time(self,id: Union[str, GDString],time_sec: float,) -> None: ...
    def oneshot_node_set_filter_path(self,id: Union[str, GDString],path: Union[str, NodePath],enable: bool,) -> None: ...
    def oneshot_node_start(self,id: Union[str, GDString],) -> None: ...
    def oneshot_node_stop(self,id: Union[str, GDString],) -> None: ...
    def recompute_caches(self,) -> None: ...
    def remove_node(self,id: Union[str, GDString],) -> None: ...
    def reset(self,) -> None: ...
    def set_active(self,enabled: bool,) -> None: ...
    def set_animation_process_mode(self,mode: int,) -> None: ...
    def set_base_path(self,path: Union[str, NodePath],) -> None: ...
    def set_master_player(self,nodepath: Union[str, NodePath],) -> None: ...
    def timescale_node_get_scale(self,id: Union[str, GDString],) -> float: ...
    def timescale_node_set_scale(self,id: Union[str, GDString],scale: float,) -> None: ...
    def timeseek_node_seek(self,id: Union[str, GDString],seconds: float,) -> None: ...
    def transition_node_delete_input(self,id: Union[str, GDString],input_idx: int,) -> None: ...
    def transition_node_get_current(self,id: Union[str, GDString],) -> int: ...
    def transition_node_get_input_count(self,id: Union[str, GDString],) -> int: ...
    def transition_node_get_xfade_time(self,id: Union[str, GDString],) -> float: ...
    def transition_node_has_input_auto_advance(self,id: Union[str, GDString],input_idx: int,) -> bool: ...
    def transition_node_set_current(self,id: Union[str, GDString],input_idx: int,) -> None: ...
    def transition_node_set_input_auto_advance(self,id: Union[str, GDString],input_idx: int,enable: bool,) -> None: ...
    def transition_node_set_input_count(self,id: Union[str, GDString],count: int,) -> None: ...
    def transition_node_set_xfade_time(self,id: Union[str, GDString],time_sec: float,) -> None: ...

    # Properties
    active: bool
    base_path: Union[str, NodePath]
    master_player: Union[str, NodePath]
    playback_process_mode: int



class AudioStreamPlayer(Node):


    @staticmethod
    def new() -> AudioStreamPlayer: ...


    # Constants
    MIX_TARGET_CENTER: int
    MIX_TARGET_STEREO: int
    MIX_TARGET_SURROUND: int
    # Enums
    class MixTarget(IntFlag):
        MIX_TARGET_STEREO: int
        MIX_TARGET_SURROUND: int
        MIX_TARGET_CENTER: int

    # Methods
    def get_bus(self,) -> Union[str, GDString]: ...
    def get_mix_target(self,) -> AudioStreamPlayer.MixTarget: ...
    def get_pitch_scale(self,) -> float: ...
    def get_playback_position(self,) -> float: ...
    def get_stream(self,) -> AudioStream: ...
    def get_stream_paused(self,) -> bool: ...
    def get_stream_playback(self,) -> AudioStreamPlayback: ...
    def get_volume_db(self,) -> float: ...
    def is_autoplay_enabled(self,) -> bool: ...
    def is_playing(self,) -> bool: ...
    def play(self,from_position: float=0,) -> None: ...
    def seek(self,to_position: float,) -> None: ...
    def set_autoplay(self,enable: bool,) -> None: ...
    def set_bus(self,bus: Union[str, GDString],) -> None: ...
    def set_mix_target(self,mix_target: int,) -> None: ...
    def set_pitch_scale(self,pitch_scale: float,) -> None: ...
    def set_stream(self,stream: AudioStream,) -> None: ...
    def set_stream_paused(self,pause: bool,) -> None: ...
    def set_volume_db(self,volume_db: float,) -> None: ...
    def stop(self,) -> None: ...

    # Properties
    autoplay: bool
    bus: Union[str, GDString]
    mix_target: int
    pitch_scale: float
    playing: bool
    stream: AudioStream
    stream_paused: bool
    volume_db: float



class CanvasItem(Node):

    # Constants
    BLEND_MODE_ADD: int
    BLEND_MODE_DISABLED: int
    BLEND_MODE_MIX: int
    BLEND_MODE_MUL: int
    BLEND_MODE_PREMULT_ALPHA: int
    BLEND_MODE_SUB: int
    NOTIFICATION_DRAW: int
    NOTIFICATION_ENTER_CANVAS: int
    NOTIFICATION_EXIT_CANVAS: int
    NOTIFICATION_TRANSFORM_CHANGED: int
    NOTIFICATION_VISIBILITY_CHANGED: int
    # Enums
    class BlendMode(IntFlag):
        BLEND_MODE_MIX: int
        BLEND_MODE_ADD: int
        BLEND_MODE_SUB: int
        BLEND_MODE_MUL: int
        BLEND_MODE_PREMULT_ALPHA: int
        BLEND_MODE_DISABLED: int

    # Methods
    def draw_arc(self,center: Vector2,radius: float,start_angle: float,end_angle: float,point_count: int,color: Color,width: float=1,antialiased: bool=False,) -> None: ...
    def draw_char(self,font: Font,position: Vector2,char_: Union[str, GDString],next: Union[str, GDString],modulate: Color=Color(1,1,1,1),) -> float: ...
    def draw_circle(self,position: Vector2,radius: float,color: Color,) -> None: ...
    def draw_colored_polygon(self,points: PoolVector2Array,color: Color,uvs: PoolVector2Array=PoolVector2Array(),texture: Texture=None,normal_map: Texture=None,antialiased: bool=False,) -> None: ...
    def draw_line(self,from_: Vector2,to: Vector2,color: Color,width: float=1,antialiased: bool=False,) -> None: ...
    def draw_mesh(self,mesh: Mesh,texture: Texture,normal_map: Texture=None,transform: Transform2D=Transform2D(Vector2(1, 0), Vector2(0, 1), Vector2(0, 0)),modulate: Color=Color(1,1,1,1),) -> None: ...
    def draw_multiline(self,points: PoolVector2Array,color: Color,width: float=1,antialiased: bool=False,) -> None: ...
    def draw_multiline_colors(self,points: PoolVector2Array,colors: PoolColorArray,width: float=1,antialiased: bool=False,) -> None: ...
    def draw_multimesh(self,multimesh: MultiMesh,texture: Texture,normal_map: Texture=None,) -> None: ...
    def draw_polygon(self,points: PoolVector2Array,colors: PoolColorArray,uvs: PoolVector2Array=PoolVector2Array(),texture: Texture=None,normal_map: Texture=None,antialiased: bool=False,) -> None: ...
    def draw_polyline(self,points: PoolVector2Array,color: Color,width: float=1,antialiased: bool=False,) -> None: ...
    def draw_polyline_colors(self,points: PoolVector2Array,colors: PoolColorArray,width: float=1,antialiased: bool=False,) -> None: ...
    def draw_primitive(self,points: PoolVector2Array,colors: PoolColorArray,uvs: PoolVector2Array,texture: Texture=None,width: float=1,normal_map: Texture=None,) -> None: ...
    def draw_rect(self,rect: Rect2,color: Color,filled: bool=True,width: float=1,antialiased: bool=False,) -> None: ...
    def draw_set_transform(self,position: Vector2,rotation: float,scale: Vector2,) -> None: ...
    def draw_set_transform_matrix(self,xform: Transform2D,) -> None: ...
    def draw_string(self,font: Font,position: Vector2,text: Union[str, GDString],modulate: Color=Color(1,1,1,1),clip_w: int=-1,) -> None: ...
    def draw_style_box(self,style_box: StyleBox,rect: Rect2,) -> None: ...
    def draw_texture(self,texture: Texture,position: Vector2,modulate: Color=Color(1,1,1,1),normal_map: Texture=None,) -> None: ...
    def draw_texture_rect(self,texture: Texture,rect: Rect2,tile: bool,modulate: Color=Color(1,1,1,1),transpose: bool=False,normal_map: Texture=None,) -> None: ...
    def draw_texture_rect_region(self,texture: Texture,rect: Rect2,src_rect: Rect2,modulate: Color=Color(1,1,1,1),transpose: bool=False,normal_map: Texture=None,clip_uv: bool=True,) -> None: ...
    def force_update_transform(self,) -> None: ...
    def get_canvas(self,) -> RID: ...
    def get_canvas_item(self,) -> RID: ...
    def get_canvas_transform(self,) -> Transform2D: ...
    def get_global_mouse_position(self,) -> Vector2: ...
    def get_global_transform(self,) -> Transform2D: ...
    def get_global_transform_with_canvas(self,) -> Transform2D: ...
    def get_light_mask(self,) -> int: ...
    def get_local_mouse_position(self,) -> Vector2: ...
    def get_material(self,) -> Material: ...
    def get_modulate(self,) -> Color: ...
    def get_self_modulate(self,) -> Color: ...
    def get_transform(self,) -> Transform2D: ...
    def get_use_parent_material(self,) -> bool: ...
    def get_viewport_rect(self,) -> Rect2: ...
    def get_viewport_transform(self,) -> Transform2D: ...
    def get_world_2d(self,) -> World2D: ...
    def hide(self,) -> None: ...
    def is_draw_behind_parent_enabled(self,) -> bool: ...
    def is_local_transform_notification_enabled(self,) -> bool: ...
    def is_set_as_toplevel(self,) -> bool: ...
    def is_transform_notification_enabled(self,) -> bool: ...
    def is_visible(self,) -> bool: ...
    def is_visible_in_tree(self,) -> bool: ...
    def make_canvas_position_local(self,screen_point: Vector2,) -> Vector2: ...
    def make_input_local(self,event: InputEvent,) -> InputEvent: ...
    def set_as_toplevel(self,enable: bool,) -> None: ...
    def set_draw_behind_parent(self,enable: bool,) -> None: ...
    def set_light_mask(self,light_mask: int,) -> None: ...
    def set_material(self,material: Material,) -> None: ...
    def set_modulate(self,modulate: Color,) -> None: ...
    def set_notify_local_transform(self,enable: bool,) -> None: ...
    def set_notify_transform(self,enable: bool,) -> None: ...
    def set_self_modulate(self,self_modulate: Color,) -> None: ...
    def set_use_parent_material(self,enable: bool,) -> None: ...
    def set_visible(self,visible: bool,) -> None: ...
    def show(self,) -> None: ...
    def update(self,) -> None: ...

    # Properties
    light_mask: int
    material: Union[ShaderMaterial,CanvasItemMaterial]
    modulate: Color
    self_modulate: Color
    show_behind_parent: bool
    show_on_top: bool
    use_parent_material: bool
    visible: bool



class CanvasLayer(Node):


    @staticmethod
    def new() -> CanvasLayer: ...



    # Methods
    def get_canvas(self,) -> RID: ...
    def get_custom_viewport(self,) -> Node: ...
    def get_follow_viewport_scale(self,) -> float: ...
    def get_layer(self,) -> int: ...
    def get_offset(self,) -> Vector2: ...
    def get_rotation(self,) -> float: ...
    def get_rotation_degrees(self,) -> float: ...
    def get_scale(self,) -> Vector2: ...
    def get_transform(self,) -> Transform2D: ...
    def is_following_viewport(self,) -> bool: ...
    def set_custom_viewport(self,viewport: Node,) -> None: ...
    def set_follow_viewport(self,enable: bool,) -> None: ...
    def set_follow_viewport_scale(self,scale: float,) -> None: ...
    def set_layer(self,layer: int,) -> None: ...
    def set_offset(self,offset: Vector2,) -> None: ...
    def set_rotation(self,radians: float,) -> None: ...
    def set_rotation_degrees(self,degrees: float,) -> None: ...
    def set_scale(self,scale: Vector2,) -> None: ...
    def set_transform(self,transform: Transform2D,) -> None: ...

    # Properties
    custom_viewport: Viewport
    follow_viewport_enable: bool
    follow_viewport_scale: float
    layer: int
    offset: Vector2
    rotation: float
    rotation_degrees: float
    scale: Vector2
    transform: Transform2D



class EditorFileSystem(Node):


    # Methods
    def get_file_type(self,path: Union[str, GDString],) -> Union[str, GDString]: ...
    def get_filesystem(self,) -> EditorFileSystemDirectory: ...
    def get_filesystem_path(self,path: Union[str, GDString],) -> EditorFileSystemDirectory: ...
    def get_scanning_progress(self,) -> float: ...
    def is_scanning(self,) -> bool: ...
    def scan(self,) -> None: ...
    def scan_sources(self,) -> None: ...
    def update_file(self,path: Union[str, GDString],) -> None: ...
    def update_script_classes(self,) -> None: ...




class EditorInterface(Node):


    # Methods
    def edit_resource(self,resource: Resource,) -> None: ...
    def get_base_control(self,) -> Control: ...
    def get_current_path(self,) -> Union[str, GDString]: ...
    def get_edited_scene_root(self,) -> Node: ...
    def get_editor_settings(self,) -> EditorSettings: ...
    def get_editor_viewport(self,) -> Control: ...
    def get_file_system_dock(self,) -> FileSystemDock: ...
    def get_inspector(self,) -> EditorInspector: ...
    def get_open_scenes(self,) -> Array: ...
    def get_resource_filesystem(self,) -> EditorFileSystem: ...
    def get_resource_previewer(self,) -> EditorResourcePreview: ...
    def get_script_editor(self,) -> ScriptEditor: ...
    def get_selected_path(self,) -> Union[str, GDString]: ...
    def get_selection(self,) -> EditorSelection: ...
    def inspect_object(self,object: Object,for_property: Union[str, GDString]="",) -> None: ...
    def is_plugin_enabled(self,plugin: Union[str, GDString],) -> bool: ...
    def make_mesh_previews(self,meshes: Array,preview_size: int,) -> Array: ...
    def open_scene_from_path(self,scene_filepath: Union[str, GDString],) -> None: ...
    def reload_scene_from_path(self,scene_filepath: Union[str, GDString],) -> None: ...
    def save_scene(self,) -> Error: ...
    def save_scene_as(self,path: Union[str, GDString],with_preview: bool=True,) -> None: ...
    def select_file(self,file: Union[str, GDString],) -> None: ...
    def set_distraction_free_mode(self,enter: bool,) -> None: ...
    def set_main_screen_editor(self,name: Union[str, GDString],) -> None: ...
    def set_plugin_enabled(self,plugin: Union[str, GDString],enabled: bool,) -> None: ...




class EditorPlugin(Node):

    # Constants
    CONTAINER_CANVAS_EDITOR_BOTTOM: int
    CONTAINER_CANVAS_EDITOR_MENU: int
    CONTAINER_CANVAS_EDITOR_SIDE_LEFT: int
    CONTAINER_CANVAS_EDITOR_SIDE_RIGHT: int
    CONTAINER_PROJECT_SETTING_TAB_LEFT: int
    CONTAINER_PROJECT_SETTING_TAB_RIGHT: int
    CONTAINER_PROPERTY_EDITOR_BOTTOM: int
    CONTAINER_SPATIAL_EDITOR_BOTTOM: int
    CONTAINER_SPATIAL_EDITOR_MENU: int
    CONTAINER_SPATIAL_EDITOR_SIDE_LEFT: int
    CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT: int
    CONTAINER_TOOLBAR: int
    DOCK_SLOT_LEFT_BL: int
    DOCK_SLOT_LEFT_BR: int
    DOCK_SLOT_LEFT_UL: int
    DOCK_SLOT_LEFT_UR: int
    DOCK_SLOT_MAX: int
    DOCK_SLOT_RIGHT_BL: int
    DOCK_SLOT_RIGHT_BR: int
    DOCK_SLOT_RIGHT_UL: int
    DOCK_SLOT_RIGHT_UR: int
    # Enums
    class DockSlot(IntFlag):
        DOCK_SLOT_LEFT_UL: int
        DOCK_SLOT_LEFT_BL: int
        DOCK_SLOT_LEFT_UR: int
        DOCK_SLOT_LEFT_BR: int
        DOCK_SLOT_RIGHT_UL: int
        DOCK_SLOT_RIGHT_BL: int
        DOCK_SLOT_RIGHT_UR: int
        DOCK_SLOT_RIGHT_BR: int
        DOCK_SLOT_MAX: int
    class CustomControlContainer(IntFlag):
        CONTAINER_TOOLBAR: int
        CONTAINER_SPATIAL_EDITOR_MENU: int
        CONTAINER_SPATIAL_EDITOR_SIDE_LEFT: int
        CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT: int
        CONTAINER_SPATIAL_EDITOR_BOTTOM: int
        CONTAINER_CANVAS_EDITOR_MENU: int
        CONTAINER_CANVAS_EDITOR_SIDE_LEFT: int
        CONTAINER_CANVAS_EDITOR_SIDE_RIGHT: int
        CONTAINER_CANVAS_EDITOR_BOTTOM: int
        CONTAINER_PROPERTY_EDITOR_BOTTOM: int
        CONTAINER_PROJECT_SETTING_TAB_LEFT: int
        CONTAINER_PROJECT_SETTING_TAB_RIGHT: int

    # Methods
    def add_autoload_singleton(self,name: Union[str, GDString],path: Union[str, GDString],) -> None: ...
    def add_control_to_bottom_panel(self,control: Control,title: Union[str, GDString],) -> ToolButton: ...
    def add_control_to_container(self,container: int,control: Control,) -> None: ...
    def add_control_to_dock(self,slot: int,control: Control,) -> None: ...
    def add_custom_type(self,type_: Union[str, GDString],base: Union[str, GDString],script: Script,icon: Texture,) -> None: ...
    def add_export_plugin(self,plugin: EditorExportPlugin,) -> None: ...
    def add_import_plugin(self,importer: EditorImportPlugin,) -> None: ...
    def add_inspector_plugin(self,plugin: EditorInspectorPlugin,) -> None: ...
    def add_scene_import_plugin(self,scene_importer: EditorSceneImporter,) -> None: ...
    def add_spatial_gizmo_plugin(self,plugin: EditorSpatialGizmoPlugin,) -> None: ...
    def add_tool_menu_item(self,name: Union[str, GDString],handler: Object,callback: Union[str, GDString],ud: object=None,) -> None: ...
    def add_tool_submenu_item(self,name: Union[str, GDString],submenu: Object,) -> None: ...
    def get_editor_interface(self,) -> EditorInterface: ...
    def get_script_create_dialog(self,) -> ScriptCreateDialog: ...
    def get_undo_redo(self,) -> UndoRedo: ...
    def hide_bottom_panel(self,) -> None: ...
    def make_bottom_panel_item_visible(self,item: Control,) -> None: ...
    def queue_save_layout(self,) -> None: ...
    def remove_autoload_singleton(self,name: Union[str, GDString],) -> None: ...
    def remove_control_from_bottom_panel(self,control: Control,) -> None: ...
    def remove_control_from_container(self,container: int,control: Control,) -> None: ...
    def remove_control_from_docks(self,control: Control,) -> None: ...
    def remove_custom_type(self,type_: Union[str, GDString],) -> None: ...
    def remove_export_plugin(self,plugin: EditorExportPlugin,) -> None: ...
    def remove_import_plugin(self,importer: EditorImportPlugin,) -> None: ...
    def remove_inspector_plugin(self,plugin: EditorInspectorPlugin,) -> None: ...
    def remove_scene_import_plugin(self,scene_importer: EditorSceneImporter,) -> None: ...
    def remove_spatial_gizmo_plugin(self,plugin: EditorSpatialGizmoPlugin,) -> None: ...
    def remove_tool_menu_item(self,name: Union[str, GDString],) -> None: ...
    def set_force_draw_over_forwarding_enabled(self,) -> None: ...
    def set_input_event_forwarding_always_enabled(self,) -> None: ...
    def update_overlays(self,) -> int: ...




class EditorResourcePreview(Node):


    # Methods
    def add_preview_generator(self,generator: EditorResourcePreviewGenerator,) -> None: ...
    def check_for_invalidation(self,path: Union[str, GDString],) -> None: ...
    def queue_edited_resource_preview(self,resource: Resource,receiver: Object,receiver_func: Union[str, GDString],userdata: object,) -> None: ...
    def queue_resource_preview(self,path: Union[str, GDString],receiver: Object,receiver_func: Union[str, GDString],userdata: object,) -> None: ...
    def remove_preview_generator(self,generator: EditorResourcePreviewGenerator,) -> None: ...




class HTTPRequest(Node):


    @staticmethod
    def new() -> HTTPRequest: ...


    # Constants
    RESULT_BODY_SIZE_LIMIT_EXCEEDED: int
    RESULT_CANT_CONNECT: int
    RESULT_CANT_RESOLVE: int
    RESULT_CHUNKED_BODY_SIZE_MISMATCH: int
    RESULT_CONNECTION_ERROR: int
    RESULT_DOWNLOAD_FILE_CANT_OPEN: int
    RESULT_DOWNLOAD_FILE_WRITE_ERROR: int
    RESULT_NO_RESPONSE: int
    RESULT_REDIRECT_LIMIT_REACHED: int
    RESULT_REQUEST_FAILED: int
    RESULT_SSL_HANDSHAKE_ERROR: int
    RESULT_SUCCESS: int
    RESULT_TIMEOUT: int
    # Enums
    class Result(IntFlag):
        RESULT_SUCCESS: int
        RESULT_CHUNKED_BODY_SIZE_MISMATCH: int
        RESULT_CANT_CONNECT: int
        RESULT_CANT_RESOLVE: int
        RESULT_CONNECTION_ERROR: int
        RESULT_SSL_HANDSHAKE_ERROR: int
        RESULT_NO_RESPONSE: int
        RESULT_BODY_SIZE_LIMIT_EXCEEDED: int
        RESULT_REQUEST_FAILED: int
        RESULT_DOWNLOAD_FILE_CANT_OPEN: int
        RESULT_DOWNLOAD_FILE_WRITE_ERROR: int
        RESULT_REDIRECT_LIMIT_REACHED: int
        RESULT_TIMEOUT: int

    # Methods
    def cancel_request(self,) -> None: ...
    def get_body_size(self,) -> int: ...
    def get_body_size_limit(self,) -> int: ...
    def get_download_chunk_size(self,) -> int: ...
    def get_download_file(self,) -> Union[str, GDString]: ...
    def get_downloaded_bytes(self,) -> int: ...
    def get_http_client_status(self,) -> HTTPClient.Status: ...
    def get_max_redirects(self,) -> int: ...
    def get_timeout(self,) -> int: ...
    def is_using_threads(self,) -> bool: ...
    def request(self,url: Union[str, GDString],custom_headers: PoolStringArray=PoolStringArray(),ssl_validate_domain: bool=True,method: int=0,request_data: Union[str, GDString]="",) -> Error: ...
    def set_body_size_limit(self,bytes: int,) -> None: ...
    def set_download_chunk_size(self,arg0: int,) -> None: ...
    def set_download_file(self,path: Union[str, GDString],) -> None: ...
    def set_max_redirects(self,amount: int,) -> None: ...
    def set_timeout(self,timeout: int,) -> None: ...
    def set_use_threads(self,enable: bool,) -> None: ...

    # Properties
    body_size_limit: int
    download_chunk_size: int
    download_file: Union[str, GDString]
    max_redirects: int
    timeout: int
    use_threads: bool



class InstancePlaceholder(Node):


    # Methods
    def create_instance(self,replace: bool=False,custom_scene: PackedScene=None,) -> Node: ...
    def get_instance_path(self,) -> Union[str, GDString]: ...
    def get_stored_values(self,with_order: bool=False,) -> Dictionary: ...
    def replace_by_instance(self,custom_scene: PackedScene=None,) -> None: ...




class ResourcePreloader(Node):


    @staticmethod
    def new() -> ResourcePreloader: ...



    # Methods
    def add_resource(self,name: Union[str, GDString],resource: Resource,) -> None: ...
    def get_resource(self,name: Union[str, GDString],) -> Resource: ...
    def get_resource_list(self,) -> PoolStringArray: ...
    def has_resource(self,name: Union[str, GDString],) -> bool: ...
    def remove_resource(self,name: Union[str, GDString],) -> None: ...
    def rename_resource(self,name: Union[str, GDString],newname: Union[str, GDString],) -> None: ...

    # Properties
    resources: Array



class SkeletonIK(Node):


    @staticmethod
    def new() -> SkeletonIK: ...



    # Methods
    def get_interpolation(self,) -> float: ...
    def get_magnet_position(self,) -> Vector3: ...
    def get_max_iterations(self,) -> int: ...
    def get_min_distance(self,) -> float: ...
    def get_parent_skeleton(self,) -> Skeleton: ...
    def get_root_bone(self,) -> Union[str, GDString]: ...
    def get_target_node(self,) -> Union[str, NodePath]: ...
    def get_target_transform(self,) -> Transform: ...
    def get_tip_bone(self,) -> Union[str, GDString]: ...
    def is_override_tip_basis(self,) -> bool: ...
    def is_running(self,) -> bool: ...
    def is_using_magnet(self,) -> bool: ...
    def set_interpolation(self,interpolation: float,) -> None: ...
    def set_magnet_position(self,local_position: Vector3,) -> None: ...
    def set_max_iterations(self,iterations: int,) -> None: ...
    def set_min_distance(self,min_distance: float,) -> None: ...
    def set_override_tip_basis(self,override: bool,) -> None: ...
    def set_root_bone(self,root_bone: Union[str, GDString],) -> None: ...
    def set_target_node(self,node: Union[str, NodePath],) -> None: ...
    def set_target_transform(self,target: Transform,) -> None: ...
    def set_tip_bone(self,tip_bone: Union[str, GDString],) -> None: ...
    def set_use_magnet(self,use: bool,) -> None: ...
    def start(self,one_time: bool=False,) -> None: ...
    def stop(self,) -> None: ...

    # Properties
    interpolation: float
    magnet: Vector3
    max_iterations: int
    min_distance: float
    override_tip_basis: bool
    root_bone: Union[str, GDString]
    target: Transform
    target_node: Union[str, NodePath]
    tip_bone: Union[str, GDString]
    use_magnet: bool



class Spatial(Node):


    @staticmethod
    def new() -> Spatial: ...


    # Constants
    NOTIFICATION_ENTER_WORLD: int
    NOTIFICATION_EXIT_WORLD: int
    NOTIFICATION_TRANSFORM_CHANGED: int
    NOTIFICATION_VISIBILITY_CHANGED: int

    # Methods
    def force_update_transform(self,) -> None: ...
    def get_gizmo(self,) -> SpatialGizmo: ...
    def get_global_transform(self,) -> Transform: ...
    def get_parent_spatial(self,) -> Spatial: ...
    def get_rotation(self,) -> Vector3: ...
    def get_rotation_degrees(self,) -> Vector3: ...
    def get_scale(self,) -> Vector3: ...
    def get_transform(self,) -> Transform: ...
    def get_translation(self,) -> Vector3: ...
    def get_world(self,) -> World: ...
    def global_rotate(self,axis: Vector3,angle: float,) -> None: ...
    def global_scale(self,scale: Vector3,) -> None: ...
    def global_translate(self,offset: Vector3,) -> None: ...
    def hide(self,) -> None: ...
    def is_local_transform_notification_enabled(self,) -> bool: ...
    def is_scale_disabled(self,) -> bool: ...
    def is_set_as_toplevel(self,) -> bool: ...
    def is_transform_notification_enabled(self,) -> bool: ...
    def is_visible(self,) -> bool: ...
    def is_visible_in_tree(self,) -> bool: ...
    def look_at(self,target: Vector3,up: Vector3,) -> None: ...
    def look_at_from_position(self,position: Vector3,target: Vector3,up: Vector3,) -> None: ...
    def orthonormalize(self,) -> None: ...
    def rotate(self,axis: Vector3,angle: float,) -> None: ...
    def rotate_object_local(self,axis: Vector3,angle: float,) -> None: ...
    def rotate_x(self,angle: float,) -> None: ...
    def rotate_y(self,angle: float,) -> None: ...
    def rotate_z(self,angle: float,) -> None: ...
    def scale_object_local(self,scale: Vector3,) -> None: ...
    def set_as_toplevel(self,enable: bool,) -> None: ...
    def set_disable_scale(self,disable: bool,) -> None: ...
    def set_gizmo(self,gizmo: SpatialGizmo,) -> None: ...
    def set_global_transform(self,global_: Transform,) -> None: ...
    def set_identity(self,) -> None: ...
    def set_ignore_transform_notification(self,enabled: bool,) -> None: ...
    def set_notify_local_transform(self,enable: bool,) -> None: ...
    def set_notify_transform(self,enable: bool,) -> None: ...
    def set_rotation(self,euler: Vector3,) -> None: ...
    def set_rotation_degrees(self,euler_degrees: Vector3,) -> None: ...
    def set_scale(self,scale: Vector3,) -> None: ...
    def set_transform(self,local: Transform,) -> None: ...
    def set_translation(self,translation: Vector3,) -> None: ...
    def set_visible(self,visible: bool,) -> None: ...
    def show(self,) -> None: ...
    def to_global(self,local_point: Vector3,) -> Vector3: ...
    def to_local(self,global_point: Vector3,) -> Vector3: ...
    def translate(self,offset: Vector3,) -> None: ...
    def translate_object_local(self,offset: Vector3,) -> None: ...
    def update_gizmo(self,) -> None: ...

    # Properties
    gizmo: SpatialGizmo
    global_transform: Transform
    rotation: Vector3
    rotation_degrees: Vector3
    scale: Vector3
    transform: Transform
    translation: Vector3
    visible: bool



class Timer(Node):


    @staticmethod
    def new() -> Timer: ...


    # Constants
    TIMER_PROCESS_IDLE: int
    TIMER_PROCESS_PHYSICS: int
    # Enums
    class TimerProcessMode(IntFlag):
        TIMER_PROCESS_PHYSICS: int
        TIMER_PROCESS_IDLE: int

    # Methods
    def get_time_left(self,) -> float: ...
    def get_timer_process_mode(self,) -> Timer.TimerProcessMode: ...
    def get_wait_time(self,) -> float: ...
    def has_autostart(self,) -> bool: ...
    def is_one_shot(self,) -> bool: ...
    def is_paused(self,) -> bool: ...
    def is_stopped(self,) -> bool: ...
    def set_autostart(self,enable: bool,) -> None: ...
    def set_one_shot(self,enable: bool,) -> None: ...
    def set_paused(self,paused: bool,) -> None: ...
    def set_timer_process_mode(self,mode: int,) -> None: ...
    def set_wait_time(self,time_sec: float,) -> None: ...
    def start(self,time_sec: float=-1,) -> None: ...
    def stop(self,) -> None: ...

    # Properties
    autostart: bool
    one_shot: bool
    paused: bool
    process_mode: int
    time_left: float
    wait_time: float



class Tween(Node):


    @staticmethod
    def new() -> Tween: ...


    # Constants
    EASE_IN: int
    EASE_IN_OUT: int
    EASE_OUT: int
    EASE_OUT_IN: int
    TRANS_BACK: int
    TRANS_BOUNCE: int
    TRANS_CIRC: int
    TRANS_CUBIC: int
    TRANS_ELASTIC: int
    TRANS_EXPO: int
    TRANS_LINEAR: int
    TRANS_QUAD: int
    TRANS_QUART: int
    TRANS_QUINT: int
    TRANS_SINE: int
    TWEEN_PROCESS_IDLE: int
    TWEEN_PROCESS_PHYSICS: int
    # Enums
    class TransitionType(IntFlag):
        TRANS_LINEAR: int
        TRANS_SINE: int
        TRANS_QUINT: int
        TRANS_QUART: int
        TRANS_QUAD: int
        TRANS_EXPO: int
        TRANS_ELASTIC: int
        TRANS_CUBIC: int
        TRANS_CIRC: int
        TRANS_BOUNCE: int
        TRANS_BACK: int
    class TweenProcessMode(IntFlag):
        TWEEN_PROCESS_PHYSICS: int
        TWEEN_PROCESS_IDLE: int
    class EaseType(IntFlag):
        EASE_IN: int
        EASE_OUT: int
        EASE_IN_OUT: int
        EASE_OUT_IN: int

    # Methods
    def follow_method(self,object: Object,method: Union[str, GDString],initial_val: object,target: Object,target_method: Union[str, GDString],duration: float,trans_type: int=0,ease_type: int=2,delay: float=0,) -> bool: ...
    def follow_property(self,object: Object,property: Union[str, NodePath],initial_val: object,target: Object,target_property: Union[str, NodePath],duration: float,trans_type: int=0,ease_type: int=2,delay: float=0,) -> bool: ...
    def get_runtime(self,) -> float: ...
    def get_speed_scale(self,) -> float: ...
    def get_tween_process_mode(self,) -> Tween.TweenProcessMode: ...
    def interpolate_callback(self,object: Object,duration: float,callback: Union[str, GDString],arg1: object=None,arg2: object=None,arg3: object=None,arg4: object=None,arg5: object=None,) -> bool: ...
    def interpolate_deferred_callback(self,object: Object,duration: float,callback: Union[str, GDString],arg1: object=None,arg2: object=None,arg3: object=None,arg4: object=None,arg5: object=None,) -> bool: ...
    def interpolate_method(self,object: Object,method: Union[str, GDString],initial_val: object,final_val: object,duration: float,trans_type: int=0,ease_type: int=2,delay: float=0,) -> bool: ...
    def interpolate_property(self,object: Object,property: Union[str, NodePath],initial_val: object,final_val: object,duration: float,trans_type: int=0,ease_type: int=2,delay: float=0,) -> bool: ...
    def is_active(self,) -> bool: ...
    def is_repeat(self,) -> bool: ...
    def remove(self,object: Object,key: Union[str, GDString]="",) -> bool: ...
    def remove_all(self,) -> bool: ...
    def reset(self,object: Object,key: Union[str, GDString]="",) -> bool: ...
    def reset_all(self,) -> bool: ...
    def resume(self,object: Object,key: Union[str, GDString]="",) -> bool: ...
    def resume_all(self,) -> bool: ...
    def seek(self,time: float,) -> bool: ...
    def set_active(self,active: bool,) -> None: ...
    def set_repeat(self,repeat: bool,) -> None: ...
    def set_speed_scale(self,speed: float,) -> None: ...
    def set_tween_process_mode(self,mode: int,) -> None: ...
    def start(self,) -> bool: ...
    def stop(self,object: Object,key: Union[str, GDString]="",) -> bool: ...
    def stop_all(self,) -> bool: ...
    def targeting_method(self,object: Object,method: Union[str, GDString],initial: Object,initial_method: Union[str, GDString],final_val: object,duration: float,trans_type: int=0,ease_type: int=2,delay: float=0,) -> bool: ...
    def targeting_property(self,object: Object,property: Union[str, NodePath],initial: Object,initial_val: Union[str, NodePath],final_val: object,duration: float,trans_type: int=0,ease_type: int=2,delay: float=0,) -> bool: ...
    def tell(self,) -> float: ...

    # Properties
    playback_process_mode: int
    playback_speed: float
    repeat: bool



class Viewport(Node):


    @staticmethod
    def new() -> Viewport: ...


    # Constants
    CLEAR_MODE_ALWAYS: int
    CLEAR_MODE_NEVER: int
    CLEAR_MODE_ONLY_NEXT_FRAME: int
    DEBUG_DRAW_DISABLED: int
    DEBUG_DRAW_OVERDRAW: int
    DEBUG_DRAW_UNSHADED: int
    DEBUG_DRAW_WIREFRAME: int
    MSAA_16X: int
    MSAA_2X: int
    MSAA_4X: int
    MSAA_8X: int
    MSAA_DISABLED: int
    RENDER_INFO_2D_DRAW_CALLS_IN_FRAME: int
    RENDER_INFO_2D_ITEMS_IN_FRAME: int
    RENDER_INFO_DRAW_CALLS_IN_FRAME: int
    RENDER_INFO_MATERIAL_CHANGES_IN_FRAME: int
    RENDER_INFO_MAX: int
    RENDER_INFO_OBJECTS_IN_FRAME: int
    RENDER_INFO_SHADER_CHANGES_IN_FRAME: int
    RENDER_INFO_SURFACE_CHANGES_IN_FRAME: int
    RENDER_INFO_VERTICES_IN_FRAME: int
    SHADOW_ATLAS_QUADRANT_SUBDIV_1: int
    SHADOW_ATLAS_QUADRANT_SUBDIV_1024: int
    SHADOW_ATLAS_QUADRANT_SUBDIV_16: int
    SHADOW_ATLAS_QUADRANT_SUBDIV_256: int
    SHADOW_ATLAS_QUADRANT_SUBDIV_4: int
    SHADOW_ATLAS_QUADRANT_SUBDIV_64: int
    SHADOW_ATLAS_QUADRANT_SUBDIV_DISABLED: int
    SHADOW_ATLAS_QUADRANT_SUBDIV_MAX: int
    UPDATE_ALWAYS: int
    UPDATE_DISABLED: int
    UPDATE_ONCE: int
    UPDATE_WHEN_VISIBLE: int
    USAGE_2D: int
    USAGE_2D_NO_SAMPLING: int
    USAGE_3D: int
    USAGE_3D_NO_EFFECTS: int
    # Enums
    class ClearMode(IntFlag):
        CLEAR_MODE_ALWAYS: int
        CLEAR_MODE_NEVER: int
        CLEAR_MODE_ONLY_NEXT_FRAME: int
    class RenderInfo(IntFlag):
        RENDER_INFO_OBJECTS_IN_FRAME: int
        RENDER_INFO_VERTICES_IN_FRAME: int
        RENDER_INFO_MATERIAL_CHANGES_IN_FRAME: int
        RENDER_INFO_SHADER_CHANGES_IN_FRAME: int
        RENDER_INFO_SURFACE_CHANGES_IN_FRAME: int
        RENDER_INFO_DRAW_CALLS_IN_FRAME: int
        RENDER_INFO_2D_ITEMS_IN_FRAME: int
        RENDER_INFO_2D_DRAW_CALLS_IN_FRAME: int
        RENDER_INFO_MAX: int
    class Usage(IntFlag):
        USAGE_2D: int
        USAGE_2D_NO_SAMPLING: int
        USAGE_3D: int
        USAGE_3D_NO_EFFECTS: int
    class DebugDraw(IntFlag):
        DEBUG_DRAW_DISABLED: int
        DEBUG_DRAW_UNSHADED: int
        DEBUG_DRAW_OVERDRAW: int
        DEBUG_DRAW_WIREFRAME: int
    class ShadowAtlasQuadrantSubdiv(IntFlag):
        SHADOW_ATLAS_QUADRANT_SUBDIV_DISABLED: int
        SHADOW_ATLAS_QUADRANT_SUBDIV_1: int
        SHADOW_ATLAS_QUADRANT_SUBDIV_4: int
        SHADOW_ATLAS_QUADRANT_SUBDIV_16: int
        SHADOW_ATLAS_QUADRANT_SUBDIV_64: int
        SHADOW_ATLAS_QUADRANT_SUBDIV_256: int
        SHADOW_ATLAS_QUADRANT_SUBDIV_1024: int
        SHADOW_ATLAS_QUADRANT_SUBDIV_MAX: int
    class UpdateMode(IntFlag):
        UPDATE_DISABLED: int
        UPDATE_ONCE: int
        UPDATE_WHEN_VISIBLE: int
        UPDATE_ALWAYS: int
    class MSAA(IntFlag):
        MSAA_DISABLED: int
        MSAA_2X: int
        MSAA_4X: int
        MSAA_8X: int
        MSAA_16X: int

    # Methods
    def find_world(self,) -> World: ...
    def find_world_2d(self,) -> World2D: ...
    def get_camera(self,) -> Camera: ...
    def get_canvas_transform(self,) -> Transform2D: ...
    def get_clear_mode(self,) -> Viewport.ClearMode: ...
    def get_debug_draw(self,) -> Viewport.DebugDraw: ...
    def get_final_transform(self,) -> Transform2D: ...
    def get_global_canvas_transform(self,) -> Transform2D: ...
    def get_hdr(self,) -> bool: ...
    def get_keep_3d_linear(self,) -> bool: ...
    def get_modal_stack_top(self,) -> Control: ...
    def get_mouse_position(self,) -> Vector2: ...
    def get_msaa(self,) -> Viewport.MSAA: ...
    def get_physics_object_picking(self,) -> bool: ...
    def get_render_info(self,info: int,) -> int: ...
    def get_shadow_atlas_quadrant_subdiv(self,quadrant: int,) -> Viewport.ShadowAtlasQuadrantSubdiv: ...
    def get_shadow_atlas_size(self,) -> int: ...
    def get_size(self,) -> Vector2: ...
    def get_size_override(self,) -> Vector2: ...
    def get_texture(self,) -> ViewportTexture: ...
    def get_update_mode(self,) -> Viewport.UpdateMode: ...
    def get_usage(self,) -> Viewport.Usage: ...
    def get_vflip(self,) -> bool: ...
    def get_viewport_rid(self,) -> RID: ...
    def get_visible_rect(self,) -> Rect2: ...
    def get_world(self,) -> World: ...
    def get_world_2d(self,) -> World2D: ...
    def gui_get_drag_data(self,) -> object: ...
    def gui_has_modal_stack(self,) -> bool: ...
    def gui_is_dragging(self,) -> bool: ...
    def has_transparent_background(self,) -> bool: ...
    def input(self,local_event: InputEvent,) -> None: ...
    def is_3d_disabled(self,) -> bool: ...
    def is_audio_listener(self,) -> bool: ...
    def is_audio_listener_2d(self,) -> bool: ...
    def is_handling_input_locally(self,) -> bool: ...
    def is_input_disabled(self,) -> bool: ...
    def is_input_handled(self,) -> bool: ...
    def is_size_override_enabled(self,) -> bool: ...
    def is_size_override_stretch_enabled(self,) -> bool: ...
    def is_snap_controls_to_pixels_enabled(self,) -> bool: ...
    def is_using_own_world(self,) -> bool: ...
    def is_using_render_direct_to_screen(self,) -> bool: ...
    def set_as_audio_listener(self,enable: bool,) -> None: ...
    def set_as_audio_listener_2d(self,enable: bool,) -> None: ...
    def set_attach_to_screen_rect(self,rect: Rect2,) -> None: ...
    def set_canvas_transform(self,xform: Transform2D,) -> None: ...
    def set_clear_mode(self,mode: int,) -> None: ...
    def set_debug_draw(self,debug_draw: int,) -> None: ...
    def set_disable_3d(self,disable: bool,) -> None: ...
    def set_disable_input(self,disable: bool,) -> None: ...
    def set_global_canvas_transform(self,xform: Transform2D,) -> None: ...
    def set_handle_input_locally(self,enable: bool,) -> None: ...
    def set_hdr(self,enable: bool,) -> None: ...
    def set_input_as_handled(self,) -> None: ...
    def set_keep_3d_linear(self,keep_3d_linear: bool,) -> None: ...
    def set_msaa(self,msaa: int,) -> None: ...
    def set_physics_object_picking(self,enable: bool,) -> None: ...
    def set_shadow_atlas_quadrant_subdiv(self,quadrant: int,subdiv: int,) -> None: ...
    def set_shadow_atlas_size(self,size: int,) -> None: ...
    def set_size(self,size: Vector2,) -> None: ...
    def set_size_override(self,enable: bool,size: Vector2=Vector2(-1, -1),margin: Vector2=Vector2(0, 0),) -> None: ...
    def set_size_override_stretch(self,enabled: bool,) -> None: ...
    def set_snap_controls_to_pixels(self,enabled: bool,) -> None: ...
    def set_transparent_background(self,enable: bool,) -> None: ...
    def set_update_mode(self,mode: int,) -> None: ...
    def set_usage(self,usage: int,) -> None: ...
    def set_use_arvr(self,use: bool,) -> None: ...
    def set_use_own_world(self,enable: bool,) -> None: ...
    def set_use_render_direct_to_screen(self,enable: bool,) -> None: ...
    def set_vflip(self,enable: bool,) -> None: ...
    def set_world(self,world: World,) -> None: ...
    def set_world_2d(self,world_2d: World2D,) -> None: ...
    def unhandled_input(self,local_event: InputEvent,) -> None: ...
    def update_worlds(self,) -> None: ...
    def use_arvr(self,) -> bool: ...
    def warp_mouse(self,to_position: Vector2,) -> None: ...

    # Properties
    arvr: bool
    audio_listener_enable_2d: bool
    audio_listener_enable_3d: bool
    canvas_transform: Transform2D
    debug_draw: int
    disable_3d: bool
    global_canvas_transform: Transform2D
    gui_disable_input: bool
    gui_snap_controls_to_pixels: bool
    handle_input_locally: bool
    hdr: bool
    keep_3d_linear: bool
    msaa: int
    own_world: bool
    physics_object_picking: bool
    render_direct_to_screen: bool
    render_target_clear_mode: int
    render_target_update_mode: int
    render_target_v_flip: bool
    shadow_atlas_quad_0: int
    shadow_atlas_quad_1: int
    shadow_atlas_quad_2: int
    shadow_atlas_quad_3: int
    shadow_atlas_size: int
    size: Vector2
    size_override_stretch: bool
    transparent_bg: bool
    usage: int
    world: World
    world_2d: World2D



class WorldEnvironment(Node):


    @staticmethod
    def new() -> WorldEnvironment: ...



    # Methods
    def get_environment(self,) -> Environment: ...
    def set_environment(self,env: Environment,) -> None: ...

    # Properties
    environment: Environment



class ARVRAnchor(Spatial):


    @staticmethod
    def new() -> ARVRAnchor: ...



    # Methods
    def get_anchor_id(self,) -> int: ...
    def get_anchor_name(self,) -> Union[str, GDString]: ...
    def get_is_active(self,) -> bool: ...
    def get_mesh(self,) -> Mesh: ...
    def get_plane(self,) -> Plane: ...
    def get_size(self,) -> Vector3: ...
    def set_anchor_id(self,anchor_id: int,) -> None: ...

    # Properties
    anchor_id: int



class ARVRController(Spatial):


    @staticmethod
    def new() -> ARVRController: ...



    # Methods
    def get_controller_id(self,) -> int: ...
    def get_controller_name(self,) -> Union[str, GDString]: ...
    def get_hand(self,) -> ARVRPositionalTracker.TrackerHand: ...
    def get_is_active(self,) -> bool: ...
    def get_joystick_axis(self,axis: int,) -> float: ...
    def get_joystick_id(self,) -> int: ...
    def get_mesh(self,) -> Mesh: ...
    def get_rumble(self,) -> float: ...
    def is_button_pressed(self,button: int,) -> int: ...
    def set_controller_id(self,controller_id: int,) -> None: ...
    def set_rumble(self,rumble: float,) -> None: ...

    # Properties
    controller_id: int
    rumble: float



class ARVROrigin(Spatial):


    @staticmethod
    def new() -> ARVROrigin: ...



    # Methods
    def get_world_scale(self,) -> float: ...
    def set_world_scale(self,world_scale: float,) -> None: ...

    # Properties
    world_scale: float



class AudioStreamPlayer3D(Spatial):


    @staticmethod
    def new() -> AudioStreamPlayer3D: ...


    # Constants
    ATTENUATION_DISABLED: int
    ATTENUATION_INVERSE_DISTANCE: int
    ATTENUATION_INVERSE_SQUARE_DISTANCE: int
    ATTENUATION_LOGARITHMIC: int
    DOPPLER_TRACKING_DISABLED: int
    DOPPLER_TRACKING_IDLE_STEP: int
    DOPPLER_TRACKING_PHYSICS_STEP: int
    OUT_OF_RANGE_MIX: int
    OUT_OF_RANGE_PAUSE: int
    # Enums
    class AttenuationModel(IntFlag):
        ATTENUATION_INVERSE_DISTANCE: int
        ATTENUATION_INVERSE_SQUARE_DISTANCE: int
        ATTENUATION_LOGARITHMIC: int
        ATTENUATION_DISABLED: int
    class OutOfRangeMode(IntFlag):
        OUT_OF_RANGE_MIX: int
        OUT_OF_RANGE_PAUSE: int
    class DopplerTracking(IntFlag):
        DOPPLER_TRACKING_DISABLED: int
        DOPPLER_TRACKING_IDLE_STEP: int
        DOPPLER_TRACKING_PHYSICS_STEP: int

    # Methods
    def get_area_mask(self,) -> int: ...
    def get_attenuation_filter_cutoff_hz(self,) -> float: ...
    def get_attenuation_filter_db(self,) -> float: ...
    def get_attenuation_model(self,) -> AudioStreamPlayer3D.AttenuationModel: ...
    def get_bus(self,) -> Union[str, GDString]: ...
    def get_doppler_tracking(self,) -> AudioStreamPlayer3D.DopplerTracking: ...
    def get_emission_angle(self,) -> float: ...
    def get_emission_angle_filter_attenuation_db(self,) -> float: ...
    def get_max_db(self,) -> float: ...
    def get_max_distance(self,) -> float: ...
    def get_out_of_range_mode(self,) -> AudioStreamPlayer3D.OutOfRangeMode: ...
    def get_pitch_scale(self,) -> float: ...
    def get_playback_position(self,) -> float: ...
    def get_stream(self,) -> AudioStream: ...
    def get_stream_paused(self,) -> bool: ...
    def get_stream_playback(self,) -> AudioStreamPlayback: ...
    def get_unit_db(self,) -> float: ...
    def get_unit_size(self,) -> float: ...
    def is_autoplay_enabled(self,) -> bool: ...
    def is_emission_angle_enabled(self,) -> bool: ...
    def is_playing(self,) -> bool: ...
    def play(self,from_position: float=0,) -> None: ...
    def seek(self,to_position: float,) -> None: ...
    def set_area_mask(self,mask: int,) -> None: ...
    def set_attenuation_filter_cutoff_hz(self,degrees: float,) -> None: ...
    def set_attenuation_filter_db(self,db: float,) -> None: ...
    def set_attenuation_model(self,model: int,) -> None: ...
    def set_autoplay(self,enable: bool,) -> None: ...
    def set_bus(self,bus: Union[str, GDString],) -> None: ...
    def set_doppler_tracking(self,mode: int,) -> None: ...
    def set_emission_angle(self,degrees: float,) -> None: ...
    def set_emission_angle_enabled(self,enabled: bool,) -> None: ...
    def set_emission_angle_filter_attenuation_db(self,db: float,) -> None: ...
    def set_max_db(self,max_db: float,) -> None: ...
    def set_max_distance(self,metres: float,) -> None: ...
    def set_out_of_range_mode(self,mode: int,) -> None: ...
    def set_pitch_scale(self,pitch_scale: float,) -> None: ...
    def set_stream(self,stream: AudioStream,) -> None: ...
    def set_stream_paused(self,pause: bool,) -> None: ...
    def set_unit_db(self,unit_db: float,) -> None: ...
    def set_unit_size(self,unit_size: float,) -> None: ...
    def stop(self,) -> None: ...

    # Properties
    area_mask: int
    attenuation_filter_cutoff_hz: float
    attenuation_filter_db: float
    attenuation_model: int
    autoplay: bool
    bus: Union[str, GDString]
    doppler_tracking: int
    emission_angle_degrees: float
    emission_angle_enabled: bool
    emission_angle_filter_attenuation_db: float
    max_db: float
    max_distance: float
    out_of_range_mode: int
    pitch_scale: float
    playing: bool
    stream: AudioStream
    stream_paused: bool
    unit_db: float
    unit_size: float



class BoneAttachment(Spatial):


    @staticmethod
    def new() -> BoneAttachment: ...



    # Methods
    def get_bone_name(self,) -> Union[str, GDString]: ...
    def set_bone_name(self,bone_name: Union[str, GDString],) -> None: ...

    # Properties
    bone_name: Union[str, GDString]



class Camera(Spatial):


    @staticmethod
    def new() -> Camera: ...


    # Constants
    DOPPLER_TRACKING_DISABLED: int
    DOPPLER_TRACKING_IDLE_STEP: int
    DOPPLER_TRACKING_PHYSICS_STEP: int
    KEEP_HEIGHT: int
    KEEP_WIDTH: int
    PROJECTION_FRUSTUM: int
    PROJECTION_ORTHOGONAL: int
    PROJECTION_PERSPECTIVE: int
    # Enums
    class KeepAspect(IntFlag):
        KEEP_WIDTH: int
        KEEP_HEIGHT: int
    class Projection(IntFlag):
        PROJECTION_PERSPECTIVE: int
        PROJECTION_ORTHOGONAL: int
        PROJECTION_FRUSTUM: int
    class DopplerTracking(IntFlag):
        DOPPLER_TRACKING_DISABLED: int
        DOPPLER_TRACKING_IDLE_STEP: int
        DOPPLER_TRACKING_PHYSICS_STEP: int

    # Methods
    def clear_current(self,enable_next: bool=True,) -> None: ...
    def get_camera_rid(self,) -> RID: ...
    def get_camera_transform(self,) -> Transform: ...
    def get_cull_mask(self,) -> int: ...
    def get_cull_mask_bit(self,layer: int,) -> bool: ...
    def get_doppler_tracking(self,) -> Camera.DopplerTracking: ...
    def get_environment(self,) -> Environment: ...
    def get_fov(self,) -> float: ...
    def get_frustum(self,) -> Array: ...
    def get_frustum_offset(self,) -> Vector2: ...
    def get_h_offset(self,) -> float: ...
    def get_keep_aspect_mode(self,) -> Camera.KeepAspect: ...
    def get_projection(self,) -> Camera.Projection: ...
    def get_size(self,) -> float: ...
    def get_v_offset(self,) -> float: ...
    def get_zfar(self,) -> float: ...
    def get_znear(self,) -> float: ...
    def is_current(self,) -> bool: ...
    def is_position_behind(self,world_point: Vector3,) -> bool: ...
    def make_current(self,) -> None: ...
    def project_local_ray_normal(self,screen_point: Vector2,) -> Vector3: ...
    def project_position(self,screen_point: Vector2,z_depth: float,) -> Vector3: ...
    def project_ray_normal(self,screen_point: Vector2,) -> Vector3: ...
    def project_ray_origin(self,screen_point: Vector2,) -> Vector3: ...
    def set_cull_mask(self,mask: int,) -> None: ...
    def set_cull_mask_bit(self,layer: int,enable: bool,) -> None: ...
    def set_current(self,arg0: bool,) -> None: ...
    def set_doppler_tracking(self,mode: int,) -> None: ...
    def set_environment(self,env: Environment,) -> None: ...
    def set_fov(self,arg0: float,) -> None: ...
    def set_frustum(self,size: float,offset: Vector2,z_near: float,z_far: float,) -> None: ...
    def set_frustum_offset(self,arg0: Vector2,) -> None: ...
    def set_h_offset(self,ofs: float,) -> None: ...
    def set_keep_aspect_mode(self,mode: int,) -> None: ...
    def set_orthogonal(self,size: float,z_near: float,z_far: float,) -> None: ...
    def set_perspective(self,fov: float,z_near: float,z_far: float,) -> None: ...
    def set_projection(self,arg0: int,) -> None: ...
    def set_size(self,arg0: float,) -> None: ...
    def set_v_offset(self,ofs: float,) -> None: ...
    def set_zfar(self,arg0: float,) -> None: ...
    def set_znear(self,arg0: float,) -> None: ...
    def unproject_position(self,world_point: Vector3,) -> Vector2: ...

    # Properties
    cull_mask: int
    current: bool
    doppler_tracking: int
    environment: Environment
    far: float
    fov: float
    frustum_offset: Vector2
    h_offset: float
    keep_aspect: int
    near: float
    projection: int
    size: float
    v_offset: float



class CollisionObject(Spatial):


    # Methods
    def create_shape_owner(self,owner: Object,) -> int: ...
    def get_capture_input_on_drag(self,) -> bool: ...
    def get_rid(self,) -> RID: ...
    def get_shape_owners(self,) -> Array: ...
    def is_ray_pickable(self,) -> bool: ...
    def is_shape_owner_disabled(self,owner_id: int,) -> bool: ...
    def remove_shape_owner(self,owner_id: int,) -> None: ...
    def set_capture_input_on_drag(self,enable: bool,) -> None: ...
    def set_ray_pickable(self,ray_pickable: bool,) -> None: ...
    def shape_find_owner(self,shape_index: int,) -> int: ...
    def shape_owner_add_shape(self,owner_id: int,shape: Shape,) -> None: ...
    def shape_owner_clear_shapes(self,owner_id: int,) -> None: ...
    def shape_owner_get_owner(self,owner_id: int,) -> Object: ...
    def shape_owner_get_shape(self,owner_id: int,shape_id: int,) -> Shape: ...
    def shape_owner_get_shape_count(self,owner_id: int,) -> int: ...
    def shape_owner_get_shape_index(self,owner_id: int,shape_id: int,) -> int: ...
    def shape_owner_get_transform(self,owner_id: int,) -> Transform: ...
    def shape_owner_remove_shape(self,owner_id: int,shape_id: int,) -> None: ...
    def shape_owner_set_disabled(self,owner_id: int,disabled: bool,) -> None: ...
    def shape_owner_set_transform(self,owner_id: int,transform: Transform,) -> None: ...

    # Properties
    input_capture_on_drag: bool
    input_ray_pickable: bool



class CollisionPolygon(Spatial):


    @staticmethod
    def new() -> CollisionPolygon: ...



    # Methods
    def get_depth(self,) -> float: ...
    def get_polygon(self,) -> PoolVector2Array: ...
    def is_disabled(self,) -> bool: ...
    def set_depth(self,depth: float,) -> None: ...
    def set_disabled(self,disabled: bool,) -> None: ...
    def set_polygon(self,polygon: PoolVector2Array,) -> None: ...

    # Properties
    depth: float
    disabled: bool
    polygon: PoolVector2Array



class CollisionShape(Spatial):


    @staticmethod
    def new() -> CollisionShape: ...



    # Methods
    def get_shape(self,) -> Shape: ...
    def is_disabled(self,) -> bool: ...
    def resource_changed(self,resource: Resource,) -> None: ...
    def set_disabled(self,enable: bool,) -> None: ...
    def set_shape(self,shape: Shape,) -> None: ...

    # Properties
    disabled: bool
    shape: Shape



class GridMap(Spatial):


    @staticmethod
    def new() -> GridMap: ...


    # Constants
    INVALID_CELL_ITEM: int

    # Methods
    def clear(self,) -> None: ...
    def clear_baked_meshes(self,) -> None: ...
    def get_bake_mesh_instance(self,idx: int,) -> RID: ...
    def get_bake_meshes(self,) -> Array: ...
    def get_cell_item(self,x: int,y: int,z: int,) -> int: ...
    def get_cell_item_orientation(self,x: int,y: int,z: int,) -> int: ...
    def get_cell_scale(self,) -> float: ...
    def get_cell_size(self,) -> Vector3: ...
    def get_center_x(self,) -> bool: ...
    def get_center_y(self,) -> bool: ...
    def get_center_z(self,) -> bool: ...
    def get_collision_layer(self,) -> int: ...
    def get_collision_layer_bit(self,bit: int,) -> bool: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def get_mesh_library(self,) -> MeshLibrary: ...
    def get_meshes(self,) -> Array: ...
    def get_octant_size(self,) -> int: ...
    def get_used_cells(self,) -> Array: ...
    def make_baked_meshes(self,gen_lightmap_uv: bool=False,lightmap_uv_texel_size: float=0.1,) -> None: ...
    def map_to_world(self,x: int,y: int,z: int,) -> Vector3: ...
    def resource_changed(self,resource: Resource,) -> None: ...
    def set_cell_item(self,x: int,y: int,z: int,item: int,orientation: int=0,) -> None: ...
    def set_cell_scale(self,scale: float,) -> None: ...
    def set_cell_size(self,size: Vector3,) -> None: ...
    def set_center_x(self,enable: bool,) -> None: ...
    def set_center_y(self,enable: bool,) -> None: ...
    def set_center_z(self,enable: bool,) -> None: ...
    def set_clip(self,enabled: bool,clipabove: bool=True,floor: int=0,axis: int=0,) -> None: ...
    def set_collision_layer(self,layer: int,) -> None: ...
    def set_collision_layer_bit(self,bit: int,value: bool,) -> None: ...
    def set_collision_mask(self,mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...
    def set_mesh_library(self,mesh_library: MeshLibrary,) -> None: ...
    def set_octant_size(self,size: int,) -> None: ...
    def world_to_map(self,pos: Vector3,) -> Vector3: ...

    # Properties
    cell_center_x: bool
    cell_center_y: bool
    cell_center_z: bool
    cell_octant_size: int
    cell_scale: float
    cell_size: Vector3
    collision_layer: int
    collision_mask: int
    mesh_library: MeshLibrary



class Joint(Spatial):


    # Methods
    def get_exclude_nodes_from_collision(self,) -> bool: ...
    def get_node_a(self,) -> Union[str, NodePath]: ...
    def get_node_b(self,) -> Union[str, NodePath]: ...
    def get_solver_priority(self,) -> int: ...
    def set_exclude_nodes_from_collision(self,enable: bool,) -> None: ...
    def set_node_a(self,node: Union[str, NodePath],) -> None: ...
    def set_node_b(self,node: Union[str, NodePath],) -> None: ...
    def set_solver_priority(self,priority: int,) -> None: ...

    # Properties
    collision_exclude_nodes: bool
    nodes_node_a: Union[str, NodePath]
    nodes_node_b: Union[str, NodePath]
    solver_priority: int



class Listener(Spatial):


    @staticmethod
    def new() -> Listener: ...



    # Methods
    def clear_current(self,) -> None: ...
    def get_listener_transform(self,) -> Transform: ...
    def is_current(self,) -> bool: ...
    def make_current(self,) -> None: ...




class Navigation(Spatial):


    @staticmethod
    def new() -> Navigation: ...



    # Methods
    def get_closest_point(self,to_point: Vector3,) -> Vector3: ...
    def get_closest_point_normal(self,to_point: Vector3,) -> Vector3: ...
    def get_closest_point_owner(self,to_point: Vector3,) -> Object: ...
    def get_closest_point_to_segment(self,start: Vector3,end: Vector3,use_collision: bool=False,) -> Vector3: ...
    def get_simple_path(self,start: Vector3,end: Vector3,optimize: bool=True,) -> PoolVector3Array: ...
    def get_up_vector(self,) -> Vector3: ...
    def navmesh_add(self,mesh: NavigationMesh,xform: Transform,owner: Object=None,) -> int: ...
    def navmesh_remove(self,id: int,) -> None: ...
    def navmesh_set_transform(self,id: int,xform: Transform,) -> None: ...
    def set_up_vector(self,up: Vector3,) -> None: ...

    # Properties
    up_vector: Vector3



class NavigationMeshInstance(Spatial):


    @staticmethod
    def new() -> NavigationMeshInstance: ...



    # Methods
    def get_navigation_mesh(self,) -> NavigationMesh: ...
    def is_enabled(self,) -> bool: ...
    def set_enabled(self,enabled: bool,) -> None: ...
    def set_navigation_mesh(self,navmesh: NavigationMesh,) -> None: ...

    # Properties
    enabled: bool
    navmesh: NavigationMesh



class Path(Spatial):


    @staticmethod
    def new() -> Path: ...



    # Methods
    def get_curve(self,) -> Curve3D: ...
    def set_curve(self,curve: Curve3D,) -> None: ...

    # Properties
    curve: Curve3D



class PathFollow(Spatial):


    @staticmethod
    def new() -> PathFollow: ...


    # Constants
    ROTATION_NONE: int
    ROTATION_ORIENTED: int
    ROTATION_XY: int
    ROTATION_XYZ: int
    ROTATION_Y: int
    # Enums
    class RotationMode(IntFlag):
        ROTATION_NONE: int
        ROTATION_Y: int
        ROTATION_XY: int
        ROTATION_XYZ: int
        ROTATION_ORIENTED: int

    # Methods
    def get_cubic_interpolation(self,) -> bool: ...
    def get_h_offset(self,) -> float: ...
    def get_offset(self,) -> float: ...
    def get_rotation_mode(self,) -> PathFollow.RotationMode: ...
    def get_unit_offset(self,) -> float: ...
    def get_v_offset(self,) -> float: ...
    def has_loop(self,) -> bool: ...
    def set_cubic_interpolation(self,enable: bool,) -> None: ...
    def set_h_offset(self,h_offset: float,) -> None: ...
    def set_loop(self,loop: bool,) -> None: ...
    def set_offset(self,offset: float,) -> None: ...
    def set_rotation_mode(self,rotation_mode: int,) -> None: ...
    def set_unit_offset(self,unit_offset: float,) -> None: ...
    def set_v_offset(self,v_offset: float,) -> None: ...

    # Properties
    cubic_interp: bool
    h_offset: float
    loop: bool
    offset: float
    rotation_mode: int
    unit_offset: float
    v_offset: float



class Position3D(Spatial):


    @staticmethod
    def new() -> Position3D: ...





    pass


class ProximityGroup(Spatial):


    @staticmethod
    def new() -> ProximityGroup: ...


    # Constants
    MODE_PROXY: int
    MODE_SIGNAL: int
    # Enums
    class DispatchMode(IntFlag):
        MODE_PROXY: int
        MODE_SIGNAL: int

    # Methods
    def broadcast(self,name: Union[str, GDString],parameters: object,) -> None: ...
    def get_dispatch_mode(self,) -> ProximityGroup.DispatchMode: ...
    def get_grid_radius(self,) -> Vector3: ...
    def get_group_name(self,) -> Union[str, GDString]: ...
    def set_dispatch_mode(self,mode: int,) -> None: ...
    def set_grid_radius(self,radius: Vector3,) -> None: ...
    def set_group_name(self,name: Union[str, GDString],) -> None: ...

    # Properties
    dispatch_mode: int
    grid_radius: Vector3
    group_name: Union[str, GDString]



class RayCast(Spatial):


    @staticmethod
    def new() -> RayCast: ...



    # Methods
    def add_exception(self,node: Object,) -> None: ...
    def add_exception_rid(self,rid: RID,) -> None: ...
    def clear_exceptions(self,) -> None: ...
    def force_raycast_update(self,) -> None: ...
    def get_cast_to(self,) -> Vector3: ...
    def get_collider(self,) -> Object: ...
    def get_collider_shape(self,) -> int: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def get_collision_normal(self,) -> Vector3: ...
    def get_collision_point(self,) -> Vector3: ...
    def get_exclude_parent_body(self,) -> bool: ...
    def is_collide_with_areas_enabled(self,) -> bool: ...
    def is_collide_with_bodies_enabled(self,) -> bool: ...
    def is_colliding(self,) -> bool: ...
    def is_enabled(self,) -> bool: ...
    def remove_exception(self,node: Object,) -> None: ...
    def remove_exception_rid(self,rid: RID,) -> None: ...
    def set_cast_to(self,local_point: Vector3,) -> None: ...
    def set_collide_with_areas(self,enable: bool,) -> None: ...
    def set_collide_with_bodies(self,enable: bool,) -> None: ...
    def set_collision_mask(self,mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...
    def set_enabled(self,enabled: bool,) -> None: ...
    def set_exclude_parent_body(self,mask: bool,) -> None: ...

    # Properties
    cast_to: Vector3
    collide_with_areas: bool
    collide_with_bodies: bool
    collision_mask: int
    enabled: bool
    exclude_parent: bool



class RemoteTransform(Spatial):


    @staticmethod
    def new() -> RemoteTransform: ...



    # Methods
    def force_update_cache(self,) -> None: ...
    def get_remote_node(self,) -> Union[str, NodePath]: ...
    def get_update_position(self,) -> bool: ...
    def get_update_rotation(self,) -> bool: ...
    def get_update_scale(self,) -> bool: ...
    def get_use_global_coordinates(self,) -> bool: ...
    def set_remote_node(self,path: Union[str, NodePath],) -> None: ...
    def set_update_position(self,update_remote_position: bool,) -> None: ...
    def set_update_rotation(self,update_remote_rotation: bool,) -> None: ...
    def set_update_scale(self,update_remote_scale: bool,) -> None: ...
    def set_use_global_coordinates(self,use_global_coordinates: bool,) -> None: ...

    # Properties
    remote_path: Union[str, NodePath]
    update_position: bool
    update_rotation: bool
    update_scale: bool
    use_global_coordinates: bool



class Skeleton(Spatial):


    @staticmethod
    def new() -> Skeleton: ...


    # Constants
    NOTIFICATION_UPDATE_SKELETON: int

    # Methods
    def add_bone(self,name: Union[str, GDString],) -> None: ...
    def bind_child_node_to_bone(self,bone_idx: int,node: Node,) -> None: ...
    def clear_bones(self,) -> None: ...
    def clear_bones_global_pose_override(self,) -> None: ...
    def find_bone(self,name: Union[str, GDString],) -> int: ...
    def get_bone_count(self,) -> int: ...
    def get_bone_custom_pose(self,bone_idx: int,) -> Transform: ...
    def get_bone_global_pose(self,bone_idx: int,) -> Transform: ...
    def get_bone_name(self,bone_idx: int,) -> Union[str, GDString]: ...
    def get_bone_parent(self,bone_idx: int,) -> int: ...
    def get_bone_pose(self,bone_idx: int,) -> Transform: ...
    def get_bone_rest(self,bone_idx: int,) -> Transform: ...
    def get_bound_child_nodes_to_bone(self,bone_idx: int,) -> Array: ...
    def is_bone_rest_disabled(self,bone_idx: int,) -> bool: ...
    def localize_rests(self,) -> None: ...
    def physical_bones_add_collision_exception(self,exception: RID,) -> None: ...
    def physical_bones_remove_collision_exception(self,exception: RID,) -> None: ...
    def physical_bones_start_simulation(self,bones: Array=Array(),) -> None: ...
    def physical_bones_stop_simulation(self,) -> None: ...
    def register_skin(self,skin: Skin,) -> SkinReference: ...
    def set_bone_custom_pose(self,bone_idx: int,custom_pose: Transform,) -> None: ...
    def set_bone_disable_rest(self,bone_idx: int,disable: bool,) -> None: ...
    def set_bone_global_pose_override(self,bone_idx: int,pose: Transform,amount: float,persistent: bool=False,) -> None: ...
    def set_bone_parent(self,bone_idx: int,parent_idx: int,) -> None: ...
    def set_bone_pose(self,bone_idx: int,pose: Transform,) -> None: ...
    def set_bone_rest(self,bone_idx: int,rest: Transform,) -> None: ...
    def unbind_child_node_from_bone(self,bone_idx: int,node: Node,) -> None: ...
    def unparent_bone_and_rest(self,bone_idx: int,) -> None: ...




class SpringArm(Spatial):


    @staticmethod
    def new() -> SpringArm: ...



    # Methods
    def add_excluded_object(self,RID: RID,) -> None: ...
    def clear_excluded_objects(self,) -> None: ...
    def get_collision_mask(self,) -> int: ...
    def get_hit_length(self,) -> float: ...
    def get_length(self,) -> float: ...
    def get_margin(self,) -> float: ...
    def get_shape(self,) -> Shape: ...
    def remove_excluded_object(self,RID: RID,) -> bool: ...
    def set_collision_mask(self,mask: int,) -> None: ...
    def set_length(self,length: float,) -> None: ...
    def set_margin(self,margin: float,) -> None: ...
    def set_shape(self,shape: Shape,) -> None: ...

    # Properties
    collision_mask: int
    margin: float
    shape: Shape
    spring_length: float



class VehicleWheel(Spatial):


    @staticmethod
    def new() -> VehicleWheel: ...



    # Methods
    def get_brake(self,) -> float: ...
    def get_damping_compression(self,) -> float: ...
    def get_damping_relaxation(self,) -> float: ...
    def get_engine_force(self,) -> float: ...
    def get_friction_slip(self,) -> float: ...
    def get_radius(self,) -> float: ...
    def get_roll_influence(self,) -> float: ...
    def get_rpm(self,) -> float: ...
    def get_skidinfo(self,) -> float: ...
    def get_steering(self,) -> float: ...
    def get_suspension_max_force(self,) -> float: ...
    def get_suspension_rest_length(self,) -> float: ...
    def get_suspension_stiffness(self,) -> float: ...
    def get_suspension_travel(self,) -> float: ...
    def is_in_contact(self,) -> bool: ...
    def is_used_as_steering(self,) -> bool: ...
    def is_used_as_traction(self,) -> bool: ...
    def set_brake(self,brake: float,) -> None: ...
    def set_damping_compression(self,length: float,) -> None: ...
    def set_damping_relaxation(self,length: float,) -> None: ...
    def set_engine_force(self,engine_force: float,) -> None: ...
    def set_friction_slip(self,length: float,) -> None: ...
    def set_radius(self,length: float,) -> None: ...
    def set_roll_influence(self,roll_influence: float,) -> None: ...
    def set_steering(self,steering: float,) -> None: ...
    def set_suspension_max_force(self,length: float,) -> None: ...
    def set_suspension_rest_length(self,length: float,) -> None: ...
    def set_suspension_stiffness(self,length: float,) -> None: ...
    def set_suspension_travel(self,length: float,) -> None: ...
    def set_use_as_steering(self,enable: bool,) -> None: ...
    def set_use_as_traction(self,enable: bool,) -> None: ...

    # Properties
    brake: float
    damping_compression: float
    damping_relaxation: float
    engine_force: float
    steering: float
    suspension_max_force: float
    suspension_stiffness: float
    suspension_travel: float
    use_as_steering: bool
    use_as_traction: bool
    wheel_friction_slip: float
    wheel_radius: float
    wheel_rest_length: float
    wheel_roll_influence: float



class VisibilityNotifier(Spatial):


    @staticmethod
    def new() -> VisibilityNotifier: ...



    # Methods
    def get_aabb(self,) -> AABB: ...
    def is_on_screen(self,) -> bool: ...
    def set_aabb(self,rect: AABB,) -> None: ...

    # Properties
    aabb: AABB



class VisualInstance(Spatial):


    # Methods
    def get_aabb(self,) -> AABB: ...
    def get_base(self,) -> RID: ...
    def get_instance(self,) -> RID: ...
    def get_layer_mask(self,) -> int: ...
    def get_layer_mask_bit(self,layer: int,) -> bool: ...
    def get_transformed_aabb(self,) -> AABB: ...
    def set_base(self,base: RID,) -> None: ...
    def set_layer_mask(self,mask: int,) -> None: ...
    def set_layer_mask_bit(self,layer: int,enabled: bool,) -> None: ...

    # Properties
    layers: int



class BakedLightmap(VisualInstance):


    @staticmethod
    def new() -> BakedLightmap: ...


    # Constants
    BAKE_ERROR_CANT_CREATE_IMAGE: int
    BAKE_ERROR_NO_MESHES: int
    BAKE_ERROR_NO_SAVE_PATH: int
    BAKE_ERROR_OK: int
    BAKE_ERROR_USER_ABORTED: int
    BAKE_MODE_CONE_TRACE: int
    BAKE_MODE_RAY_TRACE: int
    BAKE_QUALITY_HIGH: int
    BAKE_QUALITY_LOW: int
    BAKE_QUALITY_MEDIUM: int
    # Enums
    class BakeQuality(IntFlag):
        BAKE_QUALITY_LOW: int
        BAKE_QUALITY_MEDIUM: int
        BAKE_QUALITY_HIGH: int
    class BakeError(IntFlag):
        BAKE_ERROR_OK: int
        BAKE_ERROR_NO_SAVE_PATH: int
        BAKE_ERROR_NO_MESHES: int
        BAKE_ERROR_CANT_CREATE_IMAGE: int
        BAKE_ERROR_USER_ABORTED: int
    class BakeMode(IntFlag):
        BAKE_MODE_CONE_TRACE: int
        BAKE_MODE_RAY_TRACE: int

    # Methods
    def bake(self,from_node: Node=None,create_visual_debug: bool=False,) -> BakedLightmap.BakeError: ...
    def get_bake_cell_size(self,) -> float: ...
    def get_bake_default_texels_per_unit(self,) -> float: ...
    def get_bake_mode(self,) -> BakedLightmap.BakeMode: ...
    def get_bake_quality(self,) -> BakedLightmap.BakeQuality: ...
    def get_capture_cell_size(self,) -> float: ...
    def get_energy(self,) -> float: ...
    def get_extents(self,) -> Vector3: ...
    def get_image_path(self,) -> Union[str, GDString]: ...
    def get_light_data(self,) -> BakedLightmapData: ...
    def get_propagation(self,) -> float: ...
    def is_hdr(self,) -> bool: ...
    def set_bake_cell_size(self,bake_cell_size: float,) -> None: ...
    def set_bake_default_texels_per_unit(self,texels: float,) -> None: ...
    def set_bake_mode(self,bake_mode: int,) -> None: ...
    def set_bake_quality(self,bake_quality: int,) -> None: ...
    def set_capture_cell_size(self,capture_cell_size: float,) -> None: ...
    def set_energy(self,energy: float,) -> None: ...
    def set_extents(self,extents: Vector3,) -> None: ...
    def set_hdr(self,hdr: bool,) -> None: ...
    def set_image_path(self,image_path: Union[str, GDString],) -> None: ...
    def set_light_data(self,data: BakedLightmapData,) -> None: ...
    def set_propagation(self,propagation: float,) -> None: ...

    # Properties
    bake_cell_size: float
    bake_default_texels_per_unit: float
    bake_energy: float
    bake_extents: Vector3
    bake_hdr: bool
    bake_mode: int
    bake_propagation: float
    bake_quality: int
    capture_cell_size: float
    image_path: Union[str, GDString]
    light_data: BakedLightmapData



class GIProbe(VisualInstance):


    @staticmethod
    def new() -> GIProbe: ...


    # Constants
    SUBDIV_128: int
    SUBDIV_256: int
    SUBDIV_512: int
    SUBDIV_64: int
    SUBDIV_MAX: int
    # Enums
    class Subdiv(IntFlag):
        SUBDIV_64: int
        SUBDIV_128: int
        SUBDIV_256: int
        SUBDIV_512: int
        SUBDIV_MAX: int

    # Methods
    def bake(self,from_node: Node=None,create_visual_debug: bool=False,) -> None: ...
    def get_bias(self,) -> float: ...
    def get_dynamic_range(self,) -> int: ...
    def get_energy(self,) -> float: ...
    def get_extents(self,) -> Vector3: ...
    def get_normal_bias(self,) -> float: ...
    def get_probe_data(self,) -> GIProbeData: ...
    def get_propagation(self,) -> float: ...
    def get_subdiv(self,) -> GIProbe.Subdiv: ...
    def is_compressed(self,) -> bool: ...
    def is_interior(self,) -> bool: ...
    def set_bias(self,max: float,) -> None: ...
    def set_compress(self,enable: bool,) -> None: ...
    def set_dynamic_range(self,max: int,) -> None: ...
    def set_energy(self,max: float,) -> None: ...
    def set_extents(self,extents: Vector3,) -> None: ...
    def set_interior(self,enable: bool,) -> None: ...
    def set_normal_bias(self,max: float,) -> None: ...
    def set_probe_data(self,data: GIProbeData,) -> None: ...
    def set_propagation(self,max: float,) -> None: ...
    def set_subdiv(self,subdiv: int,) -> None: ...

    # Properties
    bias: float
    compress: bool
    data: GIProbeData
    dynamic_range: int
    energy: float
    extents: Vector3
    interior: bool
    normal_bias: float
    propagation: float
    subdiv: int



class GeometryInstance(VisualInstance):

    # Constants
    FLAG_DRAW_NEXT_FRAME_IF_VISIBLE: int
    FLAG_MAX: int
    FLAG_USE_BAKED_LIGHT: int
    SHADOW_CASTING_SETTING_DOUBLE_SIDED: int
    SHADOW_CASTING_SETTING_OFF: int
    SHADOW_CASTING_SETTING_ON: int
    SHADOW_CASTING_SETTING_SHADOWS_ONLY: int
    # Enums
    class Flags(IntFlag):
        FLAG_USE_BAKED_LIGHT: int
        FLAG_DRAW_NEXT_FRAME_IF_VISIBLE: int
        FLAG_MAX: int
    class ShadowCastingSetting(IntFlag):
        SHADOW_CASTING_SETTING_OFF: int
        SHADOW_CASTING_SETTING_ON: int
        SHADOW_CASTING_SETTING_DOUBLE_SIDED: int
        SHADOW_CASTING_SETTING_SHADOWS_ONLY: int

    # Methods
    def get_cast_shadows_setting(self,) -> GeometryInstance.ShadowCastingSetting: ...
    def get_extra_cull_margin(self,) -> float: ...
    def get_flag(self,flag: int,) -> bool: ...
    def get_lod_max_distance(self,) -> float: ...
    def get_lod_max_hysteresis(self,) -> float: ...
    def get_lod_min_distance(self,) -> float: ...
    def get_lod_min_hysteresis(self,) -> float: ...
    def get_material_override(self,) -> Material: ...
    def set_cast_shadows_setting(self,shadow_casting_setting: int,) -> None: ...
    def set_custom_aabb(self,aabb: AABB,) -> None: ...
    def set_extra_cull_margin(self,margin: float,) -> None: ...
    def set_flag(self,flag: int,value: bool,) -> None: ...
    def set_lod_max_distance(self,mode: float,) -> None: ...
    def set_lod_max_hysteresis(self,mode: float,) -> None: ...
    def set_lod_min_distance(self,mode: float,) -> None: ...
    def set_lod_min_hysteresis(self,mode: float,) -> None: ...
    def set_material_override(self,material: Material,) -> None: ...

    # Properties
    cast_shadow: int
    extra_cull_margin: float
    lod_max_distance: int
    lod_max_hysteresis: int
    lod_min_distance: int
    lod_min_hysteresis: int
    material_override: Union[ShaderMaterial,SpatialMaterial]
    use_in_baked_light: bool



class Light(VisualInstance):

    # Constants
    BAKE_ALL: int
    BAKE_DISABLED: int
    BAKE_INDIRECT: int
    PARAM_ATTENUATION: int
    PARAM_CONTACT_SHADOW_SIZE: int
    PARAM_ENERGY: int
    PARAM_INDIRECT_ENERGY: int
    PARAM_MAX: int
    PARAM_RANGE: int
    PARAM_SHADOW_BIAS: int
    PARAM_SHADOW_BIAS_SPLIT_SCALE: int
    PARAM_SHADOW_MAX_DISTANCE: int
    PARAM_SHADOW_NORMAL_BIAS: int
    PARAM_SHADOW_SPLIT_1_OFFSET: int
    PARAM_SHADOW_SPLIT_2_OFFSET: int
    PARAM_SHADOW_SPLIT_3_OFFSET: int
    PARAM_SPECULAR: int
    PARAM_SPOT_ANGLE: int
    PARAM_SPOT_ATTENUATION: int
    # Enums
    class BakeMode(IntFlag):
        BAKE_DISABLED: int
        BAKE_INDIRECT: int
        BAKE_ALL: int
    class Param(IntFlag):
        PARAM_ENERGY: int
        PARAM_INDIRECT_ENERGY: int
        PARAM_SPECULAR: int
        PARAM_RANGE: int
        PARAM_ATTENUATION: int
        PARAM_SPOT_ANGLE: int
        PARAM_SPOT_ATTENUATION: int
        PARAM_CONTACT_SHADOW_SIZE: int
        PARAM_SHADOW_MAX_DISTANCE: int
        PARAM_SHADOW_SPLIT_1_OFFSET: int
        PARAM_SHADOW_SPLIT_2_OFFSET: int
        PARAM_SHADOW_SPLIT_3_OFFSET: int
        PARAM_SHADOW_NORMAL_BIAS: int
        PARAM_SHADOW_BIAS: int
        PARAM_SHADOW_BIAS_SPLIT_SCALE: int
        PARAM_MAX: int

    # Methods
    def get_bake_mode(self,) -> Light.BakeMode: ...
    def get_color(self,) -> Color: ...
    def get_cull_mask(self,) -> int: ...
    def get_param(self,param: int,) -> float: ...
    def get_shadow_color(self,) -> Color: ...
    def get_shadow_reverse_cull_face(self,) -> bool: ...
    def has_shadow(self,) -> bool: ...
    def is_editor_only(self,) -> bool: ...
    def is_negative(self,) -> bool: ...
    def set_bake_mode(self,bake_mode: int,) -> None: ...
    def set_color(self,color: Color,) -> None: ...
    def set_cull_mask(self,cull_mask: int,) -> None: ...
    def set_editor_only(self,editor_only: bool,) -> None: ...
    def set_negative(self,enabled: bool,) -> None: ...
    def set_param(self,param: int,value: float,) -> None: ...
    def set_shadow(self,enabled: bool,) -> None: ...
    def set_shadow_color(self,shadow_color: Color,) -> None: ...
    def set_shadow_reverse_cull_face(self,enable: bool,) -> None: ...

    # Properties
    editor_only: bool
    light_bake_mode: int
    light_color: Color
    light_cull_mask: int
    light_energy: float
    light_indirect_energy: float
    light_negative: bool
    light_specular: float
    shadow_bias: float
    shadow_color: Color
    shadow_contact: float
    shadow_enabled: bool
    shadow_reverse_cull_face: bool



class ReflectionProbe(VisualInstance):


    @staticmethod
    def new() -> ReflectionProbe: ...


    # Constants
    UPDATE_ALWAYS: int
    UPDATE_ONCE: int
    # Enums
    class UpdateMode(IntFlag):
        UPDATE_ONCE: int
        UPDATE_ALWAYS: int

    # Methods
    def are_shadows_enabled(self,) -> bool: ...
    def get_cull_mask(self,) -> int: ...
    def get_extents(self,) -> Vector3: ...
    def get_intensity(self,) -> float: ...
    def get_interior_ambient(self,) -> Color: ...
    def get_interior_ambient_energy(self,) -> float: ...
    def get_interior_ambient_probe_contribution(self,) -> float: ...
    def get_max_distance(self,) -> float: ...
    def get_origin_offset(self,) -> Vector3: ...
    def get_update_mode(self,) -> ReflectionProbe.UpdateMode: ...
    def is_box_projection_enabled(self,) -> bool: ...
    def is_set_as_interior(self,) -> bool: ...
    def set_as_interior(self,enable: bool,) -> None: ...
    def set_cull_mask(self,layers: int,) -> None: ...
    def set_enable_box_projection(self,enable: bool,) -> None: ...
    def set_enable_shadows(self,enable: bool,) -> None: ...
    def set_extents(self,extents: Vector3,) -> None: ...
    def set_intensity(self,intensity: float,) -> None: ...
    def set_interior_ambient(self,ambient: Color,) -> None: ...
    def set_interior_ambient_energy(self,ambient_energy: float,) -> None: ...
    def set_interior_ambient_probe_contribution(self,ambient_probe_contribution: float,) -> None: ...
    def set_max_distance(self,max_distance: float,) -> None: ...
    def set_origin_offset(self,origin_offset: Vector3,) -> None: ...
    def set_update_mode(self,mode: int,) -> None: ...

    # Properties
    box_projection: bool
    cull_mask: int
    enable_shadows: bool
    extents: Vector3
    intensity: float
    interior_ambient_color: Color
    interior_ambient_contrib: float
    interior_ambient_energy: float
    interior_enable: bool
    max_distance: float
    origin_offset: Vector3
    update_mode: int



class RootMotionView(VisualInstance):



    # Properties
    animation_path: Union[str, NodePath]
    cell_size: float
    color: Color
    radius: float
    zero_y: bool



class DirectionalLight(Light):


    @staticmethod
    def new() -> DirectionalLight: ...


    # Constants
    SHADOW_DEPTH_RANGE_OPTIMIZED: int
    SHADOW_DEPTH_RANGE_STABLE: int
    SHADOW_ORTHOGONAL: int
    SHADOW_PARALLEL_2_SPLITS: int
    SHADOW_PARALLEL_4_SPLITS: int
    # Enums
    class ShadowMode(IntFlag):
        SHADOW_ORTHOGONAL: int
        SHADOW_PARALLEL_2_SPLITS: int
        SHADOW_PARALLEL_4_SPLITS: int
    class ShadowDepthRange(IntFlag):
        SHADOW_DEPTH_RANGE_STABLE: int
        SHADOW_DEPTH_RANGE_OPTIMIZED: int

    # Methods
    def get_shadow_depth_range(self,) -> DirectionalLight.ShadowDepthRange: ...
    def get_shadow_mode(self,) -> DirectionalLight.ShadowMode: ...
    def is_blend_splits_enabled(self,) -> bool: ...
    def set_blend_splits(self,enabled: bool,) -> None: ...
    def set_shadow_depth_range(self,mode: int,) -> None: ...
    def set_shadow_mode(self,mode: int,) -> None: ...

    # Properties
    directional_shadow_bias_split_scale: float
    directional_shadow_blend_splits: bool
    directional_shadow_depth_range: int
    directional_shadow_max_distance: float
    directional_shadow_mode: int
    directional_shadow_normal_bias: float
    directional_shadow_split_1: float
    directional_shadow_split_2: float
    directional_shadow_split_3: float



class OmniLight(Light):


    @staticmethod
    def new() -> OmniLight: ...


    # Constants
    SHADOW_CUBE: int
    SHADOW_DETAIL_HORIZONTAL: int
    SHADOW_DETAIL_VERTICAL: int
    SHADOW_DUAL_PARABOLOID: int
    # Enums
    class ShadowMode(IntFlag):
        SHADOW_DUAL_PARABOLOID: int
        SHADOW_CUBE: int
    class ShadowDetail(IntFlag):
        SHADOW_DETAIL_VERTICAL: int
        SHADOW_DETAIL_HORIZONTAL: int

    # Methods
    def get_shadow_detail(self,) -> OmniLight.ShadowDetail: ...
    def get_shadow_mode(self,) -> OmniLight.ShadowMode: ...
    def set_shadow_detail(self,detail: int,) -> None: ...
    def set_shadow_mode(self,mode: int,) -> None: ...

    # Properties
    omni_attenuation: float
    omni_range: float
    omni_shadow_detail: int
    omni_shadow_mode: int



class SpotLight(Light):


    @staticmethod
    def new() -> SpotLight: ...




    # Properties
    spot_angle: float
    spot_angle_attenuation: float
    spot_attenuation: float
    spot_range: float



class CPUParticles(GeometryInstance):


    @staticmethod
    def new() -> CPUParticles: ...


    # Constants
    DRAW_ORDER_INDEX: int
    DRAW_ORDER_LIFETIME: int
    DRAW_ORDER_VIEW_DEPTH: int
    EMISSION_SHAPE_BOX: int
    EMISSION_SHAPE_DIRECTED_POINTS: int
    EMISSION_SHAPE_MAX: int
    EMISSION_SHAPE_POINT: int
    EMISSION_SHAPE_POINTS: int
    EMISSION_SHAPE_SPHERE: int
    FLAG_ALIGN_Y_TO_VELOCITY: int
    FLAG_DISABLE_Z: int
    FLAG_MAX: int
    FLAG_ROTATE_Y: int
    PARAM_ANGLE: int
    PARAM_ANGULAR_VELOCITY: int
    PARAM_ANIM_OFFSET: int
    PARAM_ANIM_SPEED: int
    PARAM_DAMPING: int
    PARAM_HUE_VARIATION: int
    PARAM_INITIAL_LINEAR_VELOCITY: int
    PARAM_LINEAR_ACCEL: int
    PARAM_MAX: int
    PARAM_ORBIT_VELOCITY: int
    PARAM_RADIAL_ACCEL: int
    PARAM_SCALE: int
    PARAM_TANGENTIAL_ACCEL: int
    # Enums
    class Flags(IntFlag):
        FLAG_ALIGN_Y_TO_VELOCITY: int
        FLAG_ROTATE_Y: int
        FLAG_DISABLE_Z: int
        FLAG_MAX: int
    class EmissionShape(IntFlag):
        EMISSION_SHAPE_POINT: int
        EMISSION_SHAPE_SPHERE: int
        EMISSION_SHAPE_BOX: int
        EMISSION_SHAPE_POINTS: int
        EMISSION_SHAPE_DIRECTED_POINTS: int
        EMISSION_SHAPE_MAX: int
    class Parameter(IntFlag):
        PARAM_INITIAL_LINEAR_VELOCITY: int
        PARAM_ANGULAR_VELOCITY: int
        PARAM_ORBIT_VELOCITY: int
        PARAM_LINEAR_ACCEL: int
        PARAM_RADIAL_ACCEL: int
        PARAM_TANGENTIAL_ACCEL: int
        PARAM_DAMPING: int
        PARAM_ANGLE: int
        PARAM_SCALE: int
        PARAM_HUE_VARIATION: int
        PARAM_ANIM_SPEED: int
        PARAM_ANIM_OFFSET: int
        PARAM_MAX: int
    class DrawOrder(IntFlag):
        DRAW_ORDER_INDEX: int
        DRAW_ORDER_LIFETIME: int
        DRAW_ORDER_VIEW_DEPTH: int

    # Methods
    def convert_from_particles(self,particles: Node,) -> None: ...
    def get_amount(self,) -> int: ...
    def get_color(self,) -> Color: ...
    def get_color_ramp(self,) -> Gradient: ...
    def get_direction(self,) -> Vector3: ...
    def get_draw_order(self,) -> CPUParticles.DrawOrder: ...
    def get_emission_box_extents(self,) -> Vector3: ...
    def get_emission_colors(self,) -> PoolColorArray: ...
    def get_emission_normals(self,) -> PoolVector3Array: ...
    def get_emission_points(self,) -> PoolVector3Array: ...
    def get_emission_shape(self,) -> CPUParticles.EmissionShape: ...
    def get_emission_sphere_radius(self,) -> float: ...
    def get_explosiveness_ratio(self,) -> float: ...
    def get_fixed_fps(self,) -> int: ...
    def get_flatness(self,) -> float: ...
    def get_fractional_delta(self,) -> bool: ...
    def get_gravity(self,) -> Vector3: ...
    def get_lifetime(self,) -> float: ...
    def get_lifetime_randomness(self,) -> float: ...
    def get_mesh(self,) -> Mesh: ...
    def get_one_shot(self,) -> bool: ...
    def get_param(self,param: int,) -> float: ...
    def get_param_curve(self,param: int,) -> Curve: ...
    def get_param_randomness(self,param: int,) -> float: ...
    def get_particle_flag(self,flag: int,) -> bool: ...
    def get_pre_process_time(self,) -> float: ...
    def get_randomness_ratio(self,) -> float: ...
    def get_speed_scale(self,) -> float: ...
    def get_spread(self,) -> float: ...
    def get_use_local_coordinates(self,) -> bool: ...
    def is_emitting(self,) -> bool: ...
    def restart(self,) -> None: ...
    def set_amount(self,amount: int,) -> None: ...
    def set_color(self,color: Color,) -> None: ...
    def set_color_ramp(self,ramp: Gradient,) -> None: ...
    def set_direction(self,direction: Vector3,) -> None: ...
    def set_draw_order(self,order: int,) -> None: ...
    def set_emission_box_extents(self,extents: Vector3,) -> None: ...
    def set_emission_colors(self,array: PoolColorArray,) -> None: ...
    def set_emission_normals(self,array: PoolVector3Array,) -> None: ...
    def set_emission_points(self,array: PoolVector3Array,) -> None: ...
    def set_emission_shape(self,shape: int,) -> None: ...
    def set_emission_sphere_radius(self,radius: float,) -> None: ...
    def set_emitting(self,emitting: bool,) -> None: ...
    def set_explosiveness_ratio(self,ratio: float,) -> None: ...
    def set_fixed_fps(self,fps: int,) -> None: ...
    def set_flatness(self,amount: float,) -> None: ...
    def set_fractional_delta(self,enable: bool,) -> None: ...
    def set_gravity(self,accel_vec: Vector3,) -> None: ...
    def set_lifetime(self,secs: float,) -> None: ...
    def set_lifetime_randomness(self,random: float,) -> None: ...
    def set_mesh(self,mesh: Mesh,) -> None: ...
    def set_one_shot(self,enable: bool,) -> None: ...
    def set_param(self,param: int,value: float,) -> None: ...
    def set_param_curve(self,param: int,curve: Curve,) -> None: ...
    def set_param_randomness(self,param: int,randomness: float,) -> None: ...
    def set_particle_flag(self,flag: int,enable: bool,) -> None: ...
    def set_pre_process_time(self,secs: float,) -> None: ...
    def set_randomness_ratio(self,ratio: float,) -> None: ...
    def set_speed_scale(self,scale: float,) -> None: ...
    def set_spread(self,degrees: float,) -> None: ...
    def set_use_local_coordinates(self,enable: bool,) -> None: ...

    # Properties
    amount: int
    angle: float
    angle_curve: Curve
    angle_random: float
    angular_velocity: float
    angular_velocity_curve: Curve
    angular_velocity_random: float
    anim_offset: float
    anim_offset_curve: Curve
    anim_offset_random: float
    anim_speed: float
    anim_speed_curve: Curve
    anim_speed_random: float
    color: Color
    color_ramp: Gradient
    damping: float
    damping_curve: Curve
    damping_random: float
    direction: Vector3
    draw_order: int
    emission_box_extents: Vector3
    emission_colors: PoolColorArray
    emission_normals: PoolVector3Array
    emission_points: PoolVector3Array
    emission_shape: int
    emission_sphere_radius: float
    emitting: bool
    explosiveness: float
    fixed_fps: int
    flag_align_y: bool
    flag_disable_z: bool
    flag_rotate_y: bool
    flatness: float
    fract_delta: bool
    gravity: Vector3
    hue_variation: float
    hue_variation_curve: Curve
    hue_variation_random: float
    initial_velocity: float
    initial_velocity_random: float
    lifetime: float
    lifetime_randomness: float
    linear_accel: float
    linear_accel_curve: Curve
    linear_accel_random: float
    local_coords: bool
    mesh: Mesh
    one_shot: bool
    orbit_velocity: float
    orbit_velocity_curve: Curve
    orbit_velocity_random: float
    preprocess: float
    radial_accel: float
    radial_accel_curve: Curve
    radial_accel_random: float
    randomness: float
    scale_amount: float
    scale_amount_curve: Curve
    scale_amount_random: float
    speed_scale: float
    spread: float
    tangential_accel: float
    tangential_accel_curve: Curve
    tangential_accel_random: float



class CSGShape(GeometryInstance):

    # Constants
    OPERATION_INTERSECTION: int
    OPERATION_SUBTRACTION: int
    OPERATION_UNION: int
    # Enums
    class Operation(IntFlag):
        OPERATION_UNION: int
        OPERATION_INTERSECTION: int
        OPERATION_SUBTRACTION: int

    # Methods
    def get_collision_layer(self,) -> int: ...
    def get_collision_layer_bit(self,bit: int,) -> bool: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def get_meshes(self,) -> Array: ...
    def get_operation(self,) -> CSGShape.Operation: ...
    def get_snap(self,) -> float: ...
    def is_calculating_tangents(self,) -> bool: ...
    def is_root_shape(self,) -> bool: ...
    def is_using_collision(self,) -> bool: ...
    def set_calculate_tangents(self,enabled: bool,) -> None: ...
    def set_collision_layer(self,layer: int,) -> None: ...
    def set_collision_layer_bit(self,bit: int,value: bool,) -> None: ...
    def set_collision_mask(self,mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...
    def set_operation(self,operation: int,) -> None: ...
    def set_snap(self,snap: float,) -> None: ...
    def set_use_collision(self,operation: bool,) -> None: ...

    # Properties
    calculate_tangents: bool
    collision_layer: int
    collision_mask: int
    operation: int
    snap: float
    use_collision: bool



class ImmediateGeometry(GeometryInstance):


    @staticmethod
    def new() -> ImmediateGeometry: ...



    # Methods
    def add_sphere(self,lats: int,lons: int,radius: float,add_uv: bool=True,) -> None: ...
    def add_vertex(self,position: Vector3,) -> None: ...
    def begin(self,primitive: int,texture: Texture=None,) -> None: ...
    def clear(self,) -> None: ...
    def end(self,) -> None: ...
    def set_color(self,color: Color,) -> None: ...
    def set_normal(self,normal: Vector3,) -> None: ...
    def set_tangent(self,tangent: Plane,) -> None: ...
    def set_uv(self,uv: Vector2,) -> None: ...
    def set_uv2(self,uv: Vector2,) -> None: ...




class MeshInstance(GeometryInstance):


    @staticmethod
    def new() -> MeshInstance: ...



    # Methods
    def create_convex_collision(self,) -> None: ...
    def create_trimesh_collision(self,) -> None: ...
    def get_mesh(self,) -> Mesh: ...
    def get_skeleton_path(self,) -> Union[str, NodePath]: ...
    def get_skin(self,) -> Skin: ...
    def get_surface_material(self,surface: int,) -> Material: ...
    def get_surface_material_count(self,) -> int: ...
    def set_mesh(self,mesh: Mesh,) -> None: ...
    def set_skeleton_path(self,skeleton_path: Union[str, NodePath],) -> None: ...
    def set_skin(self,skin: Skin,) -> None: ...
    def set_surface_material(self,surface: int,material: Material,) -> None: ...

    # Properties
    mesh: Mesh
    skeleton: Union[str, NodePath]
    skin: Skin



class MultiMeshInstance(GeometryInstance):


    @staticmethod
    def new() -> MultiMeshInstance: ...



    # Methods
    def get_multimesh(self,) -> MultiMesh: ...
    def set_multimesh(self,multimesh: MultiMesh,) -> None: ...

    # Properties
    multimesh: MultiMesh



class Particles(GeometryInstance):


    @staticmethod
    def new() -> Particles: ...


    # Constants
    DRAW_ORDER_INDEX: int
    DRAW_ORDER_LIFETIME: int
    DRAW_ORDER_VIEW_DEPTH: int
    MAX_DRAW_PASSES: int
    # Enums
    class DrawOrder(IntFlag):
        DRAW_ORDER_INDEX: int
        DRAW_ORDER_LIFETIME: int
        DRAW_ORDER_VIEW_DEPTH: int

    # Methods
    def capture_aabb(self,) -> AABB: ...
    def get_amount(self,) -> int: ...
    def get_draw_order(self,) -> Particles.DrawOrder: ...
    def get_draw_pass_mesh(self,pass_: int,) -> Mesh: ...
    def get_draw_passes(self,) -> int: ...
    def get_explosiveness_ratio(self,) -> float: ...
    def get_fixed_fps(self,) -> int: ...
    def get_fractional_delta(self,) -> bool: ...
    def get_lifetime(self,) -> float: ...
    def get_one_shot(self,) -> bool: ...
    def get_pre_process_time(self,) -> float: ...
    def get_process_material(self,) -> Material: ...
    def get_randomness_ratio(self,) -> float: ...
    def get_speed_scale(self,) -> float: ...
    def get_use_local_coordinates(self,) -> bool: ...
    def get_visibility_aabb(self,) -> AABB: ...
    def is_emitting(self,) -> bool: ...
    def restart(self,) -> None: ...
    def set_amount(self,amount: int,) -> None: ...
    def set_draw_order(self,order: int,) -> None: ...
    def set_draw_pass_mesh(self,pass_: int,mesh: Mesh,) -> None: ...
    def set_draw_passes(self,passes: int,) -> None: ...
    def set_emitting(self,emitting: bool,) -> None: ...
    def set_explosiveness_ratio(self,ratio: float,) -> None: ...
    def set_fixed_fps(self,fps: int,) -> None: ...
    def set_fractional_delta(self,enable: bool,) -> None: ...
    def set_lifetime(self,secs: float,) -> None: ...
    def set_one_shot(self,enable: bool,) -> None: ...
    def set_pre_process_time(self,secs: float,) -> None: ...
    def set_process_material(self,material: Material,) -> None: ...
    def set_randomness_ratio(self,ratio: float,) -> None: ...
    def set_speed_scale(self,scale: float,) -> None: ...
    def set_use_local_coordinates(self,enable: bool,) -> None: ...
    def set_visibility_aabb(self,aabb: AABB,) -> None: ...

    # Properties
    amount: int
    draw_order: int
    draw_pass_1: Mesh
    draw_pass_2: Mesh
    draw_pass_3: Mesh
    draw_pass_4: Mesh
    draw_passes: int
    emitting: bool
    explosiveness: float
    fixed_fps: int
    fract_delta: bool
    lifetime: float
    local_coords: bool
    one_shot: bool
    preprocess: float
    process_material: Union[ShaderMaterial,ParticlesMaterial]
    randomness: float
    speed_scale: float
    visibility_aabb: AABB



class SpriteBase3D(GeometryInstance):

    # Constants
    ALPHA_CUT_DISABLED: int
    ALPHA_CUT_DISCARD: int
    ALPHA_CUT_OPAQUE_PREPASS: int
    FLAG_DOUBLE_SIDED: int
    FLAG_MAX: int
    FLAG_SHADED: int
    FLAG_TRANSPARENT: int
    # Enums
    class DrawFlags(IntFlag):
        FLAG_TRANSPARENT: int
        FLAG_SHADED: int
        FLAG_DOUBLE_SIDED: int
        FLAG_MAX: int
    class AlphaCutMode(IntFlag):
        ALPHA_CUT_DISABLED: int
        ALPHA_CUT_DISCARD: int
        ALPHA_CUT_OPAQUE_PREPASS: int

    # Methods
    def generate_triangle_mesh(self,) -> TriangleMesh: ...
    def get_alpha_cut_mode(self,) -> SpriteBase3D.AlphaCutMode: ...
    def get_axis(self,) -> Vector3.Axis: ...
    def get_billboard_mode(self,) -> SpatialMaterial.BillboardMode: ...
    def get_draw_flag(self,flag: int,) -> bool: ...
    def get_item_rect(self,) -> Rect2: ...
    def get_modulate(self,) -> Color: ...
    def get_offset(self,) -> Vector2: ...
    def get_opacity(self,) -> float: ...
    def get_pixel_size(self,) -> float: ...
    def is_centered(self,) -> bool: ...
    def is_flipped_h(self,) -> bool: ...
    def is_flipped_v(self,) -> bool: ...
    def set_alpha_cut_mode(self,mode: int,) -> None: ...
    def set_axis(self,axis: int,) -> None: ...
    def set_billboard_mode(self,mode: int,) -> None: ...
    def set_centered(self,centered: bool,) -> None: ...
    def set_draw_flag(self,flag: int,enabled: bool,) -> None: ...
    def set_flip_h(self,flip_h: bool,) -> None: ...
    def set_flip_v(self,flip_v: bool,) -> None: ...
    def set_modulate(self,modulate: Color,) -> None: ...
    def set_offset(self,offset: Vector2,) -> None: ...
    def set_opacity(self,opacity: float,) -> None: ...
    def set_pixel_size(self,pixel_size: float,) -> None: ...

    # Properties
    alpha_cut: int
    axis: int
    billboard: int
    centered: bool
    double_sided: bool
    flip_h: bool
    flip_v: bool
    modulate: Color
    offset: Vector2
    opacity: float
    pixel_size: float
    shaded: bool
    transparent: bool



class AnimatedSprite3D(SpriteBase3D):


    @staticmethod
    def new() -> AnimatedSprite3D: ...



    # Methods
    def get_animation(self,) -> Union[str, GDString]: ...
    def get_frame(self,) -> int: ...
    def get_sprite_frames(self,) -> SpriteFrames: ...
    def is_playing(self,) -> bool: ...
    def play(self,anim: Union[str, GDString]="",) -> None: ...
    def set_animation(self,animation: Union[str, GDString],) -> None: ...
    def set_frame(self,frame: int,) -> None: ...
    def set_sprite_frames(self,sprite_frames: SpriteFrames,) -> None: ...
    def stop(self,) -> None: ...

    # Properties
    animation: Union[str, GDString]
    frame: int
    frames: SpriteFrames
    playing: bool



class Sprite3D(SpriteBase3D):


    @staticmethod
    def new() -> Sprite3D: ...



    # Methods
    def get_frame(self,) -> int: ...
    def get_frame_coords(self,) -> Vector2: ...
    def get_hframes(self,) -> int: ...
    def get_region_rect(self,) -> Rect2: ...
    def get_texture(self,) -> Texture: ...
    def get_vframes(self,) -> int: ...
    def is_region(self,) -> bool: ...
    def set_frame(self,frame: int,) -> None: ...
    def set_frame_coords(self,coords: Vector2,) -> None: ...
    def set_hframes(self,hframes: int,) -> None: ...
    def set_region(self,enabled: bool,) -> None: ...
    def set_region_rect(self,rect: Rect2,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...
    def set_vframes(self,vframes: int,) -> None: ...

    # Properties
    frame: int
    frame_coords: Vector2
    hframes: int
    region_enabled: bool
    region_rect: Rect2
    texture: Texture
    vframes: int



class SoftBody(MeshInstance):


    @staticmethod
    def new() -> SoftBody: ...



    # Methods
    def add_collision_exception_with(self,body: Node,) -> None: ...
    def get_areaAngular_stiffness(self,) -> float: ...
    def get_collision_exceptions(self,) -> Array: ...
    def get_collision_layer(self,) -> int: ...
    def get_collision_layer_bit(self,bit: int,) -> bool: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def get_damping_coefficient(self,) -> float: ...
    def get_drag_coefficient(self,) -> float: ...
    def get_linear_stiffness(self,) -> float: ...
    def get_parent_collision_ignore(self,) -> Union[str, NodePath]: ...
    def get_pose_matching_coefficient(self,) -> float: ...
    def get_pressure_coefficient(self,) -> float: ...
    def get_simulation_precision(self,) -> int: ...
    def get_total_mass(self,) -> float: ...
    def get_volume_stiffness(self,) -> float: ...
    def is_ray_pickable(self,) -> bool: ...
    def remove_collision_exception_with(self,body: Node,) -> None: ...
    def set_areaAngular_stiffness(self,areaAngular_stiffness: float,) -> None: ...
    def set_collision_layer(self,collision_layer: int,) -> None: ...
    def set_collision_layer_bit(self,bit: int,value: bool,) -> None: ...
    def set_collision_mask(self,collision_mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...
    def set_damping_coefficient(self,damping_coefficient: float,) -> None: ...
    def set_drag_coefficient(self,drag_coefficient: float,) -> None: ...
    def set_linear_stiffness(self,linear_stiffness: float,) -> None: ...
    def set_parent_collision_ignore(self,parent_collision_ignore: Union[str, NodePath],) -> None: ...
    def set_pose_matching_coefficient(self,pose_matching_coefficient: float,) -> None: ...
    def set_pressure_coefficient(self,pressure_coefficient: float,) -> None: ...
    def set_ray_pickable(self,ray_pickable: bool,) -> None: ...
    def set_simulation_precision(self,simulation_precision: int,) -> None: ...
    def set_total_mass(self,mass: float,) -> None: ...
    def set_volume_stiffness(self,volume_stiffness: float,) -> None: ...

    # Properties
    areaAngular_stiffness: float
    collision_layer: int
    collision_mask: int
    damping_coefficient: float
    drag_coefficient: float
    linear_stiffness: float
    parent_collision_ignore: Union[str, NodePath]
    pose_matching_coefficient: float
    pressure_coefficient: float
    ray_pickable: bool
    simulation_precision: int
    total_mass: float
    volume_stiffness: float



class CSGCombiner(CSGShape):


    @staticmethod
    def new() -> CSGCombiner: ...





    pass


class CSGPrimitive(CSGShape):


    # Methods
    def is_inverting_faces(self,) -> bool: ...
    def set_invert_faces(self,invert_faces: bool,) -> None: ...

    # Properties
    invert_faces: bool



class CSGBox(CSGPrimitive):


    @staticmethod
    def new() -> CSGBox: ...



    # Methods
    def get_depth(self,) -> float: ...
    def get_height(self,) -> float: ...
    def get_material(self,) -> Material: ...
    def get_width(self,) -> float: ...
    def set_depth(self,depth: float,) -> None: ...
    def set_height(self,height: float,) -> None: ...
    def set_material(self,material: Material,) -> None: ...
    def set_width(self,width: float,) -> None: ...

    # Properties
    depth: float
    height: float
    material: Union[SpatialMaterial,ShaderMaterial]
    width: float



class CSGCylinder(CSGPrimitive):


    @staticmethod
    def new() -> CSGCylinder: ...



    # Methods
    def get_height(self,) -> float: ...
    def get_material(self,) -> Material: ...
    def get_radius(self,) -> float: ...
    def get_sides(self,) -> int: ...
    def get_smooth_faces(self,) -> bool: ...
    def is_cone(self,) -> bool: ...
    def set_cone(self,cone: bool,) -> None: ...
    def set_height(self,height: float,) -> None: ...
    def set_material(self,material: Material,) -> None: ...
    def set_radius(self,radius: float,) -> None: ...
    def set_sides(self,sides: int,) -> None: ...
    def set_smooth_faces(self,smooth_faces: bool,) -> None: ...

    # Properties
    cone: bool
    height: float
    material: Union[SpatialMaterial,ShaderMaterial]
    radius: float
    sides: int
    smooth_faces: bool



class CSGMesh(CSGPrimitive):


    @staticmethod
    def new() -> CSGMesh: ...



    # Methods
    def get_material(self,) -> Material: ...
    def get_mesh(self,) -> Mesh: ...
    def set_material(self,material: Material,) -> None: ...
    def set_mesh(self,mesh: Mesh,) -> None: ...

    # Properties
    material: Union[SpatialMaterial,ShaderMaterial]
    mesh: Mesh



class CSGPolygon(CSGPrimitive):


    @staticmethod
    def new() -> CSGPolygon: ...


    # Constants
    MODE_DEPTH: int
    MODE_PATH: int
    MODE_SPIN: int
    PATH_ROTATION_PATH: int
    PATH_ROTATION_PATH_FOLLOW: int
    PATH_ROTATION_POLYGON: int
    # Enums
    class PathRotation(IntFlag):
        PATH_ROTATION_POLYGON: int
        PATH_ROTATION_PATH: int
        PATH_ROTATION_PATH_FOLLOW: int
    class Mode(IntFlag):
        MODE_DEPTH: int
        MODE_SPIN: int
        MODE_PATH: int

    # Methods
    def get_depth(self,) -> float: ...
    def get_material(self,) -> Material: ...
    def get_mode(self,) -> CSGPolygon.Mode: ...
    def get_path_interval(self,) -> float: ...
    def get_path_node(self,) -> Union[str, NodePath]: ...
    def get_path_rotation(self,) -> CSGPolygon.PathRotation: ...
    def get_polygon(self,) -> PoolVector2Array: ...
    def get_smooth_faces(self,) -> bool: ...
    def get_spin_degrees(self,) -> float: ...
    def get_spin_sides(self,) -> int: ...
    def is_path_continuous_u(self,) -> bool: ...
    def is_path_joined(self,) -> bool: ...
    def is_path_local(self,) -> bool: ...
    def set_depth(self,depth: float,) -> None: ...
    def set_material(self,material: Material,) -> None: ...
    def set_mode(self,mode: int,) -> None: ...
    def set_path_continuous_u(self,enable: bool,) -> None: ...
    def set_path_interval(self,distance: float,) -> None: ...
    def set_path_joined(self,enable: bool,) -> None: ...
    def set_path_local(self,enable: bool,) -> None: ...
    def set_path_node(self,path: Union[str, NodePath],) -> None: ...
    def set_path_rotation(self,mode: int,) -> None: ...
    def set_polygon(self,polygon: PoolVector2Array,) -> None: ...
    def set_smooth_faces(self,smooth_faces: bool,) -> None: ...
    def set_spin_degrees(self,degrees: float,) -> None: ...
    def set_spin_sides(self,spin_sides: int,) -> None: ...

    # Properties
    depth: float
    material: Union[SpatialMaterial,ShaderMaterial]
    mode: int
    path_continuous_u: bool
    path_interval: float
    path_joined: bool
    path_local: bool
    path_node: Union[str, NodePath]
    path_rotation: int
    polygon: PoolVector2Array
    smooth_faces: bool
    spin_degrees: float
    spin_sides: int



class CSGSphere(CSGPrimitive):


    @staticmethod
    def new() -> CSGSphere: ...



    # Methods
    def get_material(self,) -> Material: ...
    def get_radial_segments(self,) -> int: ...
    def get_radius(self,) -> float: ...
    def get_rings(self,) -> int: ...
    def get_smooth_faces(self,) -> bool: ...
    def set_material(self,material: Material,) -> None: ...
    def set_radial_segments(self,radial_segments: int,) -> None: ...
    def set_radius(self,radius: float,) -> None: ...
    def set_rings(self,rings: int,) -> None: ...
    def set_smooth_faces(self,smooth_faces: bool,) -> None: ...

    # Properties
    material: Union[SpatialMaterial,ShaderMaterial]
    radial_segments: int
    radius: float
    rings: int
    smooth_faces: bool



class CSGTorus(CSGPrimitive):


    @staticmethod
    def new() -> CSGTorus: ...



    # Methods
    def get_inner_radius(self,) -> float: ...
    def get_material(self,) -> Material: ...
    def get_outer_radius(self,) -> float: ...
    def get_ring_sides(self,) -> int: ...
    def get_sides(self,) -> int: ...
    def get_smooth_faces(self,) -> bool: ...
    def set_inner_radius(self,radius: float,) -> None: ...
    def set_material(self,material: Material,) -> None: ...
    def set_outer_radius(self,radius: float,) -> None: ...
    def set_ring_sides(self,sides: int,) -> None: ...
    def set_sides(self,sides: int,) -> None: ...
    def set_smooth_faces(self,smooth_faces: bool,) -> None: ...

    # Properties
    inner_radius: float
    material: Union[SpatialMaterial,ShaderMaterial]
    outer_radius: float
    ring_sides: int
    sides: int
    smooth_faces: bool



class VisibilityEnabler(VisibilityNotifier):


    @staticmethod
    def new() -> VisibilityEnabler: ...


    # Constants
    ENABLER_FREEZE_BODIES: int
    ENABLER_MAX: int
    ENABLER_PAUSE_ANIMATIONS: int
    # Enums
    class Enabler(IntFlag):
        ENABLER_PAUSE_ANIMATIONS: int
        ENABLER_FREEZE_BODIES: int
        ENABLER_MAX: int

    # Methods
    def is_enabler_enabled(self,enabler: int,) -> bool: ...
    def set_enabler(self,enabler: int,enabled: bool,) -> None: ...

    # Properties
    freeze_bodies: bool
    pause_animations: bool



class ConeTwistJoint(Joint):


    @staticmethod
    def new() -> ConeTwistJoint: ...


    # Constants
    PARAM_BIAS: int
    PARAM_MAX: int
    PARAM_RELAXATION: int
    PARAM_SOFTNESS: int
    PARAM_SWING_SPAN: int
    PARAM_TWIST_SPAN: int
    # Enums
    class Param(IntFlag):
        PARAM_SWING_SPAN: int
        PARAM_TWIST_SPAN: int
        PARAM_BIAS: int
        PARAM_SOFTNESS: int
        PARAM_RELAXATION: int
        PARAM_MAX: int

    # Methods
    def get_param(self,param: int,) -> float: ...
    def set_param(self,param: int,value: float,) -> None: ...

    # Properties
    bias: float
    relaxation: float
    softness: float
    swing_span: float
    twist_span: float



class Generic6DOFJoint(Joint):


    @staticmethod
    def new() -> Generic6DOFJoint: ...


    # Constants
    FLAG_ENABLE_ANGULAR_LIMIT: int
    FLAG_ENABLE_ANGULAR_SPRING: int
    FLAG_ENABLE_LINEAR_LIMIT: int
    FLAG_ENABLE_LINEAR_MOTOR: int
    FLAG_ENABLE_LINEAR_SPRING: int
    FLAG_ENABLE_MOTOR: int
    FLAG_MAX: int
    PARAM_ANGULAR_DAMPING: int
    PARAM_ANGULAR_ERP: int
    PARAM_ANGULAR_FORCE_LIMIT: int
    PARAM_ANGULAR_LIMIT_SOFTNESS: int
    PARAM_ANGULAR_LOWER_LIMIT: int
    PARAM_ANGULAR_MOTOR_FORCE_LIMIT: int
    PARAM_ANGULAR_MOTOR_TARGET_VELOCITY: int
    PARAM_ANGULAR_RESTITUTION: int
    PARAM_ANGULAR_SPRING_DAMPING: int
    PARAM_ANGULAR_SPRING_EQUILIBRIUM_POINT: int
    PARAM_ANGULAR_SPRING_STIFFNESS: int
    PARAM_ANGULAR_UPPER_LIMIT: int
    PARAM_LINEAR_DAMPING: int
    PARAM_LINEAR_LIMIT_SOFTNESS: int
    PARAM_LINEAR_LOWER_LIMIT: int
    PARAM_LINEAR_MOTOR_FORCE_LIMIT: int
    PARAM_LINEAR_MOTOR_TARGET_VELOCITY: int
    PARAM_LINEAR_RESTITUTION: int
    PARAM_LINEAR_SPRING_DAMPING: int
    PARAM_LINEAR_SPRING_EQUILIBRIUM_POINT: int
    PARAM_LINEAR_SPRING_STIFFNESS: int
    PARAM_LINEAR_UPPER_LIMIT: int
    PARAM_MAX: int
    # Enums
    class Param(IntFlag):
        PARAM_LINEAR_LOWER_LIMIT: int
        PARAM_LINEAR_UPPER_LIMIT: int
        PARAM_LINEAR_LIMIT_SOFTNESS: int
        PARAM_LINEAR_RESTITUTION: int
        PARAM_LINEAR_DAMPING: int
        PARAM_LINEAR_MOTOR_TARGET_VELOCITY: int
        PARAM_LINEAR_MOTOR_FORCE_LIMIT: int
        PARAM_LINEAR_SPRING_STIFFNESS: int
        PARAM_LINEAR_SPRING_DAMPING: int
        PARAM_LINEAR_SPRING_EQUILIBRIUM_POINT: int
        PARAM_ANGULAR_LOWER_LIMIT: int
        PARAM_ANGULAR_UPPER_LIMIT: int
        PARAM_ANGULAR_LIMIT_SOFTNESS: int
        PARAM_ANGULAR_DAMPING: int
        PARAM_ANGULAR_RESTITUTION: int
        PARAM_ANGULAR_FORCE_LIMIT: int
        PARAM_ANGULAR_ERP: int
        PARAM_ANGULAR_MOTOR_TARGET_VELOCITY: int
        PARAM_ANGULAR_MOTOR_FORCE_LIMIT: int
        PARAM_ANGULAR_SPRING_STIFFNESS: int
        PARAM_ANGULAR_SPRING_DAMPING: int
        PARAM_ANGULAR_SPRING_EQUILIBRIUM_POINT: int
        PARAM_MAX: int
    class Flag(IntFlag):
        FLAG_ENABLE_LINEAR_LIMIT: int
        FLAG_ENABLE_ANGULAR_LIMIT: int
        FLAG_ENABLE_ANGULAR_SPRING: int
        FLAG_ENABLE_LINEAR_SPRING: int
        FLAG_ENABLE_MOTOR: int
        FLAG_ENABLE_LINEAR_MOTOR: int
        FLAG_MAX: int

    # Methods
    def get_flag_x(self,flag: int,) -> bool: ...
    def get_flag_y(self,flag: int,) -> bool: ...
    def get_flag_z(self,flag: int,) -> bool: ...
    def get_param_x(self,param: int,) -> float: ...
    def get_param_y(self,param: int,) -> float: ...
    def get_param_z(self,param: int,) -> float: ...
    def get_precision(self,) -> int: ...
    def set_flag_x(self,flag: int,value: bool,) -> None: ...
    def set_flag_y(self,flag: int,value: bool,) -> None: ...
    def set_flag_z(self,flag: int,value: bool,) -> None: ...
    def set_param_x(self,param: int,value: float,) -> None: ...
    def set_param_y(self,param: int,value: float,) -> None: ...
    def set_param_z(self,param: int,value: float,) -> None: ...
    def set_precision(self,precision: int,) -> None: ...

    # Properties
    angular_limit_x_damping: float
    angular_limit_x_enabled: bool
    angular_limit_x_erp: float
    angular_limit_x_force_limit: float
    angular_limit_x_lower_angle: float
    angular_limit_x_restitution: float
    angular_limit_x_softness: float
    angular_limit_x_upper_angle: float
    angular_limit_y_damping: float
    angular_limit_y_enabled: bool
    angular_limit_y_erp: float
    angular_limit_y_force_limit: float
    angular_limit_y_lower_angle: float
    angular_limit_y_restitution: float
    angular_limit_y_softness: float
    angular_limit_y_upper_angle: float
    angular_limit_z_damping: float
    angular_limit_z_enabled: bool
    angular_limit_z_erp: float
    angular_limit_z_force_limit: float
    angular_limit_z_lower_angle: float
    angular_limit_z_restitution: float
    angular_limit_z_softness: float
    angular_limit_z_upper_angle: float
    angular_motor_x_enabled: bool
    angular_motor_x_force_limit: float
    angular_motor_x_target_velocity: float
    angular_motor_y_enabled: bool
    angular_motor_y_force_limit: float
    angular_motor_y_target_velocity: float
    angular_motor_z_enabled: bool
    angular_motor_z_force_limit: float
    angular_motor_z_target_velocity: float
    angular_spring_x_damping: float
    angular_spring_x_enabled: bool
    angular_spring_x_equilibrium_point: float
    angular_spring_x_stiffness: float
    angular_spring_y_damping: float
    angular_spring_y_enabled: bool
    angular_spring_y_equilibrium_point: float
    angular_spring_y_stiffness: float
    angular_spring_z_damping: float
    angular_spring_z_enabled: bool
    angular_spring_z_equilibrium_point: float
    angular_spring_z_stiffness: float
    linear_limit_x_damping: float
    linear_limit_x_enabled: bool
    linear_limit_x_lower_distance: float
    linear_limit_x_restitution: float
    linear_limit_x_softness: float
    linear_limit_x_upper_distance: float
    linear_limit_y_damping: float
    linear_limit_y_enabled: bool
    linear_limit_y_lower_distance: float
    linear_limit_y_restitution: float
    linear_limit_y_softness: float
    linear_limit_y_upper_distance: float
    linear_limit_z_damping: float
    linear_limit_z_enabled: bool
    linear_limit_z_lower_distance: float
    linear_limit_z_restitution: float
    linear_limit_z_softness: float
    linear_limit_z_upper_distance: float
    linear_motor_x_enabled: bool
    linear_motor_x_force_limit: float
    linear_motor_x_target_velocity: float
    linear_motor_y_enabled: bool
    linear_motor_y_force_limit: float
    linear_motor_y_target_velocity: float
    linear_motor_z_enabled: bool
    linear_motor_z_force_limit: float
    linear_motor_z_target_velocity: float
    linear_spring_x_damping: float
    linear_spring_x_enabled: bool
    linear_spring_x_equilibrium_point: float
    linear_spring_x_stiffness: float
    linear_spring_y_damping: float
    linear_spring_y_enabled: bool
    linear_spring_y_equilibrium_point: float
    linear_spring_y_stiffness: float
    linear_spring_z_damping: float
    linear_spring_z_enabled: bool
    linear_spring_z_equilibrium_point: float
    linear_spring_z_stiffness: float
    precision: int



class HingeJoint(Joint):


    @staticmethod
    def new() -> HingeJoint: ...


    # Constants
    FLAG_ENABLE_MOTOR: int
    FLAG_MAX: int
    FLAG_USE_LIMIT: int
    PARAM_BIAS: int
    PARAM_LIMIT_BIAS: int
    PARAM_LIMIT_LOWER: int
    PARAM_LIMIT_RELAXATION: int
    PARAM_LIMIT_SOFTNESS: int
    PARAM_LIMIT_UPPER: int
    PARAM_MAX: int
    PARAM_MOTOR_MAX_IMPULSE: int
    PARAM_MOTOR_TARGET_VELOCITY: int
    # Enums
    class Param(IntFlag):
        PARAM_BIAS: int
        PARAM_LIMIT_UPPER: int
        PARAM_LIMIT_LOWER: int
        PARAM_LIMIT_BIAS: int
        PARAM_LIMIT_SOFTNESS: int
        PARAM_LIMIT_RELAXATION: int
        PARAM_MOTOR_TARGET_VELOCITY: int
        PARAM_MOTOR_MAX_IMPULSE: int
        PARAM_MAX: int
    class Flag(IntFlag):
        FLAG_USE_LIMIT: int
        FLAG_ENABLE_MOTOR: int
        FLAG_MAX: int

    # Methods
    def get_flag(self,flag: int,) -> bool: ...
    def get_param(self,param: int,) -> float: ...
    def set_flag(self,flag: int,enabled: bool,) -> None: ...
    def set_param(self,param: int,value: float,) -> None: ...

    # Properties
    angular_limit_bias: float
    angular_limit_enable: bool
    angular_limit_lower: float
    angular_limit_relaxation: float
    angular_limit_softness: float
    angular_limit_upper: float
    motor_enable: bool
    motor_max_impulse: float
    motor_target_velocity: float
    params_bias: float



class PinJoint(Joint):


    @staticmethod
    def new() -> PinJoint: ...


    # Constants
    PARAM_BIAS: int
    PARAM_DAMPING: int
    PARAM_IMPULSE_CLAMP: int
    # Enums
    class Param(IntFlag):
        PARAM_BIAS: int
        PARAM_DAMPING: int
        PARAM_IMPULSE_CLAMP: int

    # Methods
    def get_param(self,param: int,) -> float: ...
    def set_param(self,param: int,value: float,) -> None: ...

    # Properties
    params_bias: float
    params_damping: float
    params_impulse_clamp: float



class SliderJoint(Joint):


    @staticmethod
    def new() -> SliderJoint: ...


    # Constants
    PARAM_ANGULAR_LIMIT_DAMPING: int
    PARAM_ANGULAR_LIMIT_LOWER: int
    PARAM_ANGULAR_LIMIT_RESTITUTION: int
    PARAM_ANGULAR_LIMIT_SOFTNESS: int
    PARAM_ANGULAR_LIMIT_UPPER: int
    PARAM_ANGULAR_MOTION_DAMPING: int
    PARAM_ANGULAR_MOTION_RESTITUTION: int
    PARAM_ANGULAR_MOTION_SOFTNESS: int
    PARAM_ANGULAR_ORTHOGONAL_DAMPING: int
    PARAM_ANGULAR_ORTHOGONAL_RESTITUTION: int
    PARAM_ANGULAR_ORTHOGONAL_SOFTNESS: int
    PARAM_LINEAR_LIMIT_DAMPING: int
    PARAM_LINEAR_LIMIT_LOWER: int
    PARAM_LINEAR_LIMIT_RESTITUTION: int
    PARAM_LINEAR_LIMIT_SOFTNESS: int
    PARAM_LINEAR_LIMIT_UPPER: int
    PARAM_LINEAR_MOTION_DAMPING: int
    PARAM_LINEAR_MOTION_RESTITUTION: int
    PARAM_LINEAR_MOTION_SOFTNESS: int
    PARAM_LINEAR_ORTHOGONAL_DAMPING: int
    PARAM_LINEAR_ORTHOGONAL_RESTITUTION: int
    PARAM_LINEAR_ORTHOGONAL_SOFTNESS: int
    PARAM_MAX: int
    # Enums
    class Param(IntFlag):
        PARAM_LINEAR_LIMIT_UPPER: int
        PARAM_LINEAR_LIMIT_LOWER: int
        PARAM_LINEAR_LIMIT_SOFTNESS: int
        PARAM_LINEAR_LIMIT_RESTITUTION: int
        PARAM_LINEAR_LIMIT_DAMPING: int
        PARAM_LINEAR_MOTION_SOFTNESS: int
        PARAM_LINEAR_MOTION_RESTITUTION: int
        PARAM_LINEAR_MOTION_DAMPING: int
        PARAM_LINEAR_ORTHOGONAL_SOFTNESS: int
        PARAM_LINEAR_ORTHOGONAL_RESTITUTION: int
        PARAM_LINEAR_ORTHOGONAL_DAMPING: int
        PARAM_ANGULAR_LIMIT_UPPER: int
        PARAM_ANGULAR_LIMIT_LOWER: int
        PARAM_ANGULAR_LIMIT_SOFTNESS: int
        PARAM_ANGULAR_LIMIT_RESTITUTION: int
        PARAM_ANGULAR_LIMIT_DAMPING: int
        PARAM_ANGULAR_MOTION_SOFTNESS: int
        PARAM_ANGULAR_MOTION_RESTITUTION: int
        PARAM_ANGULAR_MOTION_DAMPING: int
        PARAM_ANGULAR_ORTHOGONAL_SOFTNESS: int
        PARAM_ANGULAR_ORTHOGONAL_RESTITUTION: int
        PARAM_ANGULAR_ORTHOGONAL_DAMPING: int
        PARAM_MAX: int

    # Methods
    def get_param(self,param: int,) -> float: ...
    def set_param(self,param: int,value: float,) -> None: ...

    # Properties
    angular_limit_damping: float
    angular_limit_lower_angle: float
    angular_limit_restitution: float
    angular_limit_softness: float
    angular_limit_upper_angle: float
    angular_motion_damping: float
    angular_motion_restitution: float
    angular_motion_softness: float
    angular_ortho_damping: float
    angular_ortho_restitution: float
    angular_ortho_softness: float
    linear_limit_damping: float
    linear_limit_lower_distance: float
    linear_limit_restitution: float
    linear_limit_softness: float
    linear_limit_upper_distance: float
    linear_motion_damping: float
    linear_motion_restitution: float
    linear_motion_softness: float
    linear_ortho_damping: float
    linear_ortho_restitution: float
    linear_ortho_softness: float



class Area(CollisionObject):


    @staticmethod
    def new() -> Area: ...


    # Constants
    SPACE_OVERRIDE_COMBINE: int
    SPACE_OVERRIDE_COMBINE_REPLACE: int
    SPACE_OVERRIDE_DISABLED: int
    SPACE_OVERRIDE_REPLACE: int
    SPACE_OVERRIDE_REPLACE_COMBINE: int
    # Enums
    class SpaceOverride(IntFlag):
        SPACE_OVERRIDE_DISABLED: int
        SPACE_OVERRIDE_COMBINE: int
        SPACE_OVERRIDE_COMBINE_REPLACE: int
        SPACE_OVERRIDE_REPLACE: int
        SPACE_OVERRIDE_REPLACE_COMBINE: int

    # Methods
    def get_angular_damp(self,) -> float: ...
    def get_audio_bus(self,) -> Union[str, GDString]: ...
    def get_collision_layer(self,) -> int: ...
    def get_collision_layer_bit(self,bit: int,) -> bool: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def get_gravity(self,) -> float: ...
    def get_gravity_distance_scale(self,) -> float: ...
    def get_gravity_vector(self,) -> Vector3: ...
    def get_linear_damp(self,) -> float: ...
    def get_overlapping_areas(self,) -> Array: ...
    def get_overlapping_bodies(self,) -> Array: ...
    def get_priority(self,) -> float: ...
    def get_reverb_amount(self,) -> float: ...
    def get_reverb_bus(self,) -> Union[str, GDString]: ...
    def get_reverb_uniformity(self,) -> float: ...
    def get_space_override_mode(self,) -> Area.SpaceOverride: ...
    def is_gravity_a_point(self,) -> bool: ...
    def is_monitorable(self,) -> bool: ...
    def is_monitoring(self,) -> bool: ...
    def is_overriding_audio_bus(self,) -> bool: ...
    def is_using_reverb_bus(self,) -> bool: ...
    def overlaps_area(self,area: Node,) -> bool: ...
    def overlaps_body(self,body: Node,) -> bool: ...
    def set_angular_damp(self,angular_damp: float,) -> None: ...
    def set_audio_bus(self,name: Union[str, GDString],) -> None: ...
    def set_audio_bus_override(self,enable: bool,) -> None: ...
    def set_collision_layer(self,collision_layer: int,) -> None: ...
    def set_collision_layer_bit(self,bit: int,value: bool,) -> None: ...
    def set_collision_mask(self,collision_mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...
    def set_gravity(self,gravity: float,) -> None: ...
    def set_gravity_distance_scale(self,distance_scale: float,) -> None: ...
    def set_gravity_is_point(self,enable: bool,) -> None: ...
    def set_gravity_vector(self,vector: Vector3,) -> None: ...
    def set_linear_damp(self,linear_damp: float,) -> None: ...
    def set_monitorable(self,enable: bool,) -> None: ...
    def set_monitoring(self,enable: bool,) -> None: ...
    def set_priority(self,priority: float,) -> None: ...
    def set_reverb_amount(self,amount: float,) -> None: ...
    def set_reverb_bus(self,name: Union[str, GDString],) -> None: ...
    def set_reverb_uniformity(self,amount: float,) -> None: ...
    def set_space_override_mode(self,enable: int,) -> None: ...
    def set_use_reverb_bus(self,enable: bool,) -> None: ...

    # Properties
    angular_damp: float
    audio_bus_name: Union[str, GDString]
    audio_bus_override: bool
    collision_layer: int
    collision_mask: int
    gravity: float
    gravity_distance_scale: float
    gravity_point: bool
    gravity_vec: Vector3
    linear_damp: float
    monitorable: bool
    monitoring: bool
    priority: int
    reverb_bus_amount: float
    reverb_bus_enable: bool
    reverb_bus_name: Union[str, GDString]
    reverb_bus_uniformity: float
    space_override: int



class PhysicsBody(CollisionObject):


    # Methods
    def add_collision_exception_with(self,body: Node,) -> None: ...
    def get_collision_exceptions(self,) -> Array: ...
    def get_collision_layer(self,) -> int: ...
    def get_collision_layer_bit(self,bit: int,) -> bool: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def remove_collision_exception_with(self,body: Node,) -> None: ...
    def set_collision_layer(self,layer: int,) -> None: ...
    def set_collision_layer_bit(self,bit: int,value: bool,) -> None: ...
    def set_collision_mask(self,mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...

    # Properties
    collision_layer: int
    collision_mask: int



class KinematicBody(PhysicsBody):


    @staticmethod
    def new() -> KinematicBody: ...



    # Methods
    def get_axis_lock(self,axis: int,) -> bool: ...
    def get_floor_normal(self,) -> Vector3: ...
    def get_floor_velocity(self,) -> Vector3: ...
    def get_safe_margin(self,) -> float: ...
    def get_slide_collision(self,slide_idx: int,) -> KinematicCollision: ...
    def get_slide_count(self,) -> int: ...
    def is_on_ceiling(self,) -> bool: ...
    def is_on_floor(self,) -> bool: ...
    def is_on_wall(self,) -> bool: ...
    def move_and_collide(self,rel_vec: Vector3,infinite_inertia: bool=True,exclude_raycast_shapes: bool=True,test_only: bool=False,) -> KinematicCollision: ...
    def move_and_slide(self,linear_velocity: Vector3,up_direction: Vector3=Vector3(0, 0, 0),stop_on_slope: bool=False,max_slides: int=4,floor_max_angle: float=0.785398,infinite_inertia: bool=True,) -> Vector3: ...
    def move_and_slide_with_snap(self,linear_velocity: Vector3,snap: Vector3,up_direction: Vector3=Vector3(0, 0, 0),stop_on_slope: bool=False,max_slides: int=4,floor_max_angle: float=0.785398,infinite_inertia: bool=True,) -> Vector3: ...
    def set_axis_lock(self,axis: int,lock: bool,) -> None: ...
    def set_safe_margin(self,pixels: float,) -> None: ...
    def test_move(self,from_: Transform,rel_vec: Vector3,infinite_inertia: bool=True,) -> bool: ...

    # Properties
    collision_safe_margin: float
    move_lock_x: bool
    move_lock_y: bool
    move_lock_z: bool



class PhysicalBone(PhysicsBody):


    @staticmethod
    def new() -> PhysicalBone: ...


    # Constants
    JOINT_TYPE_6DOF: int
    JOINT_TYPE_CONE: int
    JOINT_TYPE_HINGE: int
    JOINT_TYPE_NONE: int
    JOINT_TYPE_PIN: int
    JOINT_TYPE_SLIDER: int
    # Enums
    class JointType(IntFlag):
        JOINT_TYPE_NONE: int
        JOINT_TYPE_PIN: int
        JOINT_TYPE_CONE: int
        JOINT_TYPE_HINGE: int
        JOINT_TYPE_SLIDER: int
        JOINT_TYPE_6DOF: int

    # Methods
    def apply_central_impulse(self,impulse: Vector3,) -> None: ...
    def apply_impulse(self,position: Vector3,impulse: Vector3,) -> None: ...
    def get_body_offset(self,) -> Transform: ...
    def get_bone_id(self,) -> int: ...
    def get_bounce(self,) -> float: ...
    def get_friction(self,) -> float: ...
    def get_gravity_scale(self,) -> float: ...
    def get_joint_offset(self,) -> Transform: ...
    def get_joint_type(self,) -> PhysicalBone.JointType: ...
    def get_mass(self,) -> float: ...
    def get_simulate_physics(self,) -> bool: ...
    def get_weight(self,) -> float: ...
    def is_simulating_physics(self,) -> bool: ...
    def is_static_body(self,) -> bool: ...
    def set_body_offset(self,offset: Transform,) -> None: ...
    def set_bounce(self,bounce: float,) -> None: ...
    def set_friction(self,friction: float,) -> None: ...
    def set_gravity_scale(self,gravity_scale: float,) -> None: ...
    def set_joint_offset(self,offset: Transform,) -> None: ...
    def set_joint_type(self,joint_type: int,) -> None: ...
    def set_mass(self,mass: float,) -> None: ...
    def set_weight(self,weight: float,) -> None: ...

    # Properties
    body_offset: Transform
    bounce: float
    friction: float
    gravity_scale: float
    joint_offset: Transform
    joint_type: int
    mass: float
    weight: float



class RigidBody(PhysicsBody):


    @staticmethod
    def new() -> RigidBody: ...


    # Constants
    MODE_CHARACTER: int
    MODE_KINEMATIC: int
    MODE_RIGID: int
    MODE_STATIC: int
    # Enums
    class Mode(IntFlag):
        MODE_RIGID: int
        MODE_STATIC: int
        MODE_CHARACTER: int
        MODE_KINEMATIC: int

    # Methods
    def add_central_force(self,force: Vector3,) -> None: ...
    def add_force(self,force: Vector3,position: Vector3,) -> None: ...
    def add_torque(self,torque: Vector3,) -> None: ...
    def apply_central_impulse(self,impulse: Vector3,) -> None: ...
    def apply_impulse(self,position: Vector3,impulse: Vector3,) -> None: ...
    def apply_torque_impulse(self,impulse: Vector3,) -> None: ...
    def get_angular_damp(self,) -> float: ...
    def get_angular_velocity(self,) -> Vector3: ...
    def get_axis_lock(self,axis: int,) -> bool: ...
    def get_bounce(self,) -> float: ...
    def get_colliding_bodies(self,) -> Array: ...
    def get_friction(self,) -> float: ...
    def get_gravity_scale(self,) -> float: ...
    def get_linear_damp(self,) -> float: ...
    def get_linear_velocity(self,) -> Vector3: ...
    def get_mass(self,) -> float: ...
    def get_max_contacts_reported(self,) -> int: ...
    def get_mode(self,) -> RigidBody.Mode: ...
    def get_physics_material_override(self,) -> PhysicsMaterial: ...
    def get_weight(self,) -> float: ...
    def is_able_to_sleep(self,) -> bool: ...
    def is_contact_monitor_enabled(self,) -> bool: ...
    def is_sleeping(self,) -> bool: ...
    def is_using_continuous_collision_detection(self,) -> bool: ...
    def is_using_custom_integrator(self,) -> bool: ...
    def set_angular_damp(self,angular_damp: float,) -> None: ...
    def set_angular_velocity(self,angular_velocity: Vector3,) -> None: ...
    def set_axis_lock(self,axis: int,lock: bool,) -> None: ...
    def set_axis_velocity(self,axis_velocity: Vector3,) -> None: ...
    def set_bounce(self,bounce: float,) -> None: ...
    def set_can_sleep(self,able_to_sleep: bool,) -> None: ...
    def set_contact_monitor(self,enabled: bool,) -> None: ...
    def set_friction(self,friction: float,) -> None: ...
    def set_gravity_scale(self,gravity_scale: float,) -> None: ...
    def set_linear_damp(self,linear_damp: float,) -> None: ...
    def set_linear_velocity(self,linear_velocity: Vector3,) -> None: ...
    def set_mass(self,mass: float,) -> None: ...
    def set_max_contacts_reported(self,amount: int,) -> None: ...
    def set_mode(self,mode: int,) -> None: ...
    def set_physics_material_override(self,physics_material_override: PhysicsMaterial,) -> None: ...
    def set_sleeping(self,sleeping: bool,) -> None: ...
    def set_use_continuous_collision_detection(self,enable: bool,) -> None: ...
    def set_use_custom_integrator(self,enable: bool,) -> None: ...
    def set_weight(self,weight: float,) -> None: ...

    # Properties
    angular_damp: float
    angular_velocity: Vector3
    axis_lock_angular_x: bool
    axis_lock_angular_y: bool
    axis_lock_angular_z: bool
    axis_lock_linear_x: bool
    axis_lock_linear_y: bool
    axis_lock_linear_z: bool
    bounce: float
    can_sleep: bool
    contact_monitor: bool
    contacts_reported: int
    continuous_cd: bool
    custom_integrator: bool
    friction: float
    gravity_scale: float
    linear_damp: float
    linear_velocity: Vector3
    mass: float
    mode: int
    physics_material_override: PhysicsMaterial
    sleeping: bool
    weight: float



class StaticBody(PhysicsBody):


    @staticmethod
    def new() -> StaticBody: ...



    # Methods
    def get_bounce(self,) -> float: ...
    def get_constant_angular_velocity(self,) -> Vector3: ...
    def get_constant_linear_velocity(self,) -> Vector3: ...
    def get_friction(self,) -> float: ...
    def get_physics_material_override(self,) -> PhysicsMaterial: ...
    def set_bounce(self,bounce: float,) -> None: ...
    def set_constant_angular_velocity(self,vel: Vector3,) -> None: ...
    def set_constant_linear_velocity(self,vel: Vector3,) -> None: ...
    def set_friction(self,friction: float,) -> None: ...
    def set_physics_material_override(self,physics_material_override: PhysicsMaterial,) -> None: ...

    # Properties
    bounce: float
    constant_angular_velocity: Vector3
    constant_linear_velocity: Vector3
    friction: float
    physics_material_override: PhysicsMaterial



class VehicleBody(RigidBody):


    @staticmethod
    def new() -> VehicleBody: ...



    # Methods
    def get_brake(self,) -> float: ...
    def get_engine_force(self,) -> float: ...
    def get_steering(self,) -> float: ...
    def set_brake(self,brake: float,) -> None: ...
    def set_engine_force(self,engine_force: float,) -> None: ...
    def set_steering(self,steering: float,) -> None: ...

    # Properties
    brake: float
    engine_force: float
    steering: float



class ARVRCamera(Camera):


    @staticmethod
    def new() -> ARVRCamera: ...





    pass


class ClippedCamera(Camera):


    @staticmethod
    def new() -> ClippedCamera: ...


    # Constants
    CLIP_PROCESS_IDLE: int
    CLIP_PROCESS_PHYSICS: int
    # Enums
    class ProcessMode(IntFlag):
        CLIP_PROCESS_PHYSICS: int
        CLIP_PROCESS_IDLE: int

    # Methods
    def add_exception(self,node: Object,) -> None: ...
    def add_exception_rid(self,rid: RID,) -> None: ...
    def clear_exceptions(self,) -> None: ...
    def get_clip_offset(self,) -> float: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def get_margin(self,) -> float: ...
    def get_process_mode(self,) -> ClippedCamera.ProcessMode: ...
    def is_clip_to_areas_enabled(self,) -> bool: ...
    def is_clip_to_bodies_enabled(self,) -> bool: ...
    def remove_exception(self,node: Object,) -> None: ...
    def remove_exception_rid(self,rid: RID,) -> None: ...
    def set_clip_to_areas(self,enable: bool,) -> None: ...
    def set_clip_to_bodies(self,enable: bool,) -> None: ...
    def set_collision_mask(self,mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...
    def set_margin(self,margin: float,) -> None: ...
    def set_process_mode(self,process_mode: int,) -> None: ...

    # Properties
    clip_to_areas: bool
    clip_to_bodies: bool
    collision_mask: int
    margin: float
    process_mode: int



class InterpolatedCamera(Camera):


    @staticmethod
    def new() -> InterpolatedCamera: ...



    # Methods
    def get_speed(self,) -> float: ...
    def get_target_path(self,) -> Union[str, NodePath]: ...
    def is_interpolation_enabled(self,) -> bool: ...
    def set_interpolation_enabled(self,target_path: bool,) -> None: ...
    def set_speed(self,speed: float,) -> None: ...
    def set_target(self,target: Object,) -> None: ...
    def set_target_path(self,target_path: Union[str, NodePath],) -> None: ...

    # Properties
    enabled: bool
    speed: float
    target: Union[str, NodePath]



class ParallaxBackground(CanvasLayer):


    @staticmethod
    def new() -> ParallaxBackground: ...



    # Methods
    def get_limit_begin(self,) -> Vector2: ...
    def get_limit_end(self,) -> Vector2: ...
    def get_scroll_base_offset(self,) -> Vector2: ...
    def get_scroll_base_scale(self,) -> Vector2: ...
    def get_scroll_offset(self,) -> Vector2: ...
    def is_ignore_camera_zoom(self,) -> bool: ...
    def set_ignore_camera_zoom(self,ignore: bool,) -> None: ...
    def set_limit_begin(self,ofs: Vector2,) -> None: ...
    def set_limit_end(self,ofs: Vector2,) -> None: ...
    def set_scroll_base_offset(self,ofs: Vector2,) -> None: ...
    def set_scroll_base_scale(self,scale: Vector2,) -> None: ...
    def set_scroll_offset(self,ofs: Vector2,) -> None: ...

    # Properties
    scroll_base_offset: Vector2
    scroll_base_scale: Vector2
    scroll_ignore_camera_zoom: bool
    scroll_limit_begin: Vector2
    scroll_limit_end: Vector2
    scroll_offset: Vector2



class Control(CanvasItem):


    @staticmethod
    def new() -> Control: ...


    # Constants
    ANCHOR_BEGIN: int
    ANCHOR_END: int
    CURSOR_ARROW: int
    CURSOR_BDIAGSIZE: int
    CURSOR_BUSY: int
    CURSOR_CAN_DROP: int
    CURSOR_CROSS: int
    CURSOR_DRAG: int
    CURSOR_FDIAGSIZE: int
    CURSOR_FORBIDDEN: int
    CURSOR_HELP: int
    CURSOR_HSIZE: int
    CURSOR_HSPLIT: int
    CURSOR_IBEAM: int
    CURSOR_MOVE: int
    CURSOR_POINTING_HAND: int
    CURSOR_VSIZE: int
    CURSOR_VSPLIT: int
    CURSOR_WAIT: int
    FOCUS_ALL: int
    FOCUS_CLICK: int
    FOCUS_NONE: int
    GROW_DIRECTION_BEGIN: int
    GROW_DIRECTION_BOTH: int
    GROW_DIRECTION_END: int
    MOUSE_FILTER_IGNORE: int
    MOUSE_FILTER_PASS: int
    MOUSE_FILTER_STOP: int
    NOTIFICATION_FOCUS_ENTER: int
    NOTIFICATION_FOCUS_EXIT: int
    NOTIFICATION_MODAL_CLOSE: int
    NOTIFICATION_MOUSE_ENTER: int
    NOTIFICATION_MOUSE_EXIT: int
    NOTIFICATION_RESIZED: int
    NOTIFICATION_SCROLL_BEGIN: int
    NOTIFICATION_SCROLL_END: int
    NOTIFICATION_THEME_CHANGED: int
    PRESET_BOTTOM_LEFT: int
    PRESET_BOTTOM_RIGHT: int
    PRESET_BOTTOM_WIDE: int
    PRESET_CENTER: int
    PRESET_CENTER_BOTTOM: int
    PRESET_CENTER_LEFT: int
    PRESET_CENTER_RIGHT: int
    PRESET_CENTER_TOP: int
    PRESET_HCENTER_WIDE: int
    PRESET_LEFT_WIDE: int
    PRESET_MODE_KEEP_HEIGHT: int
    PRESET_MODE_KEEP_SIZE: int
    PRESET_MODE_KEEP_WIDTH: int
    PRESET_MODE_MINSIZE: int
    PRESET_RIGHT_WIDE: int
    PRESET_TOP_LEFT: int
    PRESET_TOP_RIGHT: int
    PRESET_TOP_WIDE: int
    PRESET_VCENTER_WIDE: int
    PRESET_WIDE: int
    SIZE_EXPAND: int
    SIZE_EXPAND_FILL: int
    SIZE_FILL: int
    SIZE_SHRINK_CENTER: int
    SIZE_SHRINK_END: int
    # Enums
    class Anchor(IntFlag):
        ANCHOR_BEGIN: int
        ANCHOR_END: int
    class FocusMode(IntFlag):
        FOCUS_NONE: int
        FOCUS_CLICK: int
        FOCUS_ALL: int
    class LayoutPresetMode(IntFlag):
        PRESET_MODE_MINSIZE: int
        PRESET_MODE_KEEP_WIDTH: int
        PRESET_MODE_KEEP_HEIGHT: int
        PRESET_MODE_KEEP_SIZE: int
    class MouseFilter(IntFlag):
        MOUSE_FILTER_STOP: int
        MOUSE_FILTER_PASS: int
        MOUSE_FILTER_IGNORE: int
    class CursorShape(IntFlag):
        CURSOR_ARROW: int
        CURSOR_IBEAM: int
        CURSOR_POINTING_HAND: int
        CURSOR_CROSS: int
        CURSOR_WAIT: int
        CURSOR_BUSY: int
        CURSOR_DRAG: int
        CURSOR_CAN_DROP: int
        CURSOR_FORBIDDEN: int
        CURSOR_VSIZE: int
        CURSOR_HSIZE: int
        CURSOR_BDIAGSIZE: int
        CURSOR_FDIAGSIZE: int
        CURSOR_MOVE: int
        CURSOR_VSPLIT: int
        CURSOR_HSPLIT: int
        CURSOR_HELP: int
    class GrowDirection(IntFlag):
        GROW_DIRECTION_BEGIN: int
        GROW_DIRECTION_END: int
        GROW_DIRECTION_BOTH: int
    class SizeFlags(IntFlag):
        SIZE_FILL: int
        SIZE_EXPAND: int
        SIZE_EXPAND_FILL: int
        SIZE_SHRINK_CENTER: int
        SIZE_SHRINK_END: int
    class LayoutPreset(IntFlag):
        PRESET_TOP_LEFT: int
        PRESET_TOP_RIGHT: int
        PRESET_BOTTOM_LEFT: int
        PRESET_BOTTOM_RIGHT: int
        PRESET_CENTER_LEFT: int
        PRESET_CENTER_TOP: int
        PRESET_CENTER_RIGHT: int
        PRESET_CENTER_BOTTOM: int
        PRESET_CENTER: int
        PRESET_LEFT_WIDE: int
        PRESET_TOP_WIDE: int
        PRESET_RIGHT_WIDE: int
        PRESET_BOTTOM_WIDE: int
        PRESET_VCENTER_WIDE: int
        PRESET_HCENTER_WIDE: int
        PRESET_WIDE: int

    # Methods
    def accept_event(self,) -> None: ...
    def add_color_override(self,name: Union[str, GDString],color: Color,) -> None: ...
    def add_constant_override(self,name: Union[str, GDString],constant: int,) -> None: ...
    def add_font_override(self,name: Union[str, GDString],font: Font,) -> None: ...
    def add_icon_override(self,name: Union[str, GDString],texture: Texture,) -> None: ...
    def add_shader_override(self,name: Union[str, GDString],shader: Shader,) -> None: ...
    def add_stylebox_override(self,name: Union[str, GDString],stylebox: StyleBox,) -> None: ...
    def force_drag(self,data: object,preview: Control,) -> None: ...
    def get_anchor(self,margin: int,) -> float: ...
    def get_begin(self,) -> Vector2: ...
    def get_color(self,name: Union[str, GDString],type_: Union[str, GDString]="",) -> Color: ...
    def get_combined_minimum_size(self,) -> Vector2: ...
    def get_constant(self,name: Union[str, GDString],type_: Union[str, GDString]="",) -> int: ...
    def get_cursor_shape(self,position: Vector2=Vector2(0, 0),) -> Control.CursorShape: ...
    def get_custom_minimum_size(self,) -> Vector2: ...
    def get_default_cursor_shape(self,) -> Control.CursorShape: ...
    def get_end(self,) -> Vector2: ...
    def get_focus_mode(self,) -> Control.FocusMode: ...
    def get_focus_neighbour(self,margin: int,) -> Union[str, NodePath]: ...
    def get_focus_next(self,) -> Union[str, NodePath]: ...
    def get_focus_owner(self,) -> Control: ...
    def get_focus_previous(self,) -> Union[str, NodePath]: ...
    def get_font(self,name: Union[str, GDString],type_: Union[str, GDString]="",) -> Font: ...
    def get_global_position(self,) -> Vector2: ...
    def get_global_rect(self,) -> Rect2: ...
    def get_h_grow_direction(self,) -> Control.GrowDirection: ...
    def get_h_size_flags(self,) -> int: ...
    def get_icon(self,name: Union[str, GDString],type_: Union[str, GDString]="",) -> Texture: ...
    def get_margin(self,margin: int,) -> float: ...
    def get_minimum_size(self,) -> Vector2: ...
    def get_mouse_filter(self,) -> Control.MouseFilter: ...
    def get_parent_area_size(self,) -> Vector2: ...
    def get_parent_control(self,) -> Control: ...
    def get_pivot_offset(self,) -> Vector2: ...
    def get_position(self,) -> Vector2: ...
    def get_rect(self,) -> Rect2: ...
    def get_rotation(self,) -> float: ...
    def get_rotation_degrees(self,) -> float: ...
    def get_scale(self,) -> Vector2: ...
    def get_size(self,) -> Vector2: ...
    def get_stretch_ratio(self,) -> float: ...
    def get_stylebox(self,name: Union[str, GDString],type_: Union[str, GDString]="",) -> StyleBox: ...
    def get_theme(self,) -> Theme: ...
    def get_tooltip(self,at_position: Vector2=Vector2(0, 0),) -> Union[str, GDString]: ...
    def get_v_grow_direction(self,) -> Control.GrowDirection: ...
    def get_v_size_flags(self,) -> int: ...
    def grab_click_focus(self,) -> None: ...
    def grab_focus(self,) -> None: ...
    def has_color(self,name: Union[str, GDString],type_: Union[str, GDString]="",) -> bool: ...
    def has_color_override(self,name: Union[str, GDString],) -> bool: ...
    def has_constant(self,name: Union[str, GDString],type_: Union[str, GDString]="",) -> bool: ...
    def has_constant_override(self,name: Union[str, GDString],) -> bool: ...
    def has_focus(self,) -> bool: ...
    def has_font(self,name: Union[str, GDString],type_: Union[str, GDString]="",) -> bool: ...
    def has_font_override(self,name: Union[str, GDString],) -> bool: ...
    def has_icon(self,name: Union[str, GDString],type_: Union[str, GDString]="",) -> bool: ...
    def has_icon_override(self,name: Union[str, GDString],) -> bool: ...
    def has_shader_override(self,name: Union[str, GDString],) -> bool: ...
    def has_stylebox(self,name: Union[str, GDString],type_: Union[str, GDString]="",) -> bool: ...
    def has_stylebox_override(self,name: Union[str, GDString],) -> bool: ...
    def is_clipping_contents(self,) -> bool: ...
    def minimum_size_changed(self,) -> None: ...
    def release_focus(self,) -> None: ...
    def set_anchor(self,margin: int,anchor: float,keep_margin: bool=False,push_opposite_anchor: bool=True,) -> None: ...
    def set_anchor_and_margin(self,margin: int,anchor: float,offset: float,push_opposite_anchor: bool=False,) -> None: ...
    def set_anchors_and_margins_preset(self,preset: int,resize_mode: int=0,margin: int=0,) -> None: ...
    def set_anchors_preset(self,preset: int,keep_margins: bool=False,) -> None: ...
    def set_begin(self,position: Vector2,) -> None: ...
    def set_clip_contents(self,enable: bool,) -> None: ...
    def set_custom_minimum_size(self,size: Vector2,) -> None: ...
    def set_default_cursor_shape(self,shape: int,) -> None: ...
    def set_drag_forwarding(self,target: Control,) -> None: ...
    def set_drag_preview(self,control: Control,) -> None: ...
    def set_end(self,position: Vector2,) -> None: ...
    def set_focus_mode(self,mode: int,) -> None: ...
    def set_focus_neighbour(self,margin: int,neighbour: Union[str, NodePath],) -> None: ...
    def set_focus_next(self,next: Union[str, NodePath],) -> None: ...
    def set_focus_previous(self,previous: Union[str, NodePath],) -> None: ...
    def set_global_position(self,position: Vector2,keep_margins: bool=False,) -> None: ...
    def set_h_grow_direction(self,direction: int,) -> None: ...
    def set_h_size_flags(self,flags: int,) -> None: ...
    def set_margin(self,margin: int,offset: float,) -> None: ...
    def set_margins_preset(self,preset: int,resize_mode: int=0,margin: int=0,) -> None: ...
    def set_mouse_filter(self,filter: int,) -> None: ...
    def set_pivot_offset(self,pivot_offset: Vector2,) -> None: ...
    def set_position(self,position: Vector2,keep_margins: bool=False,) -> None: ...
    def set_rotation(self,radians: float,) -> None: ...
    def set_rotation_degrees(self,degrees: float,) -> None: ...
    def set_scale(self,scale: Vector2,) -> None: ...
    def set_size(self,size: Vector2,keep_margins: bool=False,) -> None: ...
    def set_stretch_ratio(self,ratio: float,) -> None: ...
    def set_theme(self,theme: Theme,) -> None: ...
    def set_tooltip(self,tooltip: Union[str, GDString],) -> None: ...
    def set_v_grow_direction(self,direction: int,) -> None: ...
    def set_v_size_flags(self,flags: int,) -> None: ...
    def show_modal(self,exclusive: bool=False,) -> None: ...
    def warp_mouse(self,to_position: Vector2,) -> None: ...

    # Properties
    anchor_bottom: float
    anchor_left: float
    anchor_right: float
    anchor_top: float
    focus_mode: int
    focus_neighbour_bottom: Union[str, NodePath]
    focus_neighbour_left: Union[str, NodePath]
    focus_neighbour_right: Union[str, NodePath]
    focus_neighbour_top: Union[str, NodePath]
    focus_next: Union[str, NodePath]
    focus_previous: Union[str, NodePath]
    grow_horizontal: int
    grow_vertical: int
    hint_tooltip: Union[str, GDString]
    margin_bottom: int
    margin_left: int
    margin_right: int
    margin_top: int
    mouse_default_cursor_shape: int
    mouse_filter: int
    rect_clip_content: bool
    rect_global_position: Vector2
    rect_min_size: Vector2
    rect_pivot_offset: Vector2
    rect_position: Vector2
    rect_rotation: float
    rect_scale: Vector2
    rect_size: Vector2
    size_flags_horizontal: int
    size_flags_stretch_ratio: float
    size_flags_vertical: int
    theme: Theme



class Node2D(CanvasItem):


    @staticmethod
    def new() -> Node2D: ...



    # Methods
    def apply_scale(self,ratio: Vector2,) -> None: ...
    def get_angle_to(self,point: Vector2,) -> float: ...
    def get_global_position(self,) -> Vector2: ...
    def get_global_rotation(self,) -> float: ...
    def get_global_rotation_degrees(self,) -> float: ...
    def get_global_scale(self,) -> Vector2: ...
    def get_position(self,) -> Vector2: ...
    def get_relative_transform_to_parent(self,parent: Node,) -> Transform2D: ...
    def get_rotation(self,) -> float: ...
    def get_rotation_degrees(self,) -> float: ...
    def get_scale(self,) -> Vector2: ...
    def get_skew(self,) -> float: ...
    def get_skew_degrees(self,) -> float: ...
    def get_z_index(self,) -> int: ...
    def global_translate(self,offset: Vector2,) -> None: ...
    def is_z_relative(self,) -> bool: ...
    def look_at(self,point: Vector2,) -> None: ...
    def move_local_x(self,delta: float,scaled: bool=False,) -> None: ...
    def move_local_y(self,delta: float,scaled: bool=False,) -> None: ...
    def rotate(self,radians: float,) -> None: ...
    def set_global_position(self,position: Vector2,) -> None: ...
    def set_global_rotation(self,radians: float,) -> None: ...
    def set_global_rotation_degrees(self,degrees: float,) -> None: ...
    def set_global_scale(self,scale: Vector2,) -> None: ...
    def set_global_transform(self,xform: Transform2D,) -> None: ...
    def set_position(self,position: Vector2,) -> None: ...
    def set_rotation(self,radians: float,) -> None: ...
    def set_rotation_degrees(self,degrees: float,) -> None: ...
    def set_scale(self,scale: Vector2,) -> None: ...
    def set_skew(self,radians: float,) -> None: ...
    def set_skew_degrees(self,degrees: float,) -> None: ...
    def set_transform(self,xform: Transform2D,) -> None: ...
    def set_z_as_relative(self,enable: bool,) -> None: ...
    def set_z_index(self,z_index: int,) -> None: ...
    def to_global(self,local_point: Vector2,) -> Vector2: ...
    def to_local(self,global_point: Vector2,) -> Vector2: ...
    def translate(self,offset: Vector2,) -> None: ...

    # Properties
    global_position: Vector2
    global_rotation: float
    global_rotation_degrees: float
    global_scale: Vector2
    global_transform: Transform2D
    position: Vector2
    rotation: float
    rotation_degrees: float
    scale: Vector2
    skew: float
    skew_degrees: float
    transform: Transform2D
    z_as_relative: bool
    z_index: int



class AnimatedSprite(Node2D):


    @staticmethod
    def new() -> AnimatedSprite: ...



    # Methods
    def get_animation(self,) -> Union[str, GDString]: ...
    def get_frame(self,) -> int: ...
    def get_offset(self,) -> Vector2: ...
    def get_speed_scale(self,) -> float: ...
    def get_sprite_frames(self,) -> SpriteFrames: ...
    def is_centered(self,) -> bool: ...
    def is_flipped_h(self,) -> bool: ...
    def is_flipped_v(self,) -> bool: ...
    def is_playing(self,) -> bool: ...
    def play(self,anim: Union[str, GDString]="",backwards: bool=False,) -> None: ...
    def set_animation(self,animation: Union[str, GDString],) -> None: ...
    def set_centered(self,centered: bool,) -> None: ...
    def set_flip_h(self,flip_h: bool,) -> None: ...
    def set_flip_v(self,flip_v: bool,) -> None: ...
    def set_frame(self,frame: int,) -> None: ...
    def set_offset(self,offset: Vector2,) -> None: ...
    def set_speed_scale(self,speed_scale: float,) -> None: ...
    def set_sprite_frames(self,sprite_frames: SpriteFrames,) -> None: ...
    def stop(self,) -> None: ...

    # Properties
    animation: Union[str, GDString]
    centered: bool
    flip_h: bool
    flip_v: bool
    frame: int
    frames: SpriteFrames
    offset: Vector2
    playing: bool
    speed_scale: float



class AudioStreamPlayer2D(Node2D):


    @staticmethod
    def new() -> AudioStreamPlayer2D: ...



    # Methods
    def get_area_mask(self,) -> int: ...
    def get_attenuation(self,) -> float: ...
    def get_bus(self,) -> Union[str, GDString]: ...
    def get_max_distance(self,) -> float: ...
    def get_pitch_scale(self,) -> float: ...
    def get_playback_position(self,) -> float: ...
    def get_stream(self,) -> AudioStream: ...
    def get_stream_paused(self,) -> bool: ...
    def get_stream_playback(self,) -> AudioStreamPlayback: ...
    def get_volume_db(self,) -> float: ...
    def is_autoplay_enabled(self,) -> bool: ...
    def is_playing(self,) -> bool: ...
    def play(self,from_position: float=0,) -> None: ...
    def seek(self,to_position: float,) -> None: ...
    def set_area_mask(self,mask: int,) -> None: ...
    def set_attenuation(self,curve: float,) -> None: ...
    def set_autoplay(self,enable: bool,) -> None: ...
    def set_bus(self,bus: Union[str, GDString],) -> None: ...
    def set_max_distance(self,pixels: float,) -> None: ...
    def set_pitch_scale(self,pitch_scale: float,) -> None: ...
    def set_stream(self,stream: AudioStream,) -> None: ...
    def set_stream_paused(self,pause: bool,) -> None: ...
    def set_volume_db(self,volume_db: float,) -> None: ...
    def stop(self,) -> None: ...

    # Properties
    area_mask: int
    attenuation: float
    autoplay: bool
    bus: Union[str, GDString]
    max_distance: float
    pitch_scale: float
    playing: bool
    stream: AudioStream
    stream_paused: bool
    volume_db: float



class BackBufferCopy(Node2D):


    @staticmethod
    def new() -> BackBufferCopy: ...


    # Constants
    COPY_MODE_DISABLED: int
    COPY_MODE_RECT: int
    COPY_MODE_VIEWPORT: int
    # Enums
    class CopyMode(IntFlag):
        COPY_MODE_DISABLED: int
        COPY_MODE_RECT: int
        COPY_MODE_VIEWPORT: int

    # Methods
    def get_copy_mode(self,) -> BackBufferCopy.CopyMode: ...
    def get_rect(self,) -> Rect2: ...
    def set_copy_mode(self,copy_mode: int,) -> None: ...
    def set_rect(self,rect: Rect2,) -> None: ...

    # Properties
    copy_mode: int
    rect: Rect2



class Bone2D(Node2D):


    @staticmethod
    def new() -> Bone2D: ...



    # Methods
    def apply_rest(self,) -> None: ...
    def get_default_length(self,) -> float: ...
    def get_index_in_skeleton(self,) -> int: ...
    def get_rest(self,) -> Transform2D: ...
    def get_skeleton_rest(self,) -> Transform2D: ...
    def set_default_length(self,default_length: float,) -> None: ...
    def set_rest(self,rest: Transform2D,) -> None: ...

    # Properties
    default_length: float
    rest: Transform2D



class CPUParticles2D(Node2D):


    @staticmethod
    def new() -> CPUParticles2D: ...


    # Constants
    DRAW_ORDER_INDEX: int
    DRAW_ORDER_LIFETIME: int
    EMISSION_SHAPE_DIRECTED_POINTS: int
    EMISSION_SHAPE_MAX: int
    EMISSION_SHAPE_POINT: int
    EMISSION_SHAPE_POINTS: int
    EMISSION_SHAPE_RECTANGLE: int
    EMISSION_SHAPE_SPHERE: int
    FLAG_ALIGN_Y_TO_VELOCITY: int
    FLAG_DISABLE_Z: int
    FLAG_MAX: int
    FLAG_ROTATE_Y: int
    PARAM_ANGLE: int
    PARAM_ANGULAR_VELOCITY: int
    PARAM_ANIM_OFFSET: int
    PARAM_ANIM_SPEED: int
    PARAM_DAMPING: int
    PARAM_HUE_VARIATION: int
    PARAM_INITIAL_LINEAR_VELOCITY: int
    PARAM_LINEAR_ACCEL: int
    PARAM_MAX: int
    PARAM_ORBIT_VELOCITY: int
    PARAM_RADIAL_ACCEL: int
    PARAM_SCALE: int
    PARAM_TANGENTIAL_ACCEL: int
    # Enums
    class Flags(IntFlag):
        FLAG_ALIGN_Y_TO_VELOCITY: int
        FLAG_ROTATE_Y: int
        FLAG_DISABLE_Z: int
        FLAG_MAX: int
    class EmissionShape(IntFlag):
        EMISSION_SHAPE_POINT: int
        EMISSION_SHAPE_SPHERE: int
        EMISSION_SHAPE_RECTANGLE: int
        EMISSION_SHAPE_POINTS: int
        EMISSION_SHAPE_DIRECTED_POINTS: int
        EMISSION_SHAPE_MAX: int
    class Parameter(IntFlag):
        PARAM_INITIAL_LINEAR_VELOCITY: int
        PARAM_ANGULAR_VELOCITY: int
        PARAM_ORBIT_VELOCITY: int
        PARAM_LINEAR_ACCEL: int
        PARAM_RADIAL_ACCEL: int
        PARAM_TANGENTIAL_ACCEL: int
        PARAM_DAMPING: int
        PARAM_ANGLE: int
        PARAM_SCALE: int
        PARAM_HUE_VARIATION: int
        PARAM_ANIM_SPEED: int
        PARAM_ANIM_OFFSET: int
        PARAM_MAX: int
    class DrawOrder(IntFlag):
        DRAW_ORDER_INDEX: int
        DRAW_ORDER_LIFETIME: int

    # Methods
    def convert_from_particles(self,particles: Node,) -> None: ...
    def get_amount(self,) -> int: ...
    def get_color(self,) -> Color: ...
    def get_color_ramp(self,) -> Gradient: ...
    def get_direction(self,) -> Vector2: ...
    def get_draw_order(self,) -> CPUParticles2D.DrawOrder: ...
    def get_emission_colors(self,) -> PoolColorArray: ...
    def get_emission_normals(self,) -> PoolVector2Array: ...
    def get_emission_points(self,) -> PoolVector2Array: ...
    def get_emission_rect_extents(self,) -> Vector2: ...
    def get_emission_shape(self,) -> CPUParticles2D.EmissionShape: ...
    def get_emission_sphere_radius(self,) -> float: ...
    def get_explosiveness_ratio(self,) -> float: ...
    def get_fixed_fps(self,) -> int: ...
    def get_fractional_delta(self,) -> bool: ...
    def get_gravity(self,) -> Vector2: ...
    def get_lifetime(self,) -> float: ...
    def get_lifetime_randomness(self,) -> float: ...
    def get_normalmap(self,) -> Texture: ...
    def get_one_shot(self,) -> bool: ...
    def get_param(self,param: int,) -> float: ...
    def get_param_curve(self,param: int,) -> Curve: ...
    def get_param_randomness(self,param: int,) -> float: ...
    def get_particle_flag(self,flag: int,) -> bool: ...
    def get_pre_process_time(self,) -> float: ...
    def get_randomness_ratio(self,) -> float: ...
    def get_speed_scale(self,) -> float: ...
    def get_spread(self,) -> float: ...
    def get_texture(self,) -> Texture: ...
    def get_use_local_coordinates(self,) -> bool: ...
    def is_emitting(self,) -> bool: ...
    def restart(self,) -> None: ...
    def set_amount(self,amount: int,) -> None: ...
    def set_color(self,color: Color,) -> None: ...
    def set_color_ramp(self,ramp: Gradient,) -> None: ...
    def set_direction(self,direction: Vector2,) -> None: ...
    def set_draw_order(self,order: int,) -> None: ...
    def set_emission_colors(self,array: PoolColorArray,) -> None: ...
    def set_emission_normals(self,array: PoolVector2Array,) -> None: ...
    def set_emission_points(self,array: PoolVector2Array,) -> None: ...
    def set_emission_rect_extents(self,extents: Vector2,) -> None: ...
    def set_emission_shape(self,shape: int,) -> None: ...
    def set_emission_sphere_radius(self,radius: float,) -> None: ...
    def set_emitting(self,emitting: bool,) -> None: ...
    def set_explosiveness_ratio(self,ratio: float,) -> None: ...
    def set_fixed_fps(self,fps: int,) -> None: ...
    def set_fractional_delta(self,enable: bool,) -> None: ...
    def set_gravity(self,accel_vec: Vector2,) -> None: ...
    def set_lifetime(self,secs: float,) -> None: ...
    def set_lifetime_randomness(self,random: float,) -> None: ...
    def set_normalmap(self,normalmap: Texture,) -> None: ...
    def set_one_shot(self,enable: bool,) -> None: ...
    def set_param(self,param: int,value: float,) -> None: ...
    def set_param_curve(self,param: int,curve: Curve,) -> None: ...
    def set_param_randomness(self,param: int,randomness: float,) -> None: ...
    def set_particle_flag(self,flag: int,enable: bool,) -> None: ...
    def set_pre_process_time(self,secs: float,) -> None: ...
    def set_randomness_ratio(self,ratio: float,) -> None: ...
    def set_speed_scale(self,scale: float,) -> None: ...
    def set_spread(self,degrees: float,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...
    def set_use_local_coordinates(self,enable: bool,) -> None: ...

    # Properties
    amount: int
    angle: float
    angle_curve: Curve
    angle_random: float
    angular_velocity: float
    angular_velocity_curve: Curve
    angular_velocity_random: float
    anim_offset: float
    anim_offset_curve: Curve
    anim_offset_random: float
    anim_speed: float
    anim_speed_curve: Curve
    anim_speed_random: float
    color: Color
    color_ramp: Gradient
    damping: float
    damping_curve: Curve
    damping_random: float
    direction: Vector2
    draw_order: int
    emission_colors: PoolColorArray
    emission_normals: PoolVector2Array
    emission_points: PoolVector2Array
    emission_rect_extents: Vector2
    emission_shape: int
    emission_sphere_radius: float
    emitting: bool
    explosiveness: float
    fixed_fps: int
    flag_align_y: bool
    fract_delta: bool
    gravity: Vector2
    hue_variation: float
    hue_variation_curve: Curve
    hue_variation_random: float
    initial_velocity: float
    initial_velocity_random: float
    lifetime: float
    lifetime_randomness: float
    linear_accel: float
    linear_accel_curve: Curve
    linear_accel_random: float
    local_coords: bool
    normalmap: Texture
    one_shot: bool
    orbit_velocity: float
    orbit_velocity_curve: Curve
    orbit_velocity_random: float
    preprocess: float
    radial_accel: float
    radial_accel_curve: Curve
    radial_accel_random: float
    randomness: float
    scale_amount: float
    scale_amount_curve: Curve
    scale_amount_random: float
    speed_scale: float
    spread: float
    tangential_accel: float
    tangential_accel_curve: Curve
    tangential_accel_random: float
    texture: Texture



class Camera2D(Node2D):


    @staticmethod
    def new() -> Camera2D: ...


    # Constants
    ANCHOR_MODE_DRAG_CENTER: int
    ANCHOR_MODE_FIXED_TOP_LEFT: int
    CAMERA2D_PROCESS_IDLE: int
    CAMERA2D_PROCESS_PHYSICS: int
    # Enums
    class Camera2DProcessMode(IntFlag):
        CAMERA2D_PROCESS_PHYSICS: int
        CAMERA2D_PROCESS_IDLE: int
    class AnchorMode(IntFlag):
        ANCHOR_MODE_FIXED_TOP_LEFT: int
        ANCHOR_MODE_DRAG_CENTER: int

    # Methods
    def align(self,) -> None: ...
    def clear_current(self,) -> None: ...
    def force_update_scroll(self,) -> None: ...
    def get_anchor_mode(self,) -> Camera2D.AnchorMode: ...
    def get_camera_position(self,) -> Vector2: ...
    def get_camera_screen_center(self,) -> Vector2: ...
    def get_custom_viewport(self,) -> Node: ...
    def get_drag_margin(self,margin: int,) -> float: ...
    def get_follow_smoothing(self,) -> float: ...
    def get_h_offset(self,) -> float: ...
    def get_limit(self,margin: int,) -> int: ...
    def get_offset(self,) -> Vector2: ...
    def get_process_mode(self,) -> Camera2D.Camera2DProcessMode: ...
    def get_v_offset(self,) -> float: ...
    def get_zoom(self,) -> Vector2: ...
    def is_current(self,) -> bool: ...
    def is_follow_smoothing_enabled(self,) -> bool: ...
    def is_h_drag_enabled(self,) -> bool: ...
    def is_limit_drawing_enabled(self,) -> bool: ...
    def is_limit_smoothing_enabled(self,) -> bool: ...
    def is_margin_drawing_enabled(self,) -> bool: ...
    def is_rotating(self,) -> bool: ...
    def is_screen_drawing_enabled(self,) -> bool: ...
    def is_v_drag_enabled(self,) -> bool: ...
    def make_current(self,) -> None: ...
    def reset_smoothing(self,) -> None: ...
    def set_anchor_mode(self,anchor_mode: int,) -> None: ...
    def set_custom_viewport(self,viewport: Node,) -> None: ...
    def set_drag_margin(self,margin: int,drag_margin: float,) -> None: ...
    def set_enable_follow_smoothing(self,follow_smoothing: bool,) -> None: ...
    def set_follow_smoothing(self,follow_smoothing: float,) -> None: ...
    def set_h_drag_enabled(self,enabled: bool,) -> None: ...
    def set_h_offset(self,ofs: float,) -> None: ...
    def set_limit(self,margin: int,limit: int,) -> None: ...
    def set_limit_drawing_enabled(self,limit_drawing_enabled: bool,) -> None: ...
    def set_limit_smoothing_enabled(self,limit_smoothing_enabled: bool,) -> None: ...
    def set_margin_drawing_enabled(self,margin_drawing_enabled: bool,) -> None: ...
    def set_offset(self,offset: Vector2,) -> None: ...
    def set_process_mode(self,mode: int,) -> None: ...
    def set_rotating(self,rotating: bool,) -> None: ...
    def set_screen_drawing_enabled(self,screen_drawing_enabled: bool,) -> None: ...
    def set_v_drag_enabled(self,enabled: bool,) -> None: ...
    def set_v_offset(self,ofs: float,) -> None: ...
    def set_zoom(self,zoom: Vector2,) -> None: ...

    # Properties
    anchor_mode: int
    current: bool
    custom_viewport: Viewport
    drag_margin_bottom: float
    drag_margin_h_enabled: bool
    drag_margin_left: float
    drag_margin_right: float
    drag_margin_top: float
    drag_margin_v_enabled: bool
    editor_draw_drag_margin: bool
    editor_draw_limits: bool
    editor_draw_screen: bool
    limit_bottom: int
    limit_left: int
    limit_right: int
    limit_smoothed: bool
    limit_top: int
    offset: Vector2
    offset_h: float
    offset_v: float
    process_mode: int
    rotating: bool
    smoothing_enabled: bool
    smoothing_speed: float
    zoom: Vector2



class CanvasModulate(Node2D):


    @staticmethod
    def new() -> CanvasModulate: ...



    # Methods
    def get_color(self,) -> Color: ...
    def set_color(self,color: Color,) -> None: ...

    # Properties
    color: Color



class CollisionObject2D(Node2D):


    # Methods
    def create_shape_owner(self,owner: Object,) -> int: ...
    def get_rid(self,) -> RID: ...
    def get_shape_owner_one_way_collision_margin(self,owner_id: int,) -> float: ...
    def get_shape_owners(self,) -> Array: ...
    def is_pickable(self,) -> bool: ...
    def is_shape_owner_disabled(self,owner_id: int,) -> bool: ...
    def is_shape_owner_one_way_collision_enabled(self,owner_id: int,) -> bool: ...
    def remove_shape_owner(self,owner_id: int,) -> None: ...
    def set_pickable(self,enabled: bool,) -> None: ...
    def shape_find_owner(self,shape_index: int,) -> int: ...
    def shape_owner_add_shape(self,owner_id: int,shape: Shape2D,) -> None: ...
    def shape_owner_clear_shapes(self,owner_id: int,) -> None: ...
    def shape_owner_get_owner(self,owner_id: int,) -> Object: ...
    def shape_owner_get_shape(self,owner_id: int,shape_id: int,) -> Shape2D: ...
    def shape_owner_get_shape_count(self,owner_id: int,) -> int: ...
    def shape_owner_get_shape_index(self,owner_id: int,shape_id: int,) -> int: ...
    def shape_owner_get_transform(self,owner_id: int,) -> Transform2D: ...
    def shape_owner_remove_shape(self,owner_id: int,shape_id: int,) -> None: ...
    def shape_owner_set_disabled(self,owner_id: int,disabled: bool,) -> None: ...
    def shape_owner_set_one_way_collision(self,owner_id: int,enable: bool,) -> None: ...
    def shape_owner_set_one_way_collision_margin(self,owner_id: int,margin: float,) -> None: ...
    def shape_owner_set_transform(self,owner_id: int,transform: Transform2D,) -> None: ...

    # Properties
    input_pickable: bool



class CollisionPolygon2D(Node2D):


    @staticmethod
    def new() -> CollisionPolygon2D: ...


    # Constants
    BUILD_SEGMENTS: int
    BUILD_SOLIDS: int
    # Enums
    class BuildMode(IntFlag):
        BUILD_SOLIDS: int
        BUILD_SEGMENTS: int

    # Methods
    def get_build_mode(self,) -> CollisionPolygon2D.BuildMode: ...
    def get_one_way_collision_margin(self,) -> float: ...
    def get_polygon(self,) -> PoolVector2Array: ...
    def is_disabled(self,) -> bool: ...
    def is_one_way_collision_enabled(self,) -> bool: ...
    def set_build_mode(self,build_mode: int,) -> None: ...
    def set_disabled(self,disabled: bool,) -> None: ...
    def set_one_way_collision(self,enabled: bool,) -> None: ...
    def set_one_way_collision_margin(self,margin: float,) -> None: ...
    def set_polygon(self,polygon: PoolVector2Array,) -> None: ...

    # Properties
    build_mode: int
    disabled: bool
    one_way_collision: bool
    one_way_collision_margin: float
    polygon: PoolVector2Array



class CollisionShape2D(Node2D):


    @staticmethod
    def new() -> CollisionShape2D: ...



    # Methods
    def get_one_way_collision_margin(self,) -> float: ...
    def get_shape(self,) -> Shape2D: ...
    def is_disabled(self,) -> bool: ...
    def is_one_way_collision_enabled(self,) -> bool: ...
    def set_disabled(self,disabled: bool,) -> None: ...
    def set_one_way_collision(self,enabled: bool,) -> None: ...
    def set_one_way_collision_margin(self,margin: float,) -> None: ...
    def set_shape(self,shape: Shape2D,) -> None: ...

    # Properties
    disabled: bool
    one_way_collision: bool
    one_way_collision_margin: float
    shape: Shape2D



class Joint2D(Node2D):


    # Methods
    def get_bias(self,) -> float: ...
    def get_exclude_nodes_from_collision(self,) -> bool: ...
    def get_node_a(self,) -> Union[str, NodePath]: ...
    def get_node_b(self,) -> Union[str, NodePath]: ...
    def set_bias(self,bias: float,) -> None: ...
    def set_exclude_nodes_from_collision(self,enable: bool,) -> None: ...
    def set_node_a(self,node: Union[str, NodePath],) -> None: ...
    def set_node_b(self,node: Union[str, NodePath],) -> None: ...

    # Properties
    bias: float
    disable_collision: bool
    node_a: Union[str, NodePath]
    node_b: Union[str, NodePath]



class Light2D(Node2D):


    @staticmethod
    def new() -> Light2D: ...


    # Constants
    MODE_ADD: int
    MODE_MASK: int
    MODE_MIX: int
    MODE_SUB: int
    SHADOW_FILTER_NONE: int
    SHADOW_FILTER_PCF13: int
    SHADOW_FILTER_PCF3: int
    SHADOW_FILTER_PCF5: int
    SHADOW_FILTER_PCF7: int
    SHADOW_FILTER_PCF9: int
    # Enums
    class ShadowFilter(IntFlag):
        SHADOW_FILTER_NONE: int
        SHADOW_FILTER_PCF3: int
        SHADOW_FILTER_PCF5: int
        SHADOW_FILTER_PCF7: int
        SHADOW_FILTER_PCF9: int
        SHADOW_FILTER_PCF13: int
    class Mode(IntFlag):
        MODE_ADD: int
        MODE_SUB: int
        MODE_MIX: int
        MODE_MASK: int

    # Methods
    def get_color(self,) -> Color: ...
    def get_energy(self,) -> float: ...
    def get_height(self,) -> float: ...
    def get_item_cull_mask(self,) -> int: ...
    def get_item_shadow_cull_mask(self,) -> int: ...
    def get_layer_range_max(self,) -> int: ...
    def get_layer_range_min(self,) -> int: ...
    def get_mode(self,) -> Light2D.Mode: ...
    def get_shadow_buffer_size(self,) -> int: ...
    def get_shadow_color(self,) -> Color: ...
    def get_shadow_filter(self,) -> Light2D.ShadowFilter: ...
    def get_shadow_gradient_length(self,) -> float: ...
    def get_shadow_smooth(self,) -> float: ...
    def get_texture(self,) -> Texture: ...
    def get_texture_offset(self,) -> Vector2: ...
    def get_texture_scale(self,) -> float: ...
    def get_z_range_max(self,) -> int: ...
    def get_z_range_min(self,) -> int: ...
    def is_editor_only(self,) -> bool: ...
    def is_enabled(self,) -> bool: ...
    def is_shadow_enabled(self,) -> bool: ...
    def set_color(self,color: Color,) -> None: ...
    def set_editor_only(self,editor_only: bool,) -> None: ...
    def set_enabled(self,enabled: bool,) -> None: ...
    def set_energy(self,energy: float,) -> None: ...
    def set_height(self,height: float,) -> None: ...
    def set_item_cull_mask(self,item_cull_mask: int,) -> None: ...
    def set_item_shadow_cull_mask(self,item_shadow_cull_mask: int,) -> None: ...
    def set_layer_range_max(self,layer: int,) -> None: ...
    def set_layer_range_min(self,layer: int,) -> None: ...
    def set_mode(self,mode: int,) -> None: ...
    def set_shadow_buffer_size(self,size: int,) -> None: ...
    def set_shadow_color(self,shadow_color: Color,) -> None: ...
    def set_shadow_enabled(self,enabled: bool,) -> None: ...
    def set_shadow_filter(self,filter: int,) -> None: ...
    def set_shadow_gradient_length(self,multiplier: float,) -> None: ...
    def set_shadow_smooth(self,smooth: float,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...
    def set_texture_offset(self,texture_offset: Vector2,) -> None: ...
    def set_texture_scale(self,texture_scale: float,) -> None: ...
    def set_z_range_max(self,z: int,) -> None: ...
    def set_z_range_min(self,z: int,) -> None: ...

    # Properties
    color: Color
    editor_only: bool
    enabled: bool
    energy: float
    mode: int
    offset: Vector2
    range_height: float
    range_item_cull_mask: int
    range_layer_max: int
    range_layer_min: int
    range_z_max: int
    range_z_min: int
    shadow_buffer_size: int
    shadow_color: Color
    shadow_enabled: bool
    shadow_filter: int
    shadow_filter_smooth: float
    shadow_gradient_length: float
    shadow_item_cull_mask: int
    texture: Texture
    texture_scale: float



class LightOccluder2D(Node2D):


    @staticmethod
    def new() -> LightOccluder2D: ...



    # Methods
    def get_occluder_light_mask(self,) -> int: ...
    def get_occluder_polygon(self,) -> OccluderPolygon2D: ...
    def set_occluder_light_mask(self,mask: int,) -> None: ...
    def set_occluder_polygon(self,polygon: OccluderPolygon2D,) -> None: ...

    # Properties
    light_mask: int
    occluder: OccluderPolygon2D



class Line2D(Node2D):


    @staticmethod
    def new() -> Line2D: ...


    # Constants
    LINE_CAP_BOX: int
    LINE_CAP_NONE: int
    LINE_CAP_ROUND: int
    LINE_JOINT_BEVEL: int
    LINE_JOINT_ROUND: int
    LINE_JOINT_SHARP: int
    LINE_TEXTURE_NONE: int
    LINE_TEXTURE_STRETCH: int
    LINE_TEXTURE_TILE: int
    # Enums
    class LineTextureMode(IntFlag):
        LINE_TEXTURE_NONE: int
        LINE_TEXTURE_TILE: int
        LINE_TEXTURE_STRETCH: int
    class LineCapMode(IntFlag):
        LINE_CAP_NONE: int
        LINE_CAP_BOX: int
        LINE_CAP_ROUND: int
    class LineJointMode(IntFlag):
        LINE_JOINT_SHARP: int
        LINE_JOINT_BEVEL: int
        LINE_JOINT_ROUND: int

    # Methods
    def add_point(self,position: Vector2,at_position: int=-1,) -> None: ...
    def clear_points(self,) -> None: ...
    def get_antialiased(self,) -> bool: ...
    def get_begin_cap_mode(self,) -> Line2D.LineCapMode: ...
    def get_curve(self,) -> Curve: ...
    def get_default_color(self,) -> Color: ...
    def get_end_cap_mode(self,) -> Line2D.LineCapMode: ...
    def get_gradient(self,) -> Gradient: ...
    def get_joint_mode(self,) -> Line2D.LineJointMode: ...
    def get_point_count(self,) -> int: ...
    def get_point_position(self,i: int,) -> Vector2: ...
    def get_points(self,) -> PoolVector2Array: ...
    def get_round_precision(self,) -> int: ...
    def get_sharp_limit(self,) -> float: ...
    def get_texture(self,) -> Texture: ...
    def get_texture_mode(self,) -> Line2D.LineTextureMode: ...
    def get_width(self,) -> float: ...
    def remove_point(self,i: int,) -> None: ...
    def set_antialiased(self,antialiased: bool,) -> None: ...
    def set_begin_cap_mode(self,mode: int,) -> None: ...
    def set_curve(self,curve: Curve,) -> None: ...
    def set_default_color(self,color: Color,) -> None: ...
    def set_end_cap_mode(self,mode: int,) -> None: ...
    def set_gradient(self,color: Gradient,) -> None: ...
    def set_joint_mode(self,mode: int,) -> None: ...
    def set_point_position(self,i: int,position: Vector2,) -> None: ...
    def set_points(self,points: PoolVector2Array,) -> None: ...
    def set_round_precision(self,precision: int,) -> None: ...
    def set_sharp_limit(self,limit: float,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...
    def set_texture_mode(self,mode: int,) -> None: ...
    def set_width(self,width: float,) -> None: ...

    # Properties
    antialiased: bool
    begin_cap_mode: int
    default_color: Color
    end_cap_mode: int
    gradient: Gradient
    joint_mode: int
    points: PoolVector2Array
    round_precision: int
    sharp_limit: float
    texture: Texture
    texture_mode: int
    width: float
    width_curve: Curve



class MeshInstance2D(Node2D):


    @staticmethod
    def new() -> MeshInstance2D: ...



    # Methods
    def get_mesh(self,) -> Mesh: ...
    def get_normal_map(self,) -> Texture: ...
    def get_texture(self,) -> Texture: ...
    def set_mesh(self,mesh: Mesh,) -> None: ...
    def set_normal_map(self,normal_map: Texture,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...

    # Properties
    mesh: Mesh
    normal_map: Texture
    texture: Texture



class MultiMeshInstance2D(Node2D):


    @staticmethod
    def new() -> MultiMeshInstance2D: ...



    # Methods
    def get_multimesh(self,) -> MultiMesh: ...
    def get_normal_map(self,) -> Texture: ...
    def get_texture(self,) -> Texture: ...
    def set_multimesh(self,multimesh: MultiMesh,) -> None: ...
    def set_normal_map(self,normal_map: Texture,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...

    # Properties
    multimesh: MultiMesh
    normal_map: Texture
    texture: Texture



class Navigation2D(Node2D):


    @staticmethod
    def new() -> Navigation2D: ...



    # Methods
    def get_closest_point(self,to_point: Vector2,) -> Vector2: ...
    def get_closest_point_owner(self,to_point: Vector2,) -> Object: ...
    def get_simple_path(self,start: Vector2,end: Vector2,optimize: bool=True,) -> PoolVector2Array: ...
    def navpoly_add(self,mesh: NavigationPolygon,xform: Transform2D,owner: Object=None,) -> int: ...
    def navpoly_remove(self,id: int,) -> None: ...
    def navpoly_set_transform(self,id: int,xform: Transform2D,) -> None: ...




class NavigationPolygonInstance(Node2D):


    @staticmethod
    def new() -> NavigationPolygonInstance: ...



    # Methods
    def get_navigation_polygon(self,) -> NavigationPolygon: ...
    def is_enabled(self,) -> bool: ...
    def set_enabled(self,enabled: bool,) -> None: ...
    def set_navigation_polygon(self,navpoly: NavigationPolygon,) -> None: ...

    # Properties
    enabled: bool
    navpoly: NavigationPolygon



class ParallaxLayer(Node2D):


    @staticmethod
    def new() -> ParallaxLayer: ...



    # Methods
    def get_mirroring(self,) -> Vector2: ...
    def get_motion_offset(self,) -> Vector2: ...
    def get_motion_scale(self,) -> Vector2: ...
    def set_mirroring(self,mirror: Vector2,) -> None: ...
    def set_motion_offset(self,offset: Vector2,) -> None: ...
    def set_motion_scale(self,scale: Vector2,) -> None: ...

    # Properties
    motion_mirroring: Vector2
    motion_offset: Vector2
    motion_scale: Vector2



class Particles2D(Node2D):


    @staticmethod
    def new() -> Particles2D: ...


    # Constants
    DRAW_ORDER_INDEX: int
    DRAW_ORDER_LIFETIME: int
    # Enums
    class DrawOrder(IntFlag):
        DRAW_ORDER_INDEX: int
        DRAW_ORDER_LIFETIME: int

    # Methods
    def capture_rect(self,) -> Rect2: ...
    def get_amount(self,) -> int: ...
    def get_draw_order(self,) -> Particles2D.DrawOrder: ...
    def get_explosiveness_ratio(self,) -> float: ...
    def get_fixed_fps(self,) -> int: ...
    def get_fractional_delta(self,) -> bool: ...
    def get_lifetime(self,) -> float: ...
    def get_normal_map(self,) -> Texture: ...
    def get_one_shot(self,) -> bool: ...
    def get_pre_process_time(self,) -> float: ...
    def get_process_material(self,) -> Material: ...
    def get_randomness_ratio(self,) -> float: ...
    def get_speed_scale(self,) -> float: ...
    def get_texture(self,) -> Texture: ...
    def get_use_local_coordinates(self,) -> bool: ...
    def get_visibility_rect(self,) -> Rect2: ...
    def is_emitting(self,) -> bool: ...
    def restart(self,) -> None: ...
    def set_amount(self,amount: int,) -> None: ...
    def set_draw_order(self,order: int,) -> None: ...
    def set_emitting(self,emitting: bool,) -> None: ...
    def set_explosiveness_ratio(self,ratio: float,) -> None: ...
    def set_fixed_fps(self,fps: int,) -> None: ...
    def set_fractional_delta(self,enable: bool,) -> None: ...
    def set_lifetime(self,secs: float,) -> None: ...
    def set_normal_map(self,texture: Texture,) -> None: ...
    def set_one_shot(self,secs: bool,) -> None: ...
    def set_pre_process_time(self,secs: float,) -> None: ...
    def set_process_material(self,material: Material,) -> None: ...
    def set_randomness_ratio(self,ratio: float,) -> None: ...
    def set_speed_scale(self,scale: float,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...
    def set_use_local_coordinates(self,enable: bool,) -> None: ...
    def set_visibility_rect(self,visibility_rect: Rect2,) -> None: ...

    # Properties
    amount: int
    draw_order: int
    emitting: bool
    explosiveness: float
    fixed_fps: int
    fract_delta: bool
    lifetime: float
    local_coords: bool
    normal_map: Texture
    one_shot: bool
    preprocess: float
    process_material: Union[ShaderMaterial,ParticlesMaterial]
    randomness: float
    speed_scale: float
    texture: Texture
    visibility_rect: Rect2



class Path2D(Node2D):


    @staticmethod
    def new() -> Path2D: ...



    # Methods
    def get_curve(self,) -> Curve2D: ...
    def set_curve(self,curve: Curve2D,) -> None: ...

    # Properties
    curve: Curve2D



class PathFollow2D(Node2D):


    @staticmethod
    def new() -> PathFollow2D: ...



    # Methods
    def get_cubic_interpolation(self,) -> bool: ...
    def get_h_offset(self,) -> float: ...
    def get_lookahead(self,) -> float: ...
    def get_offset(self,) -> float: ...
    def get_unit_offset(self,) -> float: ...
    def get_v_offset(self,) -> float: ...
    def has_loop(self,) -> bool: ...
    def is_rotating(self,) -> bool: ...
    def set_cubic_interpolation(self,enable: bool,) -> None: ...
    def set_h_offset(self,h_offset: float,) -> None: ...
    def set_lookahead(self,lookahead: float,) -> None: ...
    def set_loop(self,loop: bool,) -> None: ...
    def set_offset(self,offset: float,) -> None: ...
    def set_rotate(self,enable: bool,) -> None: ...
    def set_unit_offset(self,unit_offset: float,) -> None: ...
    def set_v_offset(self,v_offset: float,) -> None: ...

    # Properties
    cubic_interp: bool
    h_offset: float
    lookahead: float
    loop: bool
    offset: float
    rotate: bool
    unit_offset: float
    v_offset: float



class Polygon2D(Node2D):


    @staticmethod
    def new() -> Polygon2D: ...



    # Methods
    def add_bone(self,path: Union[str, NodePath],weights: PoolRealArray,) -> None: ...
    def clear_bones(self,) -> None: ...
    def erase_bone(self,index: int,) -> None: ...
    def get_antialiased(self,) -> bool: ...
    def get_bone_count(self,) -> int: ...
    def get_bone_path(self,index: int,) -> Union[str, NodePath]: ...
    def get_bone_weights(self,index: int,) -> PoolRealArray: ...
    def get_color(self,) -> Color: ...
    def get_internal_vertex_count(self,) -> int: ...
    def get_invert(self,) -> bool: ...
    def get_invert_border(self,) -> float: ...
    def get_offset(self,) -> Vector2: ...
    def get_polygon(self,) -> PoolVector2Array: ...
    def get_polygons(self,) -> Array: ...
    def get_skeleton(self,) -> Union[str, NodePath]: ...
    def get_texture(self,) -> Texture: ...
    def get_texture_offset(self,) -> Vector2: ...
    def get_texture_rotation(self,) -> float: ...
    def get_texture_rotation_degrees(self,) -> float: ...
    def get_texture_scale(self,) -> Vector2: ...
    def get_uv(self,) -> PoolVector2Array: ...
    def get_vertex_colors(self,) -> PoolColorArray: ...
    def set_antialiased(self,antialiased: bool,) -> None: ...
    def set_bone_path(self,index: int,path: Union[str, NodePath],) -> None: ...
    def set_bone_weights(self,index: int,weights: PoolRealArray,) -> None: ...
    def set_color(self,color: Color,) -> None: ...
    def set_internal_vertex_count(self,internal_vertex_count: int,) -> None: ...
    def set_invert(self,invert: bool,) -> None: ...
    def set_invert_border(self,invert_border: float,) -> None: ...
    def set_offset(self,offset: Vector2,) -> None: ...
    def set_polygon(self,polygon: PoolVector2Array,) -> None: ...
    def set_polygons(self,polygons: Array,) -> None: ...
    def set_skeleton(self,skeleton: Union[str, NodePath],) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...
    def set_texture_offset(self,texture_offset: Vector2,) -> None: ...
    def set_texture_rotation(self,texture_rotation: float,) -> None: ...
    def set_texture_rotation_degrees(self,texture_rotation: float,) -> None: ...
    def set_texture_scale(self,texture_scale: Vector2,) -> None: ...
    def set_uv(self,uv: PoolVector2Array,) -> None: ...
    def set_vertex_colors(self,vertex_colors: PoolColorArray,) -> None: ...

    # Properties
    antialiased: bool
    bones: bool
    color: Color
    internal_vertex_count: int
    invert_border: float
    invert_enable: bool
    offset: Vector2
    polygon: PoolVector2Array
    polygons: Array
    skeleton: Union[str, NodePath]
    texture: Texture
    texture_offset: Vector2
    texture_rotation: float
    texture_rotation_degrees: float
    texture_scale: Vector2
    uv: PoolVector2Array
    vertex_colors: PoolColorArray



class Position2D(Node2D):


    @staticmethod
    def new() -> Position2D: ...




    # Properties
    gizmo_extents: float



class RayCast2D(Node2D):


    @staticmethod
    def new() -> RayCast2D: ...



    # Methods
    def add_exception(self,node: Object,) -> None: ...
    def add_exception_rid(self,rid: RID,) -> None: ...
    def clear_exceptions(self,) -> None: ...
    def force_raycast_update(self,) -> None: ...
    def get_cast_to(self,) -> Vector2: ...
    def get_collider(self,) -> Object: ...
    def get_collider_shape(self,) -> int: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def get_collision_normal(self,) -> Vector2: ...
    def get_collision_point(self,) -> Vector2: ...
    def get_exclude_parent_body(self,) -> bool: ...
    def is_collide_with_areas_enabled(self,) -> bool: ...
    def is_collide_with_bodies_enabled(self,) -> bool: ...
    def is_colliding(self,) -> bool: ...
    def is_enabled(self,) -> bool: ...
    def remove_exception(self,node: Object,) -> None: ...
    def remove_exception_rid(self,rid: RID,) -> None: ...
    def set_cast_to(self,local_point: Vector2,) -> None: ...
    def set_collide_with_areas(self,enable: bool,) -> None: ...
    def set_collide_with_bodies(self,enable: bool,) -> None: ...
    def set_collision_mask(self,mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...
    def set_enabled(self,enabled: bool,) -> None: ...
    def set_exclude_parent_body(self,mask: bool,) -> None: ...

    # Properties
    cast_to: Vector2
    collide_with_areas: bool
    collide_with_bodies: bool
    collision_mask: int
    enabled: bool
    exclude_parent: bool



class RemoteTransform2D(Node2D):


    @staticmethod
    def new() -> RemoteTransform2D: ...



    # Methods
    def force_update_cache(self,) -> None: ...
    def get_remote_node(self,) -> Union[str, NodePath]: ...
    def get_update_position(self,) -> bool: ...
    def get_update_rotation(self,) -> bool: ...
    def get_update_scale(self,) -> bool: ...
    def get_use_global_coordinates(self,) -> bool: ...
    def set_remote_node(self,path: Union[str, NodePath],) -> None: ...
    def set_update_position(self,update_remote_position: bool,) -> None: ...
    def set_update_rotation(self,update_remote_rotation: bool,) -> None: ...
    def set_update_scale(self,update_remote_scale: bool,) -> None: ...
    def set_use_global_coordinates(self,use_global_coordinates: bool,) -> None: ...

    # Properties
    remote_path: Union[str, NodePath]
    update_position: bool
    update_rotation: bool
    update_scale: bool
    use_global_coordinates: bool



class Skeleton2D(Node2D):


    @staticmethod
    def new() -> Skeleton2D: ...



    # Methods
    def get_bone(self,idx: int,) -> Bone2D: ...
    def get_bone_count(self,) -> int: ...
    def get_skeleton(self,) -> RID: ...




class Sprite(Node2D):


    @staticmethod
    def new() -> Sprite: ...



    # Methods
    def get_frame(self,) -> int: ...
    def get_frame_coords(self,) -> Vector2: ...
    def get_hframes(self,) -> int: ...
    def get_normal_map(self,) -> Texture: ...
    def get_offset(self,) -> Vector2: ...
    def get_rect(self,) -> Rect2: ...
    def get_region_rect(self,) -> Rect2: ...
    def get_texture(self,) -> Texture: ...
    def get_vframes(self,) -> int: ...
    def is_centered(self,) -> bool: ...
    def is_flipped_h(self,) -> bool: ...
    def is_flipped_v(self,) -> bool: ...
    def is_pixel_opaque(self,pos: Vector2,) -> bool: ...
    def is_region(self,) -> bool: ...
    def is_region_filter_clip_enabled(self,) -> bool: ...
    def set_centered(self,centered: bool,) -> None: ...
    def set_flip_h(self,flip_h: bool,) -> None: ...
    def set_flip_v(self,flip_v: bool,) -> None: ...
    def set_frame(self,frame: int,) -> None: ...
    def set_frame_coords(self,coords: Vector2,) -> None: ...
    def set_hframes(self,hframes: int,) -> None: ...
    def set_normal_map(self,normal_map: Texture,) -> None: ...
    def set_offset(self,offset: Vector2,) -> None: ...
    def set_region(self,enabled: bool,) -> None: ...
    def set_region_filter_clip(self,enabled: bool,) -> None: ...
    def set_region_rect(self,rect: Rect2,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...
    def set_vframes(self,vframes: int,) -> None: ...

    # Properties
    centered: bool
    flip_h: bool
    flip_v: bool
    frame: int
    frame_coords: Vector2
    hframes: int
    normal_map: Texture
    offset: Vector2
    region_enabled: bool
    region_filter_clip: bool
    region_rect: Rect2
    texture: Texture
    vframes: int



class TileMap(Node2D):


    @staticmethod
    def new() -> TileMap: ...


    # Constants
    HALF_OFFSET_DISABLED: int
    HALF_OFFSET_NEGATIVE_X: int
    HALF_OFFSET_NEGATIVE_Y: int
    HALF_OFFSET_X: int
    HALF_OFFSET_Y: int
    INVALID_CELL: int
    MODE_CUSTOM: int
    MODE_ISOMETRIC: int
    MODE_SQUARE: int
    TILE_ORIGIN_BOTTOM_LEFT: int
    TILE_ORIGIN_CENTER: int
    TILE_ORIGIN_TOP_LEFT: int
    # Enums
    class Mode(IntFlag):
        MODE_SQUARE: int
        MODE_ISOMETRIC: int
        MODE_CUSTOM: int
    class TileOrigin(IntFlag):
        TILE_ORIGIN_TOP_LEFT: int
        TILE_ORIGIN_CENTER: int
        TILE_ORIGIN_BOTTOM_LEFT: int
    class HalfOffset(IntFlag):
        HALF_OFFSET_X: int
        HALF_OFFSET_Y: int
        HALF_OFFSET_DISABLED: int
        HALF_OFFSET_NEGATIVE_X: int
        HALF_OFFSET_NEGATIVE_Y: int

    # Methods
    def clear(self,) -> None: ...
    def fix_invalid_tiles(self,) -> None: ...
    def get_cell(self,x: int,y: int,) -> int: ...
    def get_cell_autotile_coord(self,x: int,y: int,) -> Vector2: ...
    def get_cell_size(self,) -> Vector2: ...
    def get_cellv(self,position: Vector2,) -> int: ...
    def get_clip_uv(self,) -> bool: ...
    def get_collision_bounce(self,) -> float: ...
    def get_collision_friction(self,) -> float: ...
    def get_collision_layer(self,) -> int: ...
    def get_collision_layer_bit(self,bit: int,) -> bool: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def get_collision_use_kinematic(self,) -> bool: ...
    def get_collision_use_parent(self,) -> bool: ...
    def get_custom_transform(self,) -> Transform2D: ...
    def get_half_offset(self,) -> TileMap.HalfOffset: ...
    def get_mode(self,) -> TileMap.Mode: ...
    def get_occluder_light_mask(self,) -> int: ...
    def get_quadrant_size(self,) -> int: ...
    def get_tile_origin(self,) -> TileMap.TileOrigin: ...
    def get_tileset(self,) -> TileSet: ...
    def get_used_cells(self,) -> Array: ...
    def get_used_cells_by_id(self,id: int,) -> Array: ...
    def get_used_rect(self,) -> Rect2: ...
    def is_cell_transposed(self,x: int,y: int,) -> bool: ...
    def is_cell_x_flipped(self,x: int,y: int,) -> bool: ...
    def is_cell_y_flipped(self,x: int,y: int,) -> bool: ...
    def is_centered_textures_enabled(self,) -> bool: ...
    def is_compatibility_mode_enabled(self,) -> bool: ...
    def is_y_sort_mode_enabled(self,) -> bool: ...
    def map_to_world(self,map_position: Vector2,ignore_half_ofs: bool=False,) -> Vector2: ...
    def set_cell(self,x: int,y: int,tile: int,flip_x: bool=False,flip_y: bool=False,transpose: bool=False,autotile_coord: Vector2=Vector2(0, 0),) -> None: ...
    def set_cell_size(self,size: Vector2,) -> None: ...
    def set_cellv(self,position: Vector2,tile: int,flip_x: bool=False,flip_y: bool=False,transpose: bool=False,) -> None: ...
    def set_centered_textures(self,enable: bool,) -> None: ...
    def set_clip_uv(self,enable: bool,) -> None: ...
    def set_collision_bounce(self,value: float,) -> None: ...
    def set_collision_friction(self,value: float,) -> None: ...
    def set_collision_layer(self,layer: int,) -> None: ...
    def set_collision_layer_bit(self,bit: int,value: bool,) -> None: ...
    def set_collision_mask(self,mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...
    def set_collision_use_kinematic(self,use_kinematic: bool,) -> None: ...
    def set_collision_use_parent(self,use_parent: bool,) -> None: ...
    def set_compatibility_mode(self,enable: bool,) -> None: ...
    def set_custom_transform(self,custom_transform: Transform2D,) -> None: ...
    def set_half_offset(self,half_offset: int,) -> None: ...
    def set_mode(self,mode: int,) -> None: ...
    def set_occluder_light_mask(self,mask: int,) -> None: ...
    def set_quadrant_size(self,size: int,) -> None: ...
    def set_tile_origin(self,origin: int,) -> None: ...
    def set_tileset(self,tileset: TileSet,) -> None: ...
    def set_y_sort_mode(self,enable: bool,) -> None: ...
    def update_bitmask_area(self,position: Vector2,) -> None: ...
    def update_bitmask_region(self,start: Vector2=Vector2(0, 0),end: Vector2=Vector2(0, 0),) -> None: ...
    def update_dirty_quadrants(self,) -> None: ...
    def world_to_map(self,world_position: Vector2,) -> Vector2: ...

    # Properties
    cell_clip_uv: bool
    cell_custom_transform: Transform2D
    cell_half_offset: int
    cell_quadrant_size: int
    cell_size: Vector2
    cell_tile_origin: int
    cell_y_sort: bool
    centered_textures: bool
    collision_bounce: float
    collision_friction: float
    collision_layer: int
    collision_mask: int
    collision_use_kinematic: bool
    collision_use_parent: bool
    compatibility_mode: bool
    mode: int
    occluder_light_mask: int
    tile_set: TileSet



class TouchScreenButton(Node2D):


    @staticmethod
    def new() -> TouchScreenButton: ...


    # Constants
    VISIBILITY_ALWAYS: int
    VISIBILITY_TOUCHSCREEN_ONLY: int
    # Enums
    class VisibilityMode(IntFlag):
        VISIBILITY_ALWAYS: int
        VISIBILITY_TOUCHSCREEN_ONLY: int

    # Methods
    def get_action(self,) -> Union[str, GDString]: ...
    def get_bitmask(self,) -> BitMap: ...
    def get_shape(self,) -> Shape2D: ...
    def get_texture(self,) -> Texture: ...
    def get_texture_pressed(self,) -> Texture: ...
    def get_visibility_mode(self,) -> TouchScreenButton.VisibilityMode: ...
    def is_passby_press_enabled(self,) -> bool: ...
    def is_pressed(self,) -> bool: ...
    def is_shape_centered(self,) -> bool: ...
    def is_shape_visible(self,) -> bool: ...
    def set_action(self,action: Union[str, GDString],) -> None: ...
    def set_bitmask(self,bitmask: BitMap,) -> None: ...
    def set_passby_press(self,enabled: bool,) -> None: ...
    def set_shape(self,shape: Shape2D,) -> None: ...
    def set_shape_centered(self,bool_: bool,) -> None: ...
    def set_shape_visible(self,bool_: bool,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...
    def set_texture_pressed(self,texture_pressed: Texture,) -> None: ...
    def set_visibility_mode(self,mode: int,) -> None: ...

    # Properties
    action: Union[str, GDString]
    bitmask: BitMap
    normal: Texture
    passby_press: bool
    pressed: Texture
    shape: Shape2D
    shape_centered: bool
    shape_visible: bool
    visibility_mode: int



class VisibilityNotifier2D(Node2D):


    @staticmethod
    def new() -> VisibilityNotifier2D: ...



    # Methods
    def get_rect(self,) -> Rect2: ...
    def is_on_screen(self,) -> bool: ...
    def set_rect(self,rect: Rect2,) -> None: ...

    # Properties
    rect: Rect2



class YSort(Node2D):


    @staticmethod
    def new() -> YSort: ...



    # Methods
    def is_sort_enabled(self,) -> bool: ...
    def set_sort_enabled(self,enabled: bool,) -> None: ...

    # Properties
    sort_enabled: bool



class VisibilityEnabler2D(VisibilityNotifier2D):


    @staticmethod
    def new() -> VisibilityEnabler2D: ...


    # Constants
    ENABLER_FREEZE_BODIES: int
    ENABLER_MAX: int
    ENABLER_PARENT_PHYSICS_PROCESS: int
    ENABLER_PARENT_PROCESS: int
    ENABLER_PAUSE_ANIMATED_SPRITES: int
    ENABLER_PAUSE_ANIMATIONS: int
    ENABLER_PAUSE_PARTICLES: int
    # Enums
    class Enabler(IntFlag):
        ENABLER_PAUSE_ANIMATIONS: int
        ENABLER_FREEZE_BODIES: int
        ENABLER_PAUSE_PARTICLES: int
        ENABLER_PARENT_PROCESS: int
        ENABLER_PARENT_PHYSICS_PROCESS: int
        ENABLER_PAUSE_ANIMATED_SPRITES: int
        ENABLER_MAX: int

    # Methods
    def is_enabler_enabled(self,enabler: int,) -> bool: ...
    def set_enabler(self,enabler: int,enabled: bool,) -> None: ...

    # Properties
    freeze_bodies: bool
    pause_animated_sprites: bool
    pause_animations: bool
    pause_particles: bool
    physics_process_parent: bool
    process_parent: bool



class DampedSpringJoint2D(Joint2D):


    @staticmethod
    def new() -> DampedSpringJoint2D: ...



    # Methods
    def get_damping(self,) -> float: ...
    def get_length(self,) -> float: ...
    def get_rest_length(self,) -> float: ...
    def get_stiffness(self,) -> float: ...
    def set_damping(self,damping: float,) -> None: ...
    def set_length(self,length: float,) -> None: ...
    def set_rest_length(self,rest_length: float,) -> None: ...
    def set_stiffness(self,stiffness: float,) -> None: ...

    # Properties
    damping: float
    length: float
    rest_length: float
    stiffness: float



class GrooveJoint2D(Joint2D):


    @staticmethod
    def new() -> GrooveJoint2D: ...



    # Methods
    def get_initial_offset(self,) -> float: ...
    def get_length(self,) -> float: ...
    def set_initial_offset(self,offset: float,) -> None: ...
    def set_length(self,length: float,) -> None: ...

    # Properties
    initial_offset: float
    length: float



class PinJoint2D(Joint2D):


    @staticmethod
    def new() -> PinJoint2D: ...



    # Methods
    def get_softness(self,) -> float: ...
    def set_softness(self,softness: float,) -> None: ...

    # Properties
    softness: float



class Area2D(CollisionObject2D):


    @staticmethod
    def new() -> Area2D: ...


    # Constants
    SPACE_OVERRIDE_COMBINE: int
    SPACE_OVERRIDE_COMBINE_REPLACE: int
    SPACE_OVERRIDE_DISABLED: int
    SPACE_OVERRIDE_REPLACE: int
    SPACE_OVERRIDE_REPLACE_COMBINE: int
    # Enums
    class SpaceOverride(IntFlag):
        SPACE_OVERRIDE_DISABLED: int
        SPACE_OVERRIDE_COMBINE: int
        SPACE_OVERRIDE_COMBINE_REPLACE: int
        SPACE_OVERRIDE_REPLACE: int
        SPACE_OVERRIDE_REPLACE_COMBINE: int

    # Methods
    def get_angular_damp(self,) -> float: ...
    def get_audio_bus_name(self,) -> Union[str, GDString]: ...
    def get_collision_layer(self,) -> int: ...
    def get_collision_layer_bit(self,bit: int,) -> bool: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def get_gravity(self,) -> float: ...
    def get_gravity_distance_scale(self,) -> float: ...
    def get_gravity_vector(self,) -> Vector2: ...
    def get_linear_damp(self,) -> float: ...
    def get_overlapping_areas(self,) -> Array: ...
    def get_overlapping_bodies(self,) -> Array: ...
    def get_priority(self,) -> float: ...
    def get_space_override_mode(self,) -> Area2D.SpaceOverride: ...
    def is_gravity_a_point(self,) -> bool: ...
    def is_monitorable(self,) -> bool: ...
    def is_monitoring(self,) -> bool: ...
    def is_overriding_audio_bus(self,) -> bool: ...
    def overlaps_area(self,area: Node,) -> bool: ...
    def overlaps_body(self,body: Node,) -> bool: ...
    def set_angular_damp(self,angular_damp: float,) -> None: ...
    def set_audio_bus_name(self,name: Union[str, GDString],) -> None: ...
    def set_audio_bus_override(self,enable: bool,) -> None: ...
    def set_collision_layer(self,collision_layer: int,) -> None: ...
    def set_collision_layer_bit(self,bit: int,value: bool,) -> None: ...
    def set_collision_mask(self,collision_mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...
    def set_gravity(self,gravity: float,) -> None: ...
    def set_gravity_distance_scale(self,distance_scale: float,) -> None: ...
    def set_gravity_is_point(self,enable: bool,) -> None: ...
    def set_gravity_vector(self,vector: Vector2,) -> None: ...
    def set_linear_damp(self,linear_damp: float,) -> None: ...
    def set_monitorable(self,enable: bool,) -> None: ...
    def set_monitoring(self,enable: bool,) -> None: ...
    def set_priority(self,priority: float,) -> None: ...
    def set_space_override_mode(self,space_override_mode: int,) -> None: ...

    # Properties
    angular_damp: float
    audio_bus_name: Union[str, GDString]
    audio_bus_override: bool
    collision_layer: int
    collision_mask: int
    gravity: float
    gravity_distance_scale: float
    gravity_point: bool
    gravity_vec: Vector2
    linear_damp: float
    monitorable: bool
    monitoring: bool
    priority: int
    space_override: int



class PhysicsBody2D(CollisionObject2D):


    # Methods
    def add_collision_exception_with(self,body: Node,) -> None: ...
    def get_collision_exceptions(self,) -> Array: ...
    def get_collision_layer(self,) -> int: ...
    def get_collision_layer_bit(self,bit: int,) -> bool: ...
    def get_collision_mask(self,) -> int: ...
    def get_collision_mask_bit(self,bit: int,) -> bool: ...
    def remove_collision_exception_with(self,body: Node,) -> None: ...
    def set_collision_layer(self,layer: int,) -> None: ...
    def set_collision_layer_bit(self,bit: int,value: bool,) -> None: ...
    def set_collision_mask(self,mask: int,) -> None: ...
    def set_collision_mask_bit(self,bit: int,value: bool,) -> None: ...

    # Properties
    collision_layer: int
    collision_mask: int
    layers: int



class KinematicBody2D(PhysicsBody2D):


    @staticmethod
    def new() -> KinematicBody2D: ...



    # Methods
    def get_floor_normal(self,) -> Vector2: ...
    def get_floor_velocity(self,) -> Vector2: ...
    def get_safe_margin(self,) -> float: ...
    def get_slide_collision(self,slide_idx: int,) -> KinematicCollision2D: ...
    def get_slide_count(self,) -> int: ...
    def is_on_ceiling(self,) -> bool: ...
    def is_on_floor(self,) -> bool: ...
    def is_on_wall(self,) -> bool: ...
    def is_sync_to_physics_enabled(self,) -> bool: ...
    def move_and_collide(self,rel_vec: Vector2,infinite_inertia: bool=True,exclude_raycast_shapes: bool=True,test_only: bool=False,) -> KinematicCollision2D: ...
    def move_and_slide(self,linear_velocity: Vector2,up_direction: Vector2=Vector2(0, 0),stop_on_slope: bool=False,max_slides: int=4,floor_max_angle: float=0.785398,infinite_inertia: bool=True,) -> Vector2: ...
    def move_and_slide_with_snap(self,linear_velocity: Vector2,snap: Vector2,up_direction: Vector2=Vector2(0, 0),stop_on_slope: bool=False,max_slides: int=4,floor_max_angle: float=0.785398,infinite_inertia: bool=True,) -> Vector2: ...
    def set_safe_margin(self,pixels: float,) -> None: ...
    def set_sync_to_physics(self,enable: bool,) -> None: ...
    def test_move(self,from_: Transform2D,rel_vec: Vector2,infinite_inertia: bool=True,) -> bool: ...

    # Properties
    collision_safe_margin: float
    motion_sync_to_physics: bool



class RigidBody2D(PhysicsBody2D):


    @staticmethod
    def new() -> RigidBody2D: ...


    # Constants
    CCD_MODE_CAST_RAY: int
    CCD_MODE_CAST_SHAPE: int
    CCD_MODE_DISABLED: int
    MODE_CHARACTER: int
    MODE_KINEMATIC: int
    MODE_RIGID: int
    MODE_STATIC: int
    # Enums
    class Mode(IntFlag):
        MODE_RIGID: int
        MODE_STATIC: int
        MODE_CHARACTER: int
        MODE_KINEMATIC: int
    class CCDMode(IntFlag):
        CCD_MODE_DISABLED: int
        CCD_MODE_CAST_RAY: int
        CCD_MODE_CAST_SHAPE: int

    # Methods
    def add_central_force(self,force: Vector2,) -> None: ...
    def add_force(self,offset: Vector2,force: Vector2,) -> None: ...
    def add_torque(self,torque: float,) -> None: ...
    def apply_central_impulse(self,impulse: Vector2,) -> None: ...
    def apply_impulse(self,offset: Vector2,impulse: Vector2,) -> None: ...
    def apply_torque_impulse(self,torque: float,) -> None: ...
    def get_angular_damp(self,) -> float: ...
    def get_angular_velocity(self,) -> float: ...
    def get_applied_force(self,) -> Vector2: ...
    def get_applied_torque(self,) -> float: ...
    def get_bounce(self,) -> float: ...
    def get_colliding_bodies(self,) -> Array: ...
    def get_continuous_collision_detection_mode(self,) -> RigidBody2D.CCDMode: ...
    def get_friction(self,) -> float: ...
    def get_gravity_scale(self,) -> float: ...
    def get_inertia(self,) -> float: ...
    def get_linear_damp(self,) -> float: ...
    def get_linear_velocity(self,) -> Vector2: ...
    def get_mass(self,) -> float: ...
    def get_max_contacts_reported(self,) -> int: ...
    def get_mode(self,) -> RigidBody2D.Mode: ...
    def get_physics_material_override(self,) -> PhysicsMaterial: ...
    def get_weight(self,) -> float: ...
    def is_able_to_sleep(self,) -> bool: ...
    def is_contact_monitor_enabled(self,) -> bool: ...
    def is_sleeping(self,) -> bool: ...
    def is_using_custom_integrator(self,) -> bool: ...
    def set_angular_damp(self,angular_damp: float,) -> None: ...
    def set_angular_velocity(self,angular_velocity: float,) -> None: ...
    def set_applied_force(self,force: Vector2,) -> None: ...
    def set_applied_torque(self,torque: float,) -> None: ...
    def set_axis_velocity(self,axis_velocity: Vector2,) -> None: ...
    def set_bounce(self,bounce: float,) -> None: ...
    def set_can_sleep(self,able_to_sleep: bool,) -> None: ...
    def set_contact_monitor(self,enabled: bool,) -> None: ...
    def set_continuous_collision_detection_mode(self,mode: int,) -> None: ...
    def set_friction(self,friction: float,) -> None: ...
    def set_gravity_scale(self,gravity_scale: float,) -> None: ...
    def set_inertia(self,inertia: float,) -> None: ...
    def set_linear_damp(self,linear_damp: float,) -> None: ...
    def set_linear_velocity(self,linear_velocity: Vector2,) -> None: ...
    def set_mass(self,mass: float,) -> None: ...
    def set_max_contacts_reported(self,amount: int,) -> None: ...
    def set_mode(self,mode: int,) -> None: ...
    def set_physics_material_override(self,physics_material_override: PhysicsMaterial,) -> None: ...
    def set_sleeping(self,sleeping: bool,) -> None: ...
    def set_use_custom_integrator(self,enable: bool,) -> None: ...
    def set_weight(self,weight: float,) -> None: ...
    def test_motion(self,motion: Vector2,infinite_inertia: bool=True,margin: float=0.08,result: Physics2DTestMotionResult=None,) -> bool: ...

    # Properties
    angular_damp: float
    angular_velocity: float
    applied_force: Vector2
    applied_torque: float
    bounce: float
    can_sleep: bool
    contact_monitor: bool
    contacts_reported: int
    continuous_cd: int
    custom_integrator: bool
    friction: float
    gravity_scale: float
    inertia: float
    linear_damp: float
    linear_velocity: Vector2
    mass: float
    mode: int
    physics_material_override: PhysicsMaterial
    sleeping: bool
    weight: float



class StaticBody2D(PhysicsBody2D):


    @staticmethod
    def new() -> StaticBody2D: ...



    # Methods
    def get_bounce(self,) -> float: ...
    def get_constant_angular_velocity(self,) -> float: ...
    def get_constant_linear_velocity(self,) -> Vector2: ...
    def get_friction(self,) -> float: ...
    def get_physics_material_override(self,) -> PhysicsMaterial: ...
    def set_bounce(self,bounce: float,) -> None: ...
    def set_constant_angular_velocity(self,vel: float,) -> None: ...
    def set_constant_linear_velocity(self,vel: Vector2,) -> None: ...
    def set_friction(self,friction: float,) -> None: ...
    def set_physics_material_override(self,physics_material_override: PhysicsMaterial,) -> None: ...

    # Properties
    bounce: float
    constant_angular_velocity: float
    constant_linear_velocity: Vector2
    friction: float
    physics_material_override: PhysicsMaterial



class BaseButton(Control):

    # Constants
    ACTION_MODE_BUTTON_PRESS: int
    ACTION_MODE_BUTTON_RELEASE: int
    DRAW_DISABLED: int
    DRAW_HOVER: int
    DRAW_HOVER_PRESSED: int
    DRAW_NORMAL: int
    DRAW_PRESSED: int
    # Enums
    class ActionMode(IntFlag):
        ACTION_MODE_BUTTON_PRESS: int
        ACTION_MODE_BUTTON_RELEASE: int
    class DrawMode(IntFlag):
        DRAW_NORMAL: int
        DRAW_PRESSED: int
        DRAW_HOVER: int
        DRAW_DISABLED: int
        DRAW_HOVER_PRESSED: int

    # Methods
    def get_action_mode(self,) -> BaseButton.ActionMode: ...
    def get_button_group(self,) -> ButtonGroup: ...
    def get_button_mask(self,) -> int: ...
    def get_draw_mode(self,) -> BaseButton.DrawMode: ...
    def get_enabled_focus_mode(self,) -> Control.FocusMode: ...
    def get_shortcut(self,) -> ShortCut: ...
    def is_disabled(self,) -> bool: ...
    def is_hovered(self,) -> bool: ...
    def is_keep_pressed_outside(self,) -> bool: ...
    def is_pressed(self,) -> bool: ...
    def is_shortcut_in_tooltip_enabled(self,) -> bool: ...
    def is_toggle_mode(self,) -> bool: ...
    def set_action_mode(self,mode: int,) -> None: ...
    def set_button_group(self,button_group: ButtonGroup,) -> None: ...
    def set_button_mask(self,mask: int,) -> None: ...
    def set_disabled(self,disabled: bool,) -> None: ...
    def set_enabled_focus_mode(self,mode: int,) -> None: ...
    def set_keep_pressed_outside(self,enabled: bool,) -> None: ...
    def set_pressed(self,pressed: bool,) -> None: ...
    def set_shortcut(self,shortcut: ShortCut,) -> None: ...
    def set_shortcut_in_tooltip(self,enabled: bool,) -> None: ...
    def set_toggle_mode(self,enabled: bool,) -> None: ...

    # Properties
    action_mode: int
    button_mask: int
    disabled: bool
    enabled_focus_mode: int
    group: ButtonGroup
    keep_pressed_outside: bool
    pressed: bool
    shortcut: ShortCut
    shortcut_in_tooltip: bool
    toggle_mode: bool



class ColorRect(Control):


    @staticmethod
    def new() -> ColorRect: ...



    # Methods
    def get_frame_color(self,) -> Color: ...
    def set_frame_color(self,color: Color,) -> None: ...

    # Properties
    color: Color



class Container(Control):


    @staticmethod
    def new() -> Container: ...


    # Constants
    NOTIFICATION_SORT_CHILDREN: int

    # Methods
    def fit_child_in_rect(self,child: Control,rect: Rect2,) -> None: ...
    def queue_sort(self,) -> None: ...




class GraphEdit(Control):


    @staticmethod
    def new() -> GraphEdit: ...



    # Methods
    def add_valid_connection_type(self,from_type: int,to_type: int,) -> None: ...
    def add_valid_left_disconnect_type(self,type_: int,) -> None: ...
    def add_valid_right_disconnect_type(self,type_: int,) -> None: ...
    def clear_connections(self,) -> None: ...
    def connect_node(self,from_: Union[str, GDString],from_port: int,to: Union[str, GDString],to_port: int,) -> Error: ...
    def disconnect_node(self,from_: Union[str, GDString],from_port: int,to: Union[str, GDString],to_port: int,) -> None: ...
    def get_connection_list(self,) -> Array: ...
    def get_scroll_ofs(self,) -> Vector2: ...
    def get_snap(self,) -> int: ...
    def get_zoom(self,) -> float: ...
    def get_zoom_hbox(self,) -> HBoxContainer: ...
    def is_node_connected(self,from_: Union[str, GDString],from_port: int,to: Union[str, GDString],to_port: int,) -> bool: ...
    def is_right_disconnects_enabled(self,) -> bool: ...
    def is_using_snap(self,) -> bool: ...
    def is_valid_connection_type(self,from_type: int,to_type: int,) -> bool: ...
    def remove_valid_connection_type(self,from_type: int,to_type: int,) -> None: ...
    def remove_valid_left_disconnect_type(self,type_: int,) -> None: ...
    def remove_valid_right_disconnect_type(self,type_: int,) -> None: ...
    def set_connection_activity(self,from_: Union[str, GDString],from_port: int,to: Union[str, GDString],to_port: int,amount: float,) -> None: ...
    def set_right_disconnects(self,enable: bool,) -> None: ...
    def set_scroll_ofs(self,ofs: Vector2,) -> None: ...
    def set_selected(self,node: Node,) -> None: ...
    def set_snap(self,pixels: int,) -> None: ...
    def set_use_snap(self,enable: bool,) -> None: ...
    def set_zoom(self,p_zoom: float,) -> None: ...

    # Properties
    right_disconnects: bool
    scroll_offset: Vector2
    snap_distance: int
    use_snap: bool
    zoom: float



class ItemList(Control):


    @staticmethod
    def new() -> ItemList: ...


    # Constants
    ICON_MODE_LEFT: int
    ICON_MODE_TOP: int
    SELECT_MULTI: int
    SELECT_SINGLE: int
    # Enums
    class SelectMode(IntFlag):
        SELECT_SINGLE: int
        SELECT_MULTI: int
    class IconMode(IntFlag):
        ICON_MODE_TOP: int
        ICON_MODE_LEFT: int

    # Methods
    def add_icon_item(self,icon: Texture,selectable: bool=True,) -> None: ...
    def add_item(self,text: Union[str, GDString],icon: Texture=None,selectable: bool=True,) -> None: ...
    def clear(self,) -> None: ...
    def ensure_current_is_visible(self,) -> None: ...
    def get_allow_reselect(self,) -> bool: ...
    def get_allow_rmb_select(self,) -> bool: ...
    def get_fixed_column_width(self,) -> int: ...
    def get_fixed_icon_size(self,) -> Vector2: ...
    def get_icon_mode(self,) -> ItemList.IconMode: ...
    def get_icon_scale(self,) -> float: ...
    def get_item_at_position(self,position: Vector2,exact: bool=False,) -> int: ...
    def get_item_count(self,) -> int: ...
    def get_item_custom_bg_color(self,idx: int,) -> Color: ...
    def get_item_custom_fg_color(self,idx: int,) -> Color: ...
    def get_item_icon(self,idx: int,) -> Texture: ...
    def get_item_icon_modulate(self,idx: int,) -> Color: ...
    def get_item_icon_region(self,idx: int,) -> Rect2: ...
    def get_item_metadata(self,idx: int,) -> object: ...
    def get_item_text(self,idx: int,) -> Union[str, GDString]: ...
    def get_item_tooltip(self,idx: int,) -> Union[str, GDString]: ...
    def get_max_columns(self,) -> int: ...
    def get_max_text_lines(self,) -> int: ...
    def get_select_mode(self,) -> ItemList.SelectMode: ...
    def get_selected_items(self,) -> PoolIntArray: ...
    def get_v_scroll(self,) -> VScrollBar: ...
    def has_auto_height(self,) -> bool: ...
    def is_anything_selected(self,) -> bool: ...
    def is_item_disabled(self,idx: int,) -> bool: ...
    def is_item_icon_transposed(self,idx: int,) -> bool: ...
    def is_item_selectable(self,idx: int,) -> bool: ...
    def is_item_tooltip_enabled(self,idx: int,) -> bool: ...
    def is_same_column_width(self,) -> bool: ...
    def is_selected(self,idx: int,) -> bool: ...
    def move_item(self,from_idx: int,to_idx: int,) -> None: ...
    def remove_item(self,idx: int,) -> None: ...
    def select(self,idx: int,single: bool=True,) -> None: ...
    def set_allow_reselect(self,allow: bool,) -> None: ...
    def set_allow_rmb_select(self,allow: bool,) -> None: ...
    def set_auto_height(self,enable: bool,) -> None: ...
    def set_fixed_column_width(self,width: int,) -> None: ...
    def set_fixed_icon_size(self,size: Vector2,) -> None: ...
    def set_icon_mode(self,mode: int,) -> None: ...
    def set_icon_scale(self,scale: float,) -> None: ...
    def set_item_custom_bg_color(self,idx: int,custom_bg_color: Color,) -> None: ...
    def set_item_custom_fg_color(self,idx: int,custom_fg_color: Color,) -> None: ...
    def set_item_disabled(self,idx: int,disabled: bool,) -> None: ...
    def set_item_icon(self,idx: int,icon: Texture,) -> None: ...
    def set_item_icon_modulate(self,idx: int,modulate: Color,) -> None: ...
    def set_item_icon_region(self,idx: int,rect: Rect2,) -> None: ...
    def set_item_icon_transposed(self,idx: int,transposed: bool,) -> None: ...
    def set_item_metadata(self,idx: int,metadata: object,) -> None: ...
    def set_item_selectable(self,idx: int,selectable: bool,) -> None: ...
    def set_item_text(self,idx: int,text: Union[str, GDString],) -> None: ...
    def set_item_tooltip(self,idx: int,tooltip: Union[str, GDString],) -> None: ...
    def set_item_tooltip_enabled(self,idx: int,enable: bool,) -> None: ...
    def set_max_columns(self,amount: int,) -> None: ...
    def set_max_text_lines(self,lines: int,) -> None: ...
    def set_same_column_width(self,enable: bool,) -> None: ...
    def set_select_mode(self,mode: int,) -> None: ...
    def sort_items_by_text(self,) -> None: ...
    def unselect(self,idx: int,) -> None: ...
    def unselect_all(self,) -> None: ...

    # Properties
    allow_reselect: bool
    allow_rmb_select: bool
    auto_height: bool
    fixed_column_width: int
    fixed_icon_size: Vector2
    icon_mode: int
    icon_scale: float
    items: Array
    max_columns: int
    max_text_lines: int
    same_column_width: bool
    select_mode: int



class Label(Control):


    @staticmethod
    def new() -> Label: ...


    # Constants
    ALIGN_CENTER: int
    ALIGN_FILL: int
    ALIGN_LEFT: int
    ALIGN_RIGHT: int
    VALIGN_BOTTOM: int
    VALIGN_CENTER: int
    VALIGN_FILL: int
    VALIGN_TOP: int
    # Enums
    class Align(IntFlag):
        ALIGN_LEFT: int
        ALIGN_CENTER: int
        ALIGN_RIGHT: int
        ALIGN_FILL: int
    class VAlign(IntFlag):
        VALIGN_TOP: int
        VALIGN_CENTER: int
        VALIGN_BOTTOM: int
        VALIGN_FILL: int

    # Methods
    def get_align(self,) -> Label.Align: ...
    def get_line_count(self,) -> int: ...
    def get_line_height(self,) -> int: ...
    def get_lines_skipped(self,) -> int: ...
    def get_max_lines_visible(self,) -> int: ...
    def get_percent_visible(self,) -> float: ...
    def get_text(self,) -> Union[str, GDString]: ...
    def get_total_character_count(self,) -> int: ...
    def get_valign(self,) -> Label.VAlign: ...
    def get_visible_characters(self,) -> int: ...
    def get_visible_line_count(self,) -> int: ...
    def has_autowrap(self,) -> bool: ...
    def is_clipping_text(self,) -> bool: ...
    def is_uppercase(self,) -> bool: ...
    def set_align(self,align: int,) -> None: ...
    def set_autowrap(self,enable: bool,) -> None: ...
    def set_clip_text(self,enable: bool,) -> None: ...
    def set_lines_skipped(self,lines_skipped: int,) -> None: ...
    def set_max_lines_visible(self,lines_visible: int,) -> None: ...
    def set_percent_visible(self,percent_visible: float,) -> None: ...
    def set_text(self,text: Union[str, GDString],) -> None: ...
    def set_uppercase(self,enable: bool,) -> None: ...
    def set_valign(self,valign: int,) -> None: ...
    def set_visible_characters(self,amount: int,) -> None: ...

    # Properties
    align: int
    autowrap: bool
    clip_text: bool
    lines_skipped: int
    max_lines_visible: int
    percent_visible: float
    text: Union[str, GDString]
    uppercase: bool
    valign: int
    visible_characters: int



class LineEdit(Control):


    @staticmethod
    def new() -> LineEdit: ...


    # Constants
    ALIGN_CENTER: int
    ALIGN_FILL: int
    ALIGN_LEFT: int
    ALIGN_RIGHT: int
    MENU_CLEAR: int
    MENU_COPY: int
    MENU_CUT: int
    MENU_MAX: int
    MENU_PASTE: int
    MENU_REDO: int
    MENU_SELECT_ALL: int
    MENU_UNDO: int
    # Enums
    class Align(IntFlag):
        ALIGN_LEFT: int
        ALIGN_CENTER: int
        ALIGN_RIGHT: int
        ALIGN_FILL: int
    class MenuItems(IntFlag):
        MENU_CUT: int
        MENU_COPY: int
        MENU_PASTE: int
        MENU_CLEAR: int
        MENU_SELECT_ALL: int
        MENU_UNDO: int
        MENU_REDO: int
        MENU_MAX: int

    # Methods
    def append_at_cursor(self,text: Union[str, GDString],) -> None: ...
    def clear(self,) -> None: ...
    def cursor_get_blink_enabled(self,) -> bool: ...
    def cursor_get_blink_speed(self,) -> float: ...
    def cursor_set_blink_enabled(self,enabled: bool,) -> None: ...
    def cursor_set_blink_speed(self,blink_speed: float,) -> None: ...
    def deselect(self,) -> None: ...
    def get_align(self,) -> LineEdit.Align: ...
    def get_cursor_position(self,) -> int: ...
    def get_expand_to_text_length(self,) -> bool: ...
    def get_max_length(self,) -> int: ...
    def get_menu(self,) -> PopupMenu: ...
    def get_placeholder(self,) -> Union[str, GDString]: ...
    def get_placeholder_alpha(self,) -> float: ...
    def get_right_icon(self,) -> Texture: ...
    def get_secret_character(self,) -> Union[str, GDString]: ...
    def get_text(self,) -> Union[str, GDString]: ...
    def is_clear_button_enabled(self,) -> bool: ...
    def is_context_menu_enabled(self,) -> bool: ...
    def is_editable(self,) -> bool: ...
    def is_secret(self,) -> bool: ...
    def is_selecting_enabled(self,) -> bool: ...
    def is_shortcut_keys_enabled(self,) -> bool: ...
    def menu_option(self,option: int,) -> None: ...
    def select(self,from_: int=0,to: int=-1,) -> None: ...
    def select_all(self,) -> None: ...
    def set_align(self,align: int,) -> None: ...
    def set_clear_button_enabled(self,enable: bool,) -> None: ...
    def set_context_menu_enabled(self,enable: bool,) -> None: ...
    def set_cursor_position(self,position: int,) -> None: ...
    def set_editable(self,enabled: bool,) -> None: ...
    def set_expand_to_text_length(self,enabled: bool,) -> None: ...
    def set_max_length(self,chars: int,) -> None: ...
    def set_placeholder(self,text: Union[str, GDString],) -> None: ...
    def set_placeholder_alpha(self,alpha: float,) -> None: ...
    def set_right_icon(self,icon: Texture,) -> None: ...
    def set_secret(self,enabled: bool,) -> None: ...
    def set_secret_character(self,character: Union[str, GDString],) -> None: ...
    def set_selecting_enabled(self,enable: bool,) -> None: ...
    def set_shortcut_keys_enabled(self,enable: bool,) -> None: ...
    def set_text(self,text: Union[str, GDString],) -> None: ...

    # Properties
    align: int
    caret_blink: bool
    caret_blink_speed: float
    caret_position: int
    clear_button_enabled: bool
    context_menu_enabled: bool
    editable: bool
    expand_to_text_length: bool
    max_length: int
    placeholder_alpha: float
    placeholder_text: Union[str, GDString]
    right_icon: Texture
    secret: bool
    secret_character: Union[str, GDString]
    selecting_enabled: bool
    shortcut_keys_enabled: bool
    text: Union[str, GDString]



class NinePatchRect(Control):


    @staticmethod
    def new() -> NinePatchRect: ...


    # Constants
    AXIS_STRETCH_MODE_STRETCH: int
    AXIS_STRETCH_MODE_TILE: int
    AXIS_STRETCH_MODE_TILE_FIT: int
    # Enums
    class AxisStretchMode(IntFlag):
        AXIS_STRETCH_MODE_STRETCH: int
        AXIS_STRETCH_MODE_TILE: int
        AXIS_STRETCH_MODE_TILE_FIT: int

    # Methods
    def get_h_axis_stretch_mode(self,) -> NinePatchRect.AxisStretchMode: ...
    def get_patch_margin(self,margin: int,) -> int: ...
    def get_region_rect(self,) -> Rect2: ...
    def get_texture(self,) -> Texture: ...
    def get_v_axis_stretch_mode(self,) -> NinePatchRect.AxisStretchMode: ...
    def is_draw_center_enabled(self,) -> bool: ...
    def set_draw_center(self,draw_center: bool,) -> None: ...
    def set_h_axis_stretch_mode(self,mode: int,) -> None: ...
    def set_patch_margin(self,margin: int,value: int,) -> None: ...
    def set_region_rect(self,rect: Rect2,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...
    def set_v_axis_stretch_mode(self,mode: int,) -> None: ...

    # Properties
    axis_stretch_horizontal: int
    axis_stretch_vertical: int
    draw_center: bool
    patch_margin_bottom: int
    patch_margin_left: int
    patch_margin_right: int
    patch_margin_top: int
    region_rect: Rect2
    texture: Texture



class Panel(Control):


    @staticmethod
    def new() -> Panel: ...





    pass


class Popup(Control):


    @staticmethod
    def new() -> Popup: ...


    # Constants
    NOTIFICATION_POPUP_HIDE: int
    NOTIFICATION_POST_POPUP: int

    # Methods
    def is_exclusive(self,) -> bool: ...
    def popup(self,bounds: Rect2=Rect2(0, 0, 0, 0),) -> None: ...
    def popup_centered(self,size: Vector2=Vector2(0, 0),) -> None: ...
    def popup_centered_clamped(self,size: Vector2=Vector2(0, 0),fallback_ratio: float=0.75,) -> None: ...
    def popup_centered_minsize(self,minsize: Vector2=Vector2(0, 0),) -> None: ...
    def popup_centered_ratio(self,ratio: float=0.75,) -> None: ...
    def set_as_minsize(self,) -> None: ...
    def set_exclusive(self,enable: bool,) -> None: ...

    # Properties
    popup_exclusive: bool



class Range(Control):


    # Methods
    def get_as_ratio(self,) -> float: ...
    def get_max(self,) -> float: ...
    def get_min(self,) -> float: ...
    def get_page(self,) -> float: ...
    def get_step(self,) -> float: ...
    def get_value(self,) -> float: ...
    def is_greater_allowed(self,) -> bool: ...
    def is_lesser_allowed(self,) -> bool: ...
    def is_ratio_exp(self,) -> bool: ...
    def is_using_rounded_values(self,) -> bool: ...
    def set_allow_greater(self,allow: bool,) -> None: ...
    def set_allow_lesser(self,allow: bool,) -> None: ...
    def set_as_ratio(self,value: float,) -> None: ...
    def set_exp_ratio(self,enabled: bool,) -> None: ...
    def set_max(self,maximum: float,) -> None: ...
    def set_min(self,minimum: float,) -> None: ...
    def set_page(self,pagesize: float,) -> None: ...
    def set_step(self,step: float,) -> None: ...
    def set_use_rounded_values(self,enabled: bool,) -> None: ...
    def set_value(self,value: float,) -> None: ...
    def share(self,with_: Node,) -> None: ...
    def unshare(self,) -> None: ...

    # Properties
    allow_greater: bool
    allow_lesser: bool
    exp_edit: bool
    max_value: float
    min_value: float
    page: float
    ratio: float
    rounded: bool
    step: float
    value: float



class ReferenceRect(Control):


    @staticmethod
    def new() -> ReferenceRect: ...



    # Methods
    def get_border_color(self,) -> Color: ...
    def get_editor_only(self,) -> bool: ...
    def set_border_color(self,color: Color,) -> None: ...
    def set_editor_only(self,enabled: bool,) -> None: ...

    # Properties
    border_color: Color
    editor_only: bool



class RichTextLabel(Control):


    @staticmethod
    def new() -> RichTextLabel: ...


    # Constants
    ALIGN_CENTER: int
    ALIGN_FILL: int
    ALIGN_LEFT: int
    ALIGN_RIGHT: int
    ITEM_ALIGN: int
    ITEM_COLOR: int
    ITEM_CUSTOMFX: int
    ITEM_FADE: int
    ITEM_FONT: int
    ITEM_FRAME: int
    ITEM_IMAGE: int
    ITEM_INDENT: int
    ITEM_LIST: int
    ITEM_META: int
    ITEM_NEWLINE: int
    ITEM_RAINBOW: int
    ITEM_SHAKE: int
    ITEM_STRIKETHROUGH: int
    ITEM_TABLE: int
    ITEM_TEXT: int
    ITEM_TORNADO: int
    ITEM_UNDERLINE: int
    ITEM_WAVE: int
    LIST_DOTS: int
    LIST_LETTERS: int
    LIST_NUMBERS: int
    # Enums
    class Align(IntFlag):
        ALIGN_LEFT: int
        ALIGN_CENTER: int
        ALIGN_RIGHT: int
        ALIGN_FILL: int
    class ListType(IntFlag):
        LIST_NUMBERS: int
        LIST_LETTERS: int
        LIST_DOTS: int
    class ItemType(IntFlag):
        ITEM_FRAME: int
        ITEM_TEXT: int
        ITEM_IMAGE: int
        ITEM_NEWLINE: int
        ITEM_FONT: int
        ITEM_COLOR: int
        ITEM_UNDERLINE: int
        ITEM_STRIKETHROUGH: int
        ITEM_ALIGN: int
        ITEM_INDENT: int
        ITEM_LIST: int
        ITEM_TABLE: int
        ITEM_FADE: int
        ITEM_SHAKE: int
        ITEM_WAVE: int
        ITEM_TORNADO: int
        ITEM_RAINBOW: int
        ITEM_META: int
        ITEM_CUSTOMFX: int

    # Methods
    def add_image(self,image: Texture,width: int=0,height: int=0,) -> None: ...
    def add_text(self,text: Union[str, GDString],) -> None: ...
    def append_bbcode(self,bbcode: Union[str, GDString],) -> Error: ...
    def clear(self,) -> None: ...
    def get_bbcode(self,) -> Union[str, GDString]: ...
    def get_content_height(self,) -> int: ...
    def get_effects(self,) -> Array: ...
    def get_line_count(self,) -> int: ...
    def get_percent_visible(self,) -> float: ...
    def get_tab_size(self,) -> int: ...
    def get_text(self,) -> Union[str, GDString]: ...
    def get_total_character_count(self,) -> int: ...
    def get_v_scroll(self,) -> VScrollBar: ...
    def get_visible_characters(self,) -> int: ...
    def get_visible_line_count(self,) -> int: ...
    def install_effect(self,effect: object,) -> None: ...
    def is_meta_underlined(self,) -> bool: ...
    def is_overriding_selected_font_color(self,) -> bool: ...
    def is_scroll_active(self,) -> bool: ...
    def is_scroll_following(self,) -> bool: ...
    def is_selection_enabled(self,) -> bool: ...
    def is_using_bbcode(self,) -> bool: ...
    def newline(self,) -> None: ...
    def parse_bbcode(self,bbcode: Union[str, GDString],) -> Error: ...
    def parse_expressions_for_values(self,expressions: PoolStringArray,) -> Dictionary: ...
    def pop(self,) -> None: ...
    def push_align(self,align: int,) -> None: ...
    def push_bold(self,) -> None: ...
    def push_bold_italics(self,) -> None: ...
    def push_cell(self,) -> None: ...
    def push_color(self,color: Color,) -> None: ...
    def push_font(self,font: Font,) -> None: ...
    def push_indent(self,level: int,) -> None: ...
    def push_italics(self,) -> None: ...
    def push_list(self,type_: int,) -> None: ...
    def push_meta(self,data: object,) -> None: ...
    def push_mono(self,) -> None: ...
    def push_normal(self,) -> None: ...
    def push_strikethrough(self,) -> None: ...
    def push_table(self,columns: int,) -> None: ...
    def push_underline(self,) -> None: ...
    def remove_line(self,line: int,) -> bool: ...
    def scroll_to_line(self,line: int,) -> None: ...
    def set_bbcode(self,text: Union[str, GDString],) -> None: ...
    def set_effects(self,effects: Array,) -> None: ...
    def set_meta_underline(self,enable: bool,) -> None: ...
    def set_override_selected_font_color(self,override: bool,) -> None: ...
    def set_percent_visible(self,percent_visible: float,) -> None: ...
    def set_scroll_active(self,active: bool,) -> None: ...
    def set_scroll_follow(self,follow: bool,) -> None: ...
    def set_selection_enabled(self,enabled: bool,) -> None: ...
    def set_tab_size(self,spaces: int,) -> None: ...
    def set_table_column_expand(self,column: int,expand: bool,ratio: int,) -> None: ...
    def set_text(self,text: Union[str, GDString],) -> None: ...
    def set_use_bbcode(self,enable: bool,) -> None: ...
    def set_visible_characters(self,amount: int,) -> None: ...

    # Properties
    bbcode_enabled: bool
    bbcode_text: Union[str, GDString]
    custom_effects: Array
    meta_underlined: bool
    override_selected_font_color: bool
    percent_visible: float
    scroll_active: bool
    scroll_following: bool
    selection_enabled: bool
    tab_size: int
    text: Union[str, GDString]
    visible_characters: int



class Separator(Control):




    pass


class Tabs(Control):


    @staticmethod
    def new() -> Tabs: ...


    # Constants
    ALIGN_CENTER: int
    ALIGN_LEFT: int
    ALIGN_MAX: int
    ALIGN_RIGHT: int
    CLOSE_BUTTON_MAX: int
    CLOSE_BUTTON_SHOW_ACTIVE_ONLY: int
    CLOSE_BUTTON_SHOW_ALWAYS: int
    CLOSE_BUTTON_SHOW_NEVER: int
    # Enums
    class CloseButtonDisplayPolicy(IntFlag):
        CLOSE_BUTTON_SHOW_NEVER: int
        CLOSE_BUTTON_SHOW_ACTIVE_ONLY: int
        CLOSE_BUTTON_SHOW_ALWAYS: int
        CLOSE_BUTTON_MAX: int
    class TabAlign(IntFlag):
        ALIGN_LEFT: int
        ALIGN_CENTER: int
        ALIGN_RIGHT: int
        ALIGN_MAX: int

    # Methods
    def add_tab(self,title: Union[str, GDString]="",icon: Texture=None,) -> None: ...
    def ensure_tab_visible(self,idx: int,) -> None: ...
    def get_current_tab(self,) -> int: ...
    def get_drag_to_rearrange_enabled(self,) -> bool: ...
    def get_offset_buttons_visible(self,) -> bool: ...
    def get_scrolling_enabled(self,) -> bool: ...
    def get_select_with_rmb(self,) -> bool: ...
    def get_tab_align(self,) -> Tabs.TabAlign: ...
    def get_tab_close_display_policy(self,) -> Tabs.CloseButtonDisplayPolicy: ...
    def get_tab_count(self,) -> int: ...
    def get_tab_disabled(self,tab_idx: int,) -> bool: ...
    def get_tab_icon(self,tab_idx: int,) -> Texture: ...
    def get_tab_offset(self,) -> int: ...
    def get_tab_rect(self,tab_idx: int,) -> Rect2: ...
    def get_tab_title(self,tab_idx: int,) -> Union[str, GDString]: ...
    def get_tabs_rearrange_group(self,) -> int: ...
    def move_tab(self,from_: int,to: int,) -> None: ...
    def remove_tab(self,tab_idx: int,) -> None: ...
    def set_current_tab(self,tab_idx: int,) -> None: ...
    def set_drag_to_rearrange_enabled(self,enabled: bool,) -> None: ...
    def set_scrolling_enabled(self,enabled: bool,) -> None: ...
    def set_select_with_rmb(self,enabled: bool,) -> None: ...
    def set_tab_align(self,align: int,) -> None: ...
    def set_tab_close_display_policy(self,policy: int,) -> None: ...
    def set_tab_disabled(self,tab_idx: int,disabled: bool,) -> None: ...
    def set_tab_icon(self,tab_idx: int,icon: Texture,) -> None: ...
    def set_tab_title(self,tab_idx: int,title: Union[str, GDString],) -> None: ...
    def set_tabs_rearrange_group(self,group_id: int,) -> None: ...

    # Properties
    current_tab: int
    drag_to_rearrange_enabled: bool
    scrolling_enabled: bool
    tab_align: int
    tab_close_display_policy: int



class TextEdit(Control):


    @staticmethod
    def new() -> TextEdit: ...


    # Constants
    MENU_CLEAR: int
    MENU_COPY: int
    MENU_CUT: int
    MENU_MAX: int
    MENU_PASTE: int
    MENU_REDO: int
    MENU_SELECT_ALL: int
    MENU_UNDO: int
    SEARCH_BACKWARDS: int
    SEARCH_MATCH_CASE: int
    SEARCH_RESULT_COLUMN: int
    SEARCH_RESULT_LINE: int
    SEARCH_WHOLE_WORDS: int
    # Enums
    class SearchFlags(IntFlag):
        SEARCH_MATCH_CASE: int
        SEARCH_WHOLE_WORDS: int
        SEARCH_BACKWARDS: int
    class SearchResult(IntFlag):
        SEARCH_RESULT_COLUMN: int
        SEARCH_RESULT_LINE: int
    class MenuItems(IntFlag):
        MENU_CUT: int
        MENU_COPY: int
        MENU_PASTE: int
        MENU_CLEAR: int
        MENU_SELECT_ALL: int
        MENU_UNDO: int
        MENU_REDO: int
        MENU_MAX: int

    # Methods
    def add_color_region(self,begin_key: Union[str, GDString],end_key: Union[str, GDString],color: Color,line_only: bool=False,) -> None: ...
    def add_keyword_color(self,keyword: Union[str, GDString],color: Color,) -> None: ...
    def can_fold(self,line: int,) -> bool: ...
    def center_viewport_to_cursor(self,) -> None: ...
    def clear_colors(self,) -> None: ...
    def clear_undo_history(self,) -> None: ...
    def copy(self,) -> None: ...
    def cursor_get_blink_enabled(self,) -> bool: ...
    def cursor_get_blink_speed(self,) -> float: ...
    def cursor_get_column(self,) -> int: ...
    def cursor_get_line(self,) -> int: ...
    def cursor_is_block_mode(self,) -> bool: ...
    def cursor_set_blink_enabled(self,enable: bool,) -> None: ...
    def cursor_set_blink_speed(self,blink_speed: float,) -> None: ...
    def cursor_set_block_mode(self,enable: bool,) -> None: ...
    def cursor_set_column(self,column: int,adjust_viewport: bool=True,) -> None: ...
    def cursor_set_line(self,line: int,adjust_viewport: bool=True,can_be_hidden: bool=True,wrap_index: int=0,) -> None: ...
    def cut(self,) -> None: ...
    def deselect(self,) -> None: ...
    def draw_minimap(self,draw: bool,) -> None: ...
    def fold_all_lines(self,) -> None: ...
    def fold_line(self,line: int,) -> None: ...
    def get_breakpoints(self,) -> Array: ...
    def get_h_scroll(self,) -> int: ...
    def get_keyword_color(self,keyword: Union[str, GDString],) -> Color: ...
    def get_line(self,line: int,) -> Union[str, GDString]: ...
    def get_line_count(self,) -> int: ...
    def get_menu(self,) -> PopupMenu: ...
    def get_minimap_width(self,) -> int: ...
    def get_selection_from_column(self,) -> int: ...
    def get_selection_from_line(self,) -> int: ...
    def get_selection_text(self,) -> Union[str, GDString]: ...
    def get_selection_to_column(self,) -> int: ...
    def get_selection_to_line(self,) -> int: ...
    def get_text(self,) -> Union[str, GDString]: ...
    def get_v_scroll(self,) -> float: ...
    def get_v_scroll_speed(self,) -> float: ...
    def get_word_under_cursor(self,) -> Union[str, GDString]: ...
    def has_keyword_color(self,keyword: Union[str, GDString],) -> bool: ...
    def insert_text_at_cursor(self,text: Union[str, GDString],) -> None: ...
    def is_breakpoint_gutter_enabled(self,) -> bool: ...
    def is_context_menu_enabled(self,) -> bool: ...
    def is_drawing_fold_gutter(self,) -> bool: ...
    def is_drawing_minimap(self,) -> bool: ...
    def is_drawing_spaces(self,) -> bool: ...
    def is_drawing_tabs(self,) -> bool: ...
    def is_folded(self,line: int,) -> bool: ...
    def is_hiding_enabled(self,) -> bool: ...
    def is_highlight_all_occurrences_enabled(self,) -> bool: ...
    def is_highlight_current_line_enabled(self,) -> bool: ...
    def is_line_hidden(self,line: int,) -> bool: ...
    def is_overriding_selected_font_color(self,) -> bool: ...
    def is_readonly(self,) -> bool: ...
    def is_right_click_moving_caret(self,) -> bool: ...
    def is_selecting_enabled(self,) -> bool: ...
    def is_selection_active(self,) -> bool: ...
    def is_shortcut_keys_enabled(self,) -> bool: ...
    def is_show_line_numbers_enabled(self,) -> bool: ...
    def is_smooth_scroll_enabled(self,) -> bool: ...
    def is_syntax_coloring_enabled(self,) -> bool: ...
    def is_wrap_enabled(self,) -> bool: ...
    def menu_option(self,option: int,) -> None: ...
    def paste(self,) -> None: ...
    def redo(self,) -> None: ...
    def remove_breakpoints(self,) -> None: ...
    def search(self,key: Union[str, GDString],flags: int,from_line: int,from_column: int,) -> PoolIntArray: ...
    def select(self,from_line: int,from_column: int,to_line: int,to_column: int,) -> None: ...
    def select_all(self,) -> None: ...
    def set_breakpoint_gutter_enabled(self,enable: bool,) -> None: ...
    def set_context_menu_enabled(self,enable: bool,) -> None: ...
    def set_draw_fold_gutter(self,arg0: bool,) -> None: ...
    def set_draw_spaces(self,arg0: bool,) -> None: ...
    def set_draw_tabs(self,arg0: bool,) -> None: ...
    def set_h_scroll(self,value: int,) -> None: ...
    def set_hiding_enabled(self,enable: bool,) -> None: ...
    def set_highlight_all_occurrences(self,enable: bool,) -> None: ...
    def set_highlight_current_line(self,enabled: bool,) -> None: ...
    def set_line(self,line: int,new_text: Union[str, GDString],) -> None: ...
    def set_line_as_hidden(self,line: int,enable: bool,) -> None: ...
    def set_minimap_width(self,width: int,) -> None: ...
    def set_override_selected_font_color(self,override: bool,) -> None: ...
    def set_readonly(self,enable: bool,) -> None: ...
    def set_right_click_moves_caret(self,enable: bool,) -> None: ...
    def set_selecting_enabled(self,enable: bool,) -> None: ...
    def set_shortcut_keys_enabled(self,enable: bool,) -> None: ...
    def set_show_line_numbers(self,enable: bool,) -> None: ...
    def set_smooth_scroll_enable(self,enable: bool,) -> None: ...
    def set_syntax_coloring(self,enable: bool,) -> None: ...
    def set_text(self,text: Union[str, GDString],) -> None: ...
    def set_v_scroll(self,value: float,) -> None: ...
    def set_v_scroll_speed(self,speed: float,) -> None: ...
    def set_wrap_enabled(self,enable: bool,) -> None: ...
    def toggle_fold_line(self,line: int,) -> None: ...
    def undo(self,) -> None: ...
    def unfold_line(self,line: int,) -> None: ...
    def unhide_all_lines(self,) -> None: ...

    # Properties
    breakpoint_gutter: bool
    caret_blink: bool
    caret_blink_speed: float
    caret_block_mode: bool
    caret_moving_by_right_click: bool
    context_menu_enabled: bool
    draw_spaces: bool
    draw_tabs: bool
    fold_gutter: bool
    hiding_enabled: bool
    highlight_all_occurrences: bool
    highlight_current_line: bool
    minimap_draw: bool
    minimap_width: int
    override_selected_font_color: bool
    readonly: bool
    scroll_horizontal: int
    scroll_vertical: float
    selecting_enabled: bool
    shortcut_keys_enabled: bool
    show_line_numbers: bool
    smooth_scrolling: bool
    syntax_highlighting: bool
    text: Union[str, GDString]
    v_scroll_speed: float
    wrap_enabled: bool



class TextureRect(Control):


    @staticmethod
    def new() -> TextureRect: ...


    # Constants
    STRETCH_KEEP: int
    STRETCH_KEEP_ASPECT: int
    STRETCH_KEEP_ASPECT_CENTERED: int
    STRETCH_KEEP_ASPECT_COVERED: int
    STRETCH_KEEP_CENTERED: int
    STRETCH_SCALE: int
    STRETCH_SCALE_ON_EXPAND: int
    STRETCH_TILE: int
    # Enums
    class StretchMode(IntFlag):
        STRETCH_SCALE_ON_EXPAND: int
        STRETCH_SCALE: int
        STRETCH_TILE: int
        STRETCH_KEEP: int
        STRETCH_KEEP_CENTERED: int
        STRETCH_KEEP_ASPECT: int
        STRETCH_KEEP_ASPECT_CENTERED: int
        STRETCH_KEEP_ASPECT_COVERED: int

    # Methods
    def get_stretch_mode(self,) -> TextureRect.StretchMode: ...
    def get_texture(self,) -> Texture: ...
    def has_expand(self,) -> bool: ...
    def is_flipped_h(self,) -> bool: ...
    def is_flipped_v(self,) -> bool: ...
    def set_expand(self,enable: bool,) -> None: ...
    def set_flip_h(self,enable: bool,) -> None: ...
    def set_flip_v(self,enable: bool,) -> None: ...
    def set_stretch_mode(self,stretch_mode: int,) -> None: ...
    def set_texture(self,texture: Texture,) -> None: ...

    # Properties
    expand: bool
    flip_h: bool
    flip_v: bool
    stretch_mode: int
    texture: Texture



class Tree(Control):


    @staticmethod
    def new() -> Tree: ...


    # Constants
    DROP_MODE_DISABLED: int
    DROP_MODE_INBETWEEN: int
    DROP_MODE_ON_ITEM: int
    SELECT_MULTI: int
    SELECT_ROW: int
    SELECT_SINGLE: int
    # Enums
    class SelectMode(IntFlag):
        SELECT_SINGLE: int
        SELECT_ROW: int
        SELECT_MULTI: int
    class DropModeFlags(IntFlag):
        DROP_MODE_DISABLED: int
        DROP_MODE_ON_ITEM: int
        DROP_MODE_INBETWEEN: int

    # Methods
    def are_column_titles_visible(self,) -> bool: ...
    def clear(self,) -> None: ...
    def create_item(self,parent: Object=None,idx: int=-1,) -> TreeItem: ...
    def ensure_cursor_is_visible(self,) -> None: ...
    def get_allow_reselect(self,) -> bool: ...
    def get_allow_rmb_select(self,) -> bool: ...
    def get_column_at_position(self,position: Vector2,) -> int: ...
    def get_column_title(self,column: int,) -> Union[str, GDString]: ...
    def get_column_width(self,column: int,) -> int: ...
    def get_columns(self,) -> int: ...
    def get_custom_popup_rect(self,) -> Rect2: ...
    def get_drop_mode_flags(self,) -> int: ...
    def get_drop_section_at_position(self,position: Vector2,) -> int: ...
    def get_edited(self,) -> TreeItem: ...
    def get_edited_column(self,) -> int: ...
    def get_item_area_rect(self,item: Object,column: int=-1,) -> Rect2: ...
    def get_item_at_position(self,position: Vector2,) -> TreeItem: ...
    def get_next_selected(self,from_: Object,) -> TreeItem: ...
    def get_pressed_button(self,) -> int: ...
    def get_root(self,) -> TreeItem: ...
    def get_scroll(self,) -> Vector2: ...
    def get_select_mode(self,) -> Tree.SelectMode: ...
    def get_selected(self,) -> TreeItem: ...
    def get_selected_column(self,) -> int: ...
    def is_folding_hidden(self,) -> bool: ...
    def is_root_hidden(self,) -> bool: ...
    def set_allow_reselect(self,allow: bool,) -> None: ...
    def set_allow_rmb_select(self,allow: bool,) -> None: ...
    def set_column_expand(self,column: int,expand: bool,) -> None: ...
    def set_column_min_width(self,column: int,min_width: int,) -> None: ...
    def set_column_title(self,column: int,title: Union[str, GDString],) -> None: ...
    def set_column_titles_visible(self,visible: bool,) -> None: ...
    def set_columns(self,amount: int,) -> None: ...
    def set_drop_mode_flags(self,flags: int,) -> None: ...
    def set_hide_folding(self,hide: bool,) -> None: ...
    def set_hide_root(self,enable: bool,) -> None: ...
    def set_select_mode(self,mode: int,) -> None: ...

    # Properties
    allow_reselect: bool
    allow_rmb_select: bool
    columns: int
    drop_mode_flags: int
    hide_folding: bool
    hide_root: bool
    select_mode: int



class VideoPlayer(Control):


    @staticmethod
    def new() -> VideoPlayer: ...



    # Methods
    def get_audio_track(self,) -> int: ...
    def get_buffering_msec(self,) -> int: ...
    def get_bus(self,) -> Union[str, GDString]: ...
    def get_stream(self,) -> VideoStream: ...
    def get_stream_name(self,) -> Union[str, GDString]: ...
    def get_stream_position(self,) -> float: ...
    def get_video_texture(self,) -> Texture: ...
    def get_volume(self,) -> float: ...
    def get_volume_db(self,) -> float: ...
    def has_autoplay(self,) -> bool: ...
    def has_expand(self,) -> bool: ...
    def is_paused(self,) -> bool: ...
    def is_playing(self,) -> bool: ...
    def play(self,) -> None: ...
    def set_audio_track(self,track: int,) -> None: ...
    def set_autoplay(self,enabled: bool,) -> None: ...
    def set_buffering_msec(self,msec: int,) -> None: ...
    def set_bus(self,bus: Union[str, GDString],) -> None: ...
    def set_expand(self,enable: bool,) -> None: ...
    def set_paused(self,paused: bool,) -> None: ...
    def set_stream(self,stream: VideoStream,) -> None: ...
    def set_stream_position(self,position: float,) -> None: ...
    def set_volume(self,volume: float,) -> None: ...
    def set_volume_db(self,db: float,) -> None: ...
    def stop(self,) -> None: ...

    # Properties
    audio_track: int
    autoplay: bool
    buffering_msec: int
    bus: Union[str, GDString]
    expand: bool
    paused: bool
    stream: VideoStream
    stream_position: float
    volume: float
    volume_db: float



class HSeparator(Separator):


    @staticmethod
    def new() -> HSeparator: ...





    pass


class VSeparator(Separator):


    @staticmethod
    def new() -> VSeparator: ...





    pass


class EditorSpinSlider(Range):


    # Methods
    def get_label(self,) -> Union[str, GDString]: ...
    def is_flat(self,) -> bool: ...
    def is_read_only(self,) -> bool: ...
    def set_flat(self,flat: bool,) -> None: ...
    def set_label(self,label: Union[str, GDString],) -> None: ...
    def set_read_only(self,read_only: bool,) -> None: ...

    # Properties
    flat: bool
    label: Union[str, GDString]
    read_only: bool



class ProgressBar(Range):


    @staticmethod
    def new() -> ProgressBar: ...



    # Methods
    def is_percent_visible(self,) -> bool: ...
    def set_percent_visible(self,visible: bool,) -> None: ...

    # Properties
    percent_visible: bool



class ScrollBar(Range):


    # Methods
    def get_custom_step(self,) -> float: ...
    def set_custom_step(self,step: float,) -> None: ...

    # Properties
    custom_step: float



class Slider(Range):


    # Methods
    def get_ticks(self,) -> int: ...
    def get_ticks_on_borders(self,) -> bool: ...
    def is_editable(self,) -> bool: ...
    def is_scrollable(self,) -> bool: ...
    def set_editable(self,editable: bool,) -> None: ...
    def set_scrollable(self,scrollable: bool,) -> None: ...
    def set_ticks(self,count: int,) -> None: ...
    def set_ticks_on_borders(self,ticks_on_border: bool,) -> None: ...

    # Properties
    editable: bool
    scrollable: bool
    tick_count: int
    ticks_on_borders: bool



class SpinBox(Range):


    @staticmethod
    def new() -> SpinBox: ...



    # Methods
    def apply(self,) -> None: ...
    def get_align(self,) -> LineEdit.Align: ...
    def get_line_edit(self,) -> LineEdit: ...
    def get_prefix(self,) -> Union[str, GDString]: ...
    def get_suffix(self,) -> Union[str, GDString]: ...
    def is_editable(self,) -> bool: ...
    def set_align(self,align: int,) -> None: ...
    def set_editable(self,editable: bool,) -> None: ...
    def set_prefix(self,prefix: Union[str, GDString],) -> None: ...
    def set_suffix(self,suffix: Union[str, GDString],) -> None: ...

    # Properties
    align: int
    editable: bool
    prefix: Union[str, GDString]
    suffix: Union[str, GDString]



class TextureProgress(Range):


    @staticmethod
    def new() -> TextureProgress: ...


    # Constants
    FILL_BILINEAR_LEFT_AND_RIGHT: int
    FILL_BILINEAR_TOP_AND_BOTTOM: int
    FILL_BOTTOM_TO_TOP: int
    FILL_CLOCKWISE: int
    FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE: int
    FILL_COUNTER_CLOCKWISE: int
    FILL_LEFT_TO_RIGHT: int
    FILL_RIGHT_TO_LEFT: int
    FILL_TOP_TO_BOTTOM: int
    # Enums
    class FillMode(IntFlag):
        FILL_LEFT_TO_RIGHT: int
        FILL_RIGHT_TO_LEFT: int
        FILL_TOP_TO_BOTTOM: int
        FILL_BOTTOM_TO_TOP: int
        FILL_CLOCKWISE: int
        FILL_COUNTER_CLOCKWISE: int
        FILL_BILINEAR_LEFT_AND_RIGHT: int
        FILL_BILINEAR_TOP_AND_BOTTOM: int
        FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE: int

    # Methods
    def get_fill_degrees(self,) -> float: ...
    def get_fill_mode(self,) -> int: ...
    def get_nine_patch_stretch(self,) -> bool: ...
    def get_over_texture(self,) -> Texture: ...
    def get_progress_texture(self,) -> Texture: ...
    def get_radial_center_offset(self,) -> Vector2: ...
    def get_radial_initial_angle(self,) -> float: ...
    def get_stretch_margin(self,margin: int,) -> int: ...
    def get_tint_over(self,) -> Color: ...
    def get_tint_progress(self,) -> Color: ...
    def get_tint_under(self,) -> Color: ...
    def get_under_texture(self,) -> Texture: ...
    def set_fill_degrees(self,mode: float,) -> None: ...
    def set_fill_mode(self,mode: int,) -> None: ...
    def set_nine_patch_stretch(self,stretch: bool,) -> None: ...
    def set_over_texture(self,tex: Texture,) -> None: ...
    def set_progress_texture(self,tex: Texture,) -> None: ...
    def set_radial_center_offset(self,mode: Vector2,) -> None: ...
    def set_radial_initial_angle(self,mode: float,) -> None: ...
    def set_stretch_margin(self,margin: int,value: int,) -> None: ...
    def set_tint_over(self,tint: Color,) -> None: ...
    def set_tint_progress(self,tint: Color,) -> None: ...
    def set_tint_under(self,tint: Color,) -> None: ...
    def set_under_texture(self,tex: Texture,) -> None: ...

    # Properties
    fill_mode: int
    nine_patch_stretch: bool
    radial_center_offset: Vector2
    radial_fill_degrees: float
    radial_initial_angle: float
    stretch_margin_bottom: int
    stretch_margin_left: int
    stretch_margin_right: int
    stretch_margin_top: int
    texture_over: Texture
    texture_progress: Texture
    texture_under: Texture
    tint_over: Color
    tint_progress: Color
    tint_under: Color



class HSlider(Slider):


    @staticmethod
    def new() -> HSlider: ...





    pass


class VSlider(Slider):


    @staticmethod
    def new() -> VSlider: ...





    pass


class HScrollBar(ScrollBar):


    @staticmethod
    def new() -> HScrollBar: ...





    pass


class VScrollBar(ScrollBar):


    @staticmethod
    def new() -> VScrollBar: ...





    pass


class PopupDialog(Popup):


    @staticmethod
    def new() -> PopupDialog: ...





    pass


class PopupMenu(Popup):


    @staticmethod
    def new() -> PopupMenu: ...



    # Methods
    def add_check_item(self,label: Union[str, GDString],id: int=-1,accel: int=0,) -> None: ...
    def add_check_shortcut(self,shortcut: ShortCut,id: int=-1,global_: bool=False,) -> None: ...
    def add_icon_check_item(self,texture: Texture,label: Union[str, GDString],id: int=-1,accel: int=0,) -> None: ...
    def add_icon_check_shortcut(self,texture: Texture,shortcut: ShortCut,id: int=-1,global_: bool=False,) -> None: ...
    def add_icon_item(self,texture: Texture,label: Union[str, GDString],id: int=-1,accel: int=0,) -> None: ...
    def add_icon_radio_check_item(self,texture: Texture,label: Union[str, GDString],id: int=-1,accel: int=0,) -> None: ...
    def add_icon_radio_check_shortcut(self,texture: Texture,shortcut: ShortCut,id: int=-1,global_: bool=False,) -> None: ...
    def add_icon_shortcut(self,texture: Texture,shortcut: ShortCut,id: int=-1,global_: bool=False,) -> None: ...
    def add_item(self,label: Union[str, GDString],id: int=-1,accel: int=0,) -> None: ...
    def add_multistate_item(self,label: Union[str, GDString],max_states: int,default_state: int=0,id: int=-1,accel: int=0,) -> None: ...
    def add_radio_check_item(self,label: Union[str, GDString],id: int=-1,accel: int=0,) -> None: ...
    def add_radio_check_shortcut(self,shortcut: ShortCut,id: int=-1,global_: bool=False,) -> None: ...
    def add_separator(self,label: Union[str, GDString]="",) -> None: ...
    def add_shortcut(self,shortcut: ShortCut,id: int=-1,global_: bool=False,) -> None: ...
    def add_submenu_item(self,label: Union[str, GDString],submenu: Union[str, GDString],id: int=-1,) -> None: ...
    def clear(self,) -> None: ...
    def get_allow_search(self,) -> bool: ...
    def get_current_index(self,) -> int: ...
    def get_item_accelerator(self,idx: int,) -> int: ...
    def get_item_count(self,) -> int: ...
    def get_item_icon(self,idx: int,) -> Texture: ...
    def get_item_id(self,idx: int,) -> int: ...
    def get_item_index(self,id: int,) -> int: ...
    def get_item_metadata(self,idx: int,) -> object: ...
    def get_item_shortcut(self,idx: int,) -> ShortCut: ...
    def get_item_submenu(self,idx: int,) -> Union[str, GDString]: ...
    def get_item_text(self,idx: int,) -> Union[str, GDString]: ...
    def get_item_tooltip(self,idx: int,) -> Union[str, GDString]: ...
    def get_submenu_popup_delay(self,) -> float: ...
    def is_hide_on_checkable_item_selection(self,) -> bool: ...
    def is_hide_on_item_selection(self,) -> bool: ...
    def is_hide_on_state_item_selection(self,) -> bool: ...
    def is_hide_on_window_lose_focus(self,) -> bool: ...
    def is_item_checkable(self,idx: int,) -> bool: ...
    def is_item_checked(self,idx: int,) -> bool: ...
    def is_item_disabled(self,idx: int,) -> bool: ...
    def is_item_radio_checkable(self,idx: int,) -> bool: ...
    def is_item_separator(self,idx: int,) -> bool: ...
    def is_item_shortcut_disabled(self,idx: int,) -> bool: ...
    def remove_item(self,idx: int,) -> None: ...
    def set_allow_search(self,allow: bool,) -> None: ...
    def set_hide_on_checkable_item_selection(self,enable: bool,) -> None: ...
    def set_hide_on_item_selection(self,enable: bool,) -> None: ...
    def set_hide_on_state_item_selection(self,enable: bool,) -> None: ...
    def set_hide_on_window_lose_focus(self,enable: bool,) -> None: ...
    def set_item_accelerator(self,idx: int,accel: int,) -> None: ...
    def set_item_as_checkable(self,idx: int,enable: bool,) -> None: ...
    def set_item_as_radio_checkable(self,idx: int,enable: bool,) -> None: ...
    def set_item_as_separator(self,idx: int,enable: bool,) -> None: ...
    def set_item_checked(self,idx: int,checked: bool,) -> None: ...
    def set_item_disabled(self,idx: int,disabled: bool,) -> None: ...
    def set_item_icon(self,idx: int,icon: Texture,) -> None: ...
    def set_item_id(self,idx: int,id: int,) -> None: ...
    def set_item_metadata(self,idx: int,metadata: object,) -> None: ...
    def set_item_multistate(self,idx: int,state: int,) -> None: ...
    def set_item_shortcut(self,idx: int,shortcut: ShortCut,global_: bool=False,) -> None: ...
    def set_item_shortcut_disabled(self,idx: int,disabled: bool,) -> None: ...
    def set_item_submenu(self,idx: int,submenu: Union[str, GDString],) -> None: ...
    def set_item_text(self,idx: int,text: Union[str, GDString],) -> None: ...
    def set_item_tooltip(self,idx: int,tooltip: Union[str, GDString],) -> None: ...
    def set_submenu_popup_delay(self,seconds: float,) -> None: ...
    def toggle_item_checked(self,idx: int,) -> None: ...
    def toggle_item_multistate(self,idx: int,) -> None: ...

    # Properties
    allow_search: bool
    hide_on_checkable_item_selection: bool
    hide_on_item_selection: bool
    hide_on_state_item_selection: bool
    items: Array
    submenu_popup_delay: float



class PopupPanel(Popup):


    @staticmethod
    def new() -> PopupPanel: ...





    pass


class WindowDialog(Popup):


    @staticmethod
    def new() -> WindowDialog: ...



    # Methods
    def get_close_button(self,) -> TextureButton: ...
    def get_resizable(self,) -> bool: ...
    def get_title(self,) -> Union[str, GDString]: ...
    def set_resizable(self,resizable: bool,) -> None: ...
    def set_title(self,title: Union[str, GDString],) -> None: ...

    # Properties
    resizable: bool
    window_title: Union[str, GDString]



class AcceptDialog(WindowDialog):


    @staticmethod
    def new() -> AcceptDialog: ...



    # Methods
    def add_button(self,text: Union[str, GDString],right: bool=False,action: Union[str, GDString]="",) -> Button: ...
    def add_cancel(self,name: Union[str, GDString],) -> Button: ...
    def get_hide_on_ok(self,) -> bool: ...
    def get_label(self,) -> Label: ...
    def get_ok(self,) -> Button: ...
    def get_text(self,) -> Union[str, GDString]: ...
    def has_autowrap(self,) -> bool: ...
    def register_text_enter(self,line_edit: Node,) -> None: ...
    def set_autowrap(self,autowrap: bool,) -> None: ...
    def set_hide_on_ok(self,enabled: bool,) -> None: ...
    def set_text(self,text: Union[str, GDString],) -> None: ...

    # Properties
    dialog_autowrap: bool
    dialog_hide_on_ok: bool
    dialog_text: Union[str, GDString]



class ConfirmationDialog(AcceptDialog):


    @staticmethod
    def new() -> ConfirmationDialog: ...



    # Methods
    def get_cancel(self,) -> Button: ...




class EditorFileDialog(ConfirmationDialog):

    # Constants
    ACCESS_FILESYSTEM: int
    ACCESS_RESOURCES: int
    ACCESS_USERDATA: int
    DISPLAY_LIST: int
    DISPLAY_THUMBNAILS: int
    MODE_OPEN_ANY: int
    MODE_OPEN_DIR: int
    MODE_OPEN_FILE: int
    MODE_OPEN_FILES: int
    MODE_SAVE_FILE: int
    # Enums
    class DisplayMode(IntFlag):
        DISPLAY_THUMBNAILS: int
        DISPLAY_LIST: int
    class Mode(IntFlag):
        MODE_OPEN_FILE: int
        MODE_OPEN_FILES: int
        MODE_OPEN_DIR: int
        MODE_OPEN_ANY: int
        MODE_SAVE_FILE: int
    class Access(IntFlag):
        ACCESS_RESOURCES: int
        ACCESS_USERDATA: int
        ACCESS_FILESYSTEM: int

    # Methods
    def add_filter(self,filter: Union[str, GDString],) -> None: ...
    def clear_filters(self,) -> None: ...
    def get_access(self,) -> EditorFileDialog.Access: ...
    def get_current_dir(self,) -> Union[str, GDString]: ...
    def get_current_file(self,) -> Union[str, GDString]: ...
    def get_current_path(self,) -> Union[str, GDString]: ...
    def get_display_mode(self,) -> EditorFileDialog.DisplayMode: ...
    def get_mode(self,) -> EditorFileDialog.Mode: ...
    def get_vbox(self,) -> VBoxContainer: ...
    def invalidate(self,) -> None: ...
    def is_overwrite_warning_disabled(self,) -> bool: ...
    def is_showing_hidden_files(self,) -> bool: ...
    def set_access(self,access: int,) -> None: ...
    def set_current_dir(self,dir: Union[str, GDString],) -> None: ...
    def set_current_file(self,file: Union[str, GDString],) -> None: ...
    def set_current_path(self,path: Union[str, GDString],) -> None: ...
    def set_disable_overwrite_warning(self,disable: bool,) -> None: ...
    def set_display_mode(self,mode: int,) -> None: ...
    def set_mode(self,mode: int,) -> None: ...
    def set_show_hidden_files(self,show: bool,) -> None: ...

    # Properties
    access: int
    current_dir: Union[str, GDString]
    current_file: Union[str, GDString]
    current_path: Union[str, GDString]
    disable_overwrite_warning: bool
    display_mode: int
    mode: int
    show_hidden_files: bool



class FileDialog(ConfirmationDialog):


    @staticmethod
    def new() -> FileDialog: ...


    # Constants
    ACCESS_FILESYSTEM: int
    ACCESS_RESOURCES: int
    ACCESS_USERDATA: int
    MODE_OPEN_ANY: int
    MODE_OPEN_DIR: int
    MODE_OPEN_FILE: int
    MODE_OPEN_FILES: int
    MODE_SAVE_FILE: int
    # Enums
    class Mode(IntFlag):
        MODE_OPEN_FILE: int
        MODE_OPEN_FILES: int
        MODE_OPEN_DIR: int
        MODE_OPEN_ANY: int
        MODE_SAVE_FILE: int
    class Access(IntFlag):
        ACCESS_RESOURCES: int
        ACCESS_USERDATA: int
        ACCESS_FILESYSTEM: int

    # Methods
    def add_filter(self,filter: Union[str, GDString],) -> None: ...
    def clear_filters(self,) -> None: ...
    def deselect_items(self,) -> None: ...
    def get_access(self,) -> FileDialog.Access: ...
    def get_current_dir(self,) -> Union[str, GDString]: ...
    def get_current_file(self,) -> Union[str, GDString]: ...
    def get_current_path(self,) -> Union[str, GDString]: ...
    def get_filters(self,) -> PoolStringArray: ...
    def get_line_edit(self,) -> LineEdit: ...
    def get_mode(self,) -> FileDialog.Mode: ...
    def get_vbox(self,) -> VBoxContainer: ...
    def invalidate(self,) -> None: ...
    def is_mode_overriding_title(self,) -> bool: ...
    def is_showing_hidden_files(self,) -> bool: ...
    def set_access(self,access: int,) -> None: ...
    def set_current_dir(self,dir: Union[str, GDString],) -> None: ...
    def set_current_file(self,file: Union[str, GDString],) -> None: ...
    def set_current_path(self,path: Union[str, GDString],) -> None: ...
    def set_filters(self,filters: PoolStringArray,) -> None: ...
    def set_mode(self,mode: int,) -> None: ...
    def set_mode_overrides_title(self,override: bool,) -> None: ...
    def set_show_hidden_files(self,show: bool,) -> None: ...

    # Properties
    access: int
    current_dir: Union[str, GDString]
    current_file: Union[str, GDString]
    current_path: Union[str, GDString]
    filters: PoolStringArray
    mode: int
    mode_overrides_title: bool
    show_hidden_files: bool



class ScriptCreateDialog(ConfirmationDialog):


    # Methods
    def config(self,inherits: Union[str, GDString],path: Union[str, GDString],built_in_enabled: bool=True,load_enabled: bool=True,) -> None: ...




class BoxContainer(Container):

    # Constants
    ALIGN_BEGIN: int
    ALIGN_CENTER: int
    ALIGN_END: int
    # Enums
    class AlignMode(IntFlag):
        ALIGN_BEGIN: int
        ALIGN_CENTER: int
        ALIGN_END: int

    # Methods
    def add_spacer(self,begin: bool,) -> None: ...
    def get_alignment(self,) -> BoxContainer.AlignMode: ...
    def set_alignment(self,alignment: int,) -> None: ...

    # Properties
    alignment: int



class CenterContainer(Container):


    @staticmethod
    def new() -> CenterContainer: ...



    # Methods
    def is_using_top_left(self,) -> bool: ...
    def set_use_top_left(self,enable: bool,) -> None: ...

    # Properties
    use_top_left: bool



class EditorProperty(Container):


    # Methods
    def add_focusable(self,control: Control,) -> None: ...
    def emit_changed(self,property: Union[str, GDString],value: object,field: Union[str, GDString]="",changing: bool=False,) -> None: ...
    def get_edited_object(self,) -> Object: ...
    def get_edited_property(self,) -> Union[str, GDString]: ...
    def get_label(self,) -> Union[str, GDString]: ...
    def get_tooltip_text(self,) -> Union[str, GDString]: ...
    def is_checkable(self,) -> bool: ...
    def is_checked(self,) -> bool: ...
    def is_draw_red(self,) -> bool: ...
    def is_keying(self,) -> bool: ...
    def is_read_only(self,) -> bool: ...
    def set_bottom_editor(self,editor: Control,) -> None: ...
    def set_checkable(self,checkable: bool,) -> None: ...
    def set_checked(self,checked: bool,) -> None: ...
    def set_draw_red(self,draw_red: bool,) -> None: ...
    def set_keying(self,keying: bool,) -> None: ...
    def set_label(self,text: Union[str, GDString],) -> None: ...
    def set_read_only(self,read_only: bool,) -> None: ...

    # Properties
    checkable: bool
    checked: bool
    draw_red: bool
    keying: bool
    label: Union[str, GDString]
    read_only: bool



class GraphNode(Container):


    @staticmethod
    def new() -> GraphNode: ...


    # Constants
    OVERLAY_BREAKPOINT: int
    OVERLAY_DISABLED: int
    OVERLAY_POSITION: int
    # Enums
    class Overlay(IntFlag):
        OVERLAY_DISABLED: int
        OVERLAY_BREAKPOINT: int
        OVERLAY_POSITION: int

    # Methods
    def clear_all_slots(self,) -> None: ...
    def clear_slot(self,idx: int,) -> None: ...
    def get_connection_input_color(self,idx: int,) -> Color: ...
    def get_connection_input_count(self,) -> int: ...
    def get_connection_input_position(self,idx: int,) -> Vector2: ...
    def get_connection_input_type(self,idx: int,) -> int: ...
    def get_connection_output_color(self,idx: int,) -> Color: ...
    def get_connection_output_count(self,) -> int: ...
    def get_connection_output_position(self,idx: int,) -> Vector2: ...
    def get_connection_output_type(self,idx: int,) -> int: ...
    def get_offset(self,) -> Vector2: ...
    def get_overlay(self,) -> GraphNode.Overlay: ...
    def get_slot_color_left(self,idx: int,) -> Color: ...
    def get_slot_color_right(self,idx: int,) -> Color: ...
    def get_slot_type_left(self,idx: int,) -> int: ...
    def get_slot_type_right(self,idx: int,) -> int: ...
    def get_title(self,) -> Union[str, GDString]: ...
    def is_close_button_visible(self,) -> bool: ...
    def is_comment(self,) -> bool: ...
    def is_resizable(self,) -> bool: ...
    def is_selected(self,) -> bool: ...
    def is_slot_enabled_left(self,idx: int,) -> bool: ...
    def is_slot_enabled_right(self,idx: int,) -> bool: ...
    def set_comment(self,comment: bool,) -> None: ...
    def set_offset(self,offset: Vector2,) -> None: ...
    def set_overlay(self,overlay: int,) -> None: ...
    def set_resizable(self,resizable: bool,) -> None: ...
    def set_selected(self,selected: bool,) -> None: ...
    def set_show_close_button(self,show: bool,) -> None: ...
    def set_slot(self,idx: int,enable_left: bool,type_left: int,color_left: Color,enable_right: bool,type_right: int,color_right: Color,custom_left: Texture=None,custom_right: Texture=None,) -> None: ...
    def set_title(self,title: Union[str, GDString],) -> None: ...

    # Properties
    comment: bool
    offset: Vector2
    overlay: int
    resizable: bool
    selected: bool
    show_close: bool
    title: Union[str, GDString]



class GridContainer(Container):


    @staticmethod
    def new() -> GridContainer: ...



    # Methods
    def get_columns(self,) -> int: ...
    def set_columns(self,columns: int,) -> None: ...

    # Properties
    columns: int



class MarginContainer(Container):


    @staticmethod
    def new() -> MarginContainer: ...





    pass


class PanelContainer(Container):


    @staticmethod
    def new() -> PanelContainer: ...





    pass


class ScrollContainer(Container):


    @staticmethod
    def new() -> ScrollContainer: ...



    # Methods
    def get_deadzone(self,) -> int: ...
    def get_h_scroll(self,) -> int: ...
    def get_h_scrollbar(self,) -> HScrollBar: ...
    def get_v_scroll(self,) -> int: ...
    def get_v_scrollbar(self,) -> VScrollBar: ...
    def is_following_focus(self,) -> bool: ...
    def is_h_scroll_enabled(self,) -> bool: ...
    def is_v_scroll_enabled(self,) -> bool: ...
    def set_deadzone(self,deadzone: int,) -> None: ...
    def set_enable_h_scroll(self,enable: bool,) -> None: ...
    def set_enable_v_scroll(self,enable: bool,) -> None: ...
    def set_follow_focus(self,enabled: bool,) -> None: ...
    def set_h_scroll(self,value: int,) -> None: ...
    def set_v_scroll(self,value: int,) -> None: ...

    # Properties
    follow_focus: bool
    scroll_deadzone: int
    scroll_horizontal: int
    scroll_horizontal_enabled: bool
    scroll_vertical: int
    scroll_vertical_enabled: bool



class SplitContainer(Container):

    # Constants
    DRAGGER_HIDDEN: int
    DRAGGER_HIDDEN_COLLAPSED: int
    DRAGGER_VISIBLE: int
    # Enums
    class DraggerVisibility(IntFlag):
        DRAGGER_VISIBLE: int
        DRAGGER_HIDDEN: int
        DRAGGER_HIDDEN_COLLAPSED: int

    # Methods
    def clamp_split_offset(self,) -> None: ...
    def get_dragger_visibility(self,) -> SplitContainer.DraggerVisibility: ...
    def get_split_offset(self,) -> int: ...
    def is_collapsed(self,) -> bool: ...
    def set_collapsed(self,collapsed: bool,) -> None: ...
    def set_dragger_visibility(self,mode: int,) -> None: ...
    def set_split_offset(self,offset: int,) -> None: ...

    # Properties
    collapsed: bool
    dragger_visibility: int
    split_offset: int



class TabContainer(Container):


    @staticmethod
    def new() -> TabContainer: ...


    # Constants
    ALIGN_CENTER: int
    ALIGN_LEFT: int
    ALIGN_RIGHT: int
    # Enums
    class TabAlign(IntFlag):
        ALIGN_LEFT: int
        ALIGN_CENTER: int
        ALIGN_RIGHT: int

    # Methods
    def are_tabs_visible(self,) -> bool: ...
    def get_current_tab(self,) -> int: ...
    def get_current_tab_control(self,) -> Control: ...
    def get_drag_to_rearrange_enabled(self,) -> bool: ...
    def get_popup(self,) -> Popup: ...
    def get_previous_tab(self,) -> int: ...
    def get_tab_align(self,) -> TabContainer.TabAlign: ...
    def get_tab_control(self,tab_idx: int,) -> Control: ...
    def get_tab_count(self,) -> int: ...
    def get_tab_disabled(self,tab_idx: int,) -> bool: ...
    def get_tab_icon(self,tab_idx: int,) -> Texture: ...
    def get_tab_title(self,tab_idx: int,) -> Union[str, GDString]: ...
    def get_tabs_rearrange_group(self,) -> int: ...
    def get_use_hidden_tabs_for_min_size(self,) -> bool: ...
    def set_current_tab(self,tab_idx: int,) -> None: ...
    def set_drag_to_rearrange_enabled(self,enabled: bool,) -> None: ...
    def set_popup(self,popup: Node,) -> None: ...
    def set_tab_align(self,align: int,) -> None: ...
    def set_tab_disabled(self,tab_idx: int,disabled: bool,) -> None: ...
    def set_tab_icon(self,tab_idx: int,icon: Texture,) -> None: ...
    def set_tab_title(self,tab_idx: int,title: Union[str, GDString],) -> None: ...
    def set_tabs_rearrange_group(self,group_id: int,) -> None: ...
    def set_tabs_visible(self,visible: bool,) -> None: ...
    def set_use_hidden_tabs_for_min_size(self,enabled: bool,) -> None: ...

    # Properties
    current_tab: int
    drag_to_rearrange_enabled: bool
    tab_align: int
    tabs_visible: bool
    use_hidden_tabs_for_min_size: bool



class ViewportContainer(Container):


    @staticmethod
    def new() -> ViewportContainer: ...



    # Methods
    def get_stretch_shrink(self,) -> int: ...
    def is_stretch_enabled(self,) -> bool: ...
    def set_stretch(self,enable: bool,) -> None: ...
    def set_stretch_shrink(self,amount: int,) -> None: ...

    # Properties
    stretch: bool
    stretch_shrink: int



class HSplitContainer(SplitContainer):


    @staticmethod
    def new() -> HSplitContainer: ...





    pass


class VSplitContainer(SplitContainer):


    @staticmethod
    def new() -> VSplitContainer: ...





    pass


class EditorInspector(ScrollContainer):


    # Methods
    def refresh(self,) -> None: ...




class ScriptEditor(PanelContainer):


    # Methods
    def can_drop_data_fw(self,point: Vector2,data: object,from_: Control,) -> bool: ...
    def drop_data_fw(self,point: Vector2,data: object,from_: Control,) -> None: ...
    def get_current_script(self,) -> Script: ...
    def get_drag_data_fw(self,point: Vector2,from_: Control,) -> object: ...
    def get_open_scripts(self,) -> Array: ...
    def goto_line(self,line_number: int,) -> None: ...
    def open_script_create_dialog(self,base_name: Union[str, GDString],base_path: Union[str, GDString],) -> None: ...




class ColorPicker(BoxContainer):


    @staticmethod
    def new() -> ColorPicker: ...



    # Methods
    def add_preset(self,color: Color,) -> None: ...
    def are_presets_enabled(self,) -> bool: ...
    def are_presets_visible(self,) -> bool: ...
    def erase_preset(self,color: Color,) -> None: ...
    def get_pick_color(self,) -> Color: ...
    def get_presets(self,) -> PoolColorArray: ...
    def is_deferred_mode(self,) -> bool: ...
    def is_editing_alpha(self,) -> bool: ...
    def is_hsv_mode(self,) -> bool: ...
    def is_raw_mode(self,) -> bool: ...
    def set_deferred_mode(self,mode: bool,) -> None: ...
    def set_edit_alpha(self,show: bool,) -> None: ...
    def set_hsv_mode(self,mode: bool,) -> None: ...
    def set_pick_color(self,color: Color,) -> None: ...
    def set_presets_enabled(self,enabled: bool,) -> None: ...
    def set_presets_visible(self,visible: bool,) -> None: ...
    def set_raw_mode(self,mode: bool,) -> None: ...

    # Properties
    color: Color
    deferred_mode: bool
    edit_alpha: bool
    hsv_mode: bool
    presets_enabled: bool
    presets_visible: bool
    raw_mode: bool



class HBoxContainer(BoxContainer):


    @staticmethod
    def new() -> HBoxContainer: ...





    pass


class VBoxContainer(BoxContainer):


    @staticmethod
    def new() -> VBoxContainer: ...





    pass


class FileSystemDock(VBoxContainer):


    # Methods
    def can_drop_data_fw(self,arg0: Vector2,arg1: object,arg2: Control,) -> bool: ...
    def drop_data_fw(self,arg0: Vector2,arg1: object,arg2: Control,) -> None: ...
    def get_drag_data_fw(self,arg0: Vector2,arg1: Control,) -> object: ...
    def navigate_to_path(self,arg0: Union[str, GDString],) -> None: ...




class Button(BaseButton):


    @staticmethod
    def new() -> Button: ...


    # Constants
    ALIGN_CENTER: int
    ALIGN_LEFT: int
    ALIGN_RIGHT: int
    # Enums
    class TextAlign(IntFlag):
        ALIGN_LEFT: int
        ALIGN_CENTER: int
        ALIGN_RIGHT: int

    # Methods
    def get_button_icon(self,) -> Texture: ...
    def get_clip_text(self,) -> bool: ...
    def get_text(self,) -> Union[str, GDString]: ...
    def get_text_align(self,) -> Button.TextAlign: ...
    def is_expand_icon(self,) -> bool: ...
    def is_flat(self,) -> bool: ...
    def set_button_icon(self,texture: Texture,) -> None: ...
    def set_clip_text(self,enabled: bool,) -> None: ...
    def set_expand_icon(self,arg0: bool,) -> None: ...
    def set_flat(self,enabled: bool,) -> None: ...
    def set_text(self,text: Union[str, GDString],) -> None: ...
    def set_text_align(self,align: int,) -> None: ...

    # Properties
    align: int
    clip_text: bool
    expand_icon: bool
    flat: bool
    icon: Texture
    text: Union[str, GDString]



class LinkButton(BaseButton):


    @staticmethod
    def new() -> LinkButton: ...


    # Constants
    UNDERLINE_MODE_ALWAYS: int
    UNDERLINE_MODE_NEVER: int
    UNDERLINE_MODE_ON_HOVER: int
    # Enums
    class UnderlineMode(IntFlag):
        UNDERLINE_MODE_ALWAYS: int
        UNDERLINE_MODE_ON_HOVER: int
        UNDERLINE_MODE_NEVER: int

    # Methods
    def get_text(self,) -> Union[str, GDString]: ...
    def get_underline_mode(self,) -> LinkButton.UnderlineMode: ...
    def set_text(self,text: Union[str, GDString],) -> None: ...
    def set_underline_mode(self,underline_mode: int,) -> None: ...

    # Properties
    text: Union[str, GDString]
    underline: int



class TextureButton(BaseButton):


    @staticmethod
    def new() -> TextureButton: ...


    # Constants
    STRETCH_KEEP: int
    STRETCH_KEEP_ASPECT: int
    STRETCH_KEEP_ASPECT_CENTERED: int
    STRETCH_KEEP_ASPECT_COVERED: int
    STRETCH_KEEP_CENTERED: int
    STRETCH_SCALE: int
    STRETCH_TILE: int
    # Enums
    class StretchMode(IntFlag):
        STRETCH_SCALE: int
        STRETCH_TILE: int
        STRETCH_KEEP: int
        STRETCH_KEEP_CENTERED: int
        STRETCH_KEEP_ASPECT: int
        STRETCH_KEEP_ASPECT_CENTERED: int
        STRETCH_KEEP_ASPECT_COVERED: int

    # Methods
    def get_click_mask(self,) -> BitMap: ...
    def get_disabled_texture(self,) -> Texture: ...
    def get_expand(self,) -> bool: ...
    def get_focused_texture(self,) -> Texture: ...
    def get_hover_texture(self,) -> Texture: ...
    def get_normal_texture(self,) -> Texture: ...
    def get_pressed_texture(self,) -> Texture: ...
    def get_stretch_mode(self,) -> TextureButton.StretchMode: ...
    def set_click_mask(self,mask: BitMap,) -> None: ...
    def set_disabled_texture(self,texture: Texture,) -> None: ...
    def set_expand(self,p_expand: bool,) -> None: ...
    def set_focused_texture(self,texture: Texture,) -> None: ...
    def set_hover_texture(self,texture: Texture,) -> None: ...
    def set_normal_texture(self,texture: Texture,) -> None: ...
    def set_pressed_texture(self,texture: Texture,) -> None: ...
    def set_stretch_mode(self,p_mode: int,) -> None: ...

    # Properties
    expand: bool
    stretch_mode: int
    texture_click_mask: BitMap
    texture_disabled: Texture
    texture_focused: Texture
    texture_hover: Texture
    texture_normal: Texture
    texture_pressed: Texture



class CheckBox(Button):


    @staticmethod
    def new() -> CheckBox: ...





    pass


class CheckButton(Button):


    @staticmethod
    def new() -> CheckButton: ...





    pass


class ColorPickerButton(Button):


    @staticmethod
    def new() -> ColorPickerButton: ...



    # Methods
    def get_pick_color(self,) -> Color: ...
    def get_picker(self,) -> ColorPicker: ...
    def get_popup(self,) -> PopupPanel: ...
    def is_editing_alpha(self,) -> bool: ...
    def set_edit_alpha(self,show: bool,) -> None: ...
    def set_pick_color(self,color: Color,) -> None: ...

    # Properties
    color: Color
    edit_alpha: bool



class MenuButton(Button):


    @staticmethod
    def new() -> MenuButton: ...



    # Methods
    def get_popup(self,) -> PopupMenu: ...
    def is_switch_on_hover(self,) -> bool: ...
    def set_disable_shortcuts(self,disabled: bool,) -> None: ...
    def set_switch_on_hover(self,enable: bool,) -> None: ...

    # Properties
    items: Array
    switch_on_hover: bool



class OptionButton(Button):


    @staticmethod
    def new() -> OptionButton: ...



    # Methods
    def add_icon_item(self,texture: Texture,label: Union[str, GDString],id: int=-1,) -> None: ...
    def add_item(self,label: Union[str, GDString],id: int=-1,) -> None: ...
    def add_separator(self,) -> None: ...
    def clear(self,) -> None: ...
    def get_item_count(self,) -> int: ...
    def get_item_icon(self,idx: int,) -> Texture: ...
    def get_item_id(self,idx: int,) -> int: ...
    def get_item_index(self,id: int,) -> int: ...
    def get_item_metadata(self,idx: int,) -> object: ...
    def get_item_text(self,idx: int,) -> Union[str, GDString]: ...
    def get_popup(self,) -> PopupMenu: ...
    def get_selected(self,) -> int: ...
    def get_selected_id(self,) -> int: ...
    def get_selected_metadata(self,) -> object: ...
    def is_item_disabled(self,idx: int,) -> bool: ...
    def remove_item(self,idx: int,) -> None: ...
    def select(self,idx: int,) -> None: ...
    def set_item_disabled(self,idx: int,disabled: bool,) -> None: ...
    def set_item_icon(self,idx: int,texture: Texture,) -> None: ...
    def set_item_id(self,idx: int,id: int,) -> None: ...
    def set_item_metadata(self,idx: int,metadata: object,) -> None: ...
    def set_item_text(self,idx: int,text: Union[str, GDString],) -> None: ...

    # Properties
    items: Array
    selected: int



class ToolButton(Button):


    @staticmethod
    def new() -> ToolButton: ...





    pass


class SceneTree(MainLoop):


    @staticmethod
    def new() -> SceneTree: ...


    # Constants
    GROUP_CALL_DEFAULT: int
    GROUP_CALL_REALTIME: int
    GROUP_CALL_REVERSE: int
    GROUP_CALL_UNIQUE: int
    STRETCH_ASPECT_EXPAND: int
    STRETCH_ASPECT_IGNORE: int
    STRETCH_ASPECT_KEEP: int
    STRETCH_ASPECT_KEEP_HEIGHT: int
    STRETCH_ASPECT_KEEP_WIDTH: int
    STRETCH_MODE_2D: int
    STRETCH_MODE_DISABLED: int
    STRETCH_MODE_VIEWPORT: int
    # Enums
    class StretchAspect(IntFlag):
        STRETCH_ASPECT_IGNORE: int
        STRETCH_ASPECT_KEEP: int
        STRETCH_ASPECT_KEEP_WIDTH: int
        STRETCH_ASPECT_KEEP_HEIGHT: int
        STRETCH_ASPECT_EXPAND: int
    class GroupCallFlags(IntFlag):
        GROUP_CALL_DEFAULT: int
        GROUP_CALL_REVERSE: int
        GROUP_CALL_REALTIME: int
        GROUP_CALL_UNIQUE: int
    class StretchMode(IntFlag):
        STRETCH_MODE_DISABLED: int
        STRETCH_MODE_2D: int
        STRETCH_MODE_VIEWPORT: int

    # Methods
    def change_scene(self,path: Union[str, GDString],) -> Error: ...
    def change_scene_to(self,packed_scene: PackedScene,) -> Error: ...
    def create_timer(self,time_sec: float,pause_mode_process: bool=True,) -> SceneTreeTimer: ...
    def get_current_scene(self,) -> Node: ...
    def get_edited_scene_root(self,) -> Node: ...
    def get_frame(self,) -> int: ...
    def get_multiplayer(self,) -> MultiplayerAPI: ...
    def get_network_connected_peers(self,) -> PoolIntArray: ...
    def get_network_peer(self,) -> NetworkedMultiplayerPeer: ...
    def get_network_unique_id(self,) -> int: ...
    def get_node_count(self,) -> int: ...
    def get_nodes_in_group(self,group: Union[str, GDString],) -> Array: ...
    def get_root(self,) -> Viewport: ...
    def get_rpc_sender_id(self,) -> int: ...
    def has_group(self,name: Union[str, GDString],) -> bool: ...
    def has_network_peer(self,) -> bool: ...
    def is_debugging_collisions_hint(self,) -> bool: ...
    def is_debugging_navigation_hint(self,) -> bool: ...
    def is_input_handled(self,) -> bool: ...
    def is_multiplayer_poll_enabled(self,) -> bool: ...
    def is_network_server(self,) -> bool: ...
    def is_paused(self,) -> bool: ...
    def is_refusing_new_network_connections(self,) -> bool: ...
    def is_using_font_oversampling(self,) -> bool: ...
    def notify_group(self,group: Union[str, GDString],notification: int,) -> None: ...
    def notify_group_flags(self,call_flags: int,group: Union[str, GDString],notification: int,) -> None: ...
    def queue_delete(self,obj: Object,) -> None: ...
    def quit(self,exit_code: int=-1,) -> None: ...
    def reload_current_scene(self,) -> Error: ...
    def set_auto_accept_quit(self,enabled: bool,) -> None: ...
    def set_current_scene(self,child_node: Node,) -> None: ...
    def set_debug_collisions_hint(self,enable: bool,) -> None: ...
    def set_debug_navigation_hint(self,enable: bool,) -> None: ...
    def set_edited_scene_root(self,scene: Node,) -> None: ...
    def set_group(self,group: Union[str, GDString],property: Union[str, GDString],value: object,) -> None: ...
    def set_group_flags(self,call_flags: int,group: Union[str, GDString],property: Union[str, GDString],value: object,) -> None: ...
    def set_input_as_handled(self,) -> None: ...
    def set_multiplayer(self,multiplayer: MultiplayerAPI,) -> None: ...
    def set_multiplayer_poll_enabled(self,enabled: bool,) -> None: ...
    def set_network_peer(self,peer: NetworkedMultiplayerPeer,) -> None: ...
    def set_pause(self,enable: bool,) -> None: ...
    def set_quit_on_go_back(self,enabled: bool,) -> None: ...
    def set_refuse_new_network_connections(self,refuse: bool,) -> None: ...
    def set_screen_stretch(self,mode: int,aspect: int,minsize: Vector2,shrink: float=1,) -> None: ...
    def set_use_font_oversampling(self,enable: bool,) -> None: ...

    # Properties
    current_scene: Node
    debug_collisions_hint: bool
    debug_navigation_hint: bool
    edited_scene_root: Node
    multiplayer: MultiplayerAPI
    multiplayer_poll: bool
    network_peer: NetworkedMultiplayerPeer
    paused: bool
    refuse_new_network_connections: bool
    root: Node
    use_font_oversampling: bool



class InputDefault(_Input):




    pass


class IP_Unix(_IP):




    pass


### Global constants ###

BUTTON_LEFT: int
BUTTON_MASK_LEFT: int
BUTTON_MASK_MIDDLE: int
BUTTON_MASK_RIGHT: int
BUTTON_MASK_XBUTTON1: int
BUTTON_MASK_XBUTTON2: int
BUTTON_MIDDLE: int
BUTTON_RIGHT: int
BUTTON_WHEEL_DOWN: int
BUTTON_WHEEL_LEFT: int
BUTTON_WHEEL_RIGHT: int
BUTTON_WHEEL_UP: int
BUTTON_XBUTTON1: int
BUTTON_XBUTTON2: int
CORNER_BOTTOM_LEFT: int
CORNER_BOTTOM_RIGHT: int
CORNER_TOP_LEFT: int
CORNER_TOP_RIGHT: int
ERR_ALREADY_EXISTS: int
ERR_ALREADY_IN_USE: int
ERR_BUG: int
ERR_BUSY: int
ERR_CANT_ACQUIRE_RESOURCE: int
ERR_CANT_CONNECT: int
ERR_CANT_CREATE: int
ERR_CANT_FORK: int
ERR_CANT_OPEN: int
ERR_CANT_RESOLVE: int
ERR_COMPILATION_FAILED: int
ERR_CONNECTION_ERROR: int
ERR_CYCLIC_LINK: int
ERR_DATABASE_CANT_READ: int
ERR_DATABASE_CANT_WRITE: int
ERR_DOES_NOT_EXIST: int
ERR_DUPLICATE_SYMBOL: int
ERR_FILE_ALREADY_IN_USE: int
ERR_FILE_BAD_DRIVE: int
ERR_FILE_BAD_PATH: int
ERR_FILE_CANT_OPEN: int
ERR_FILE_CANT_READ: int
ERR_FILE_CANT_WRITE: int
ERR_FILE_CORRUPT: int
ERR_FILE_EOF: int
ERR_FILE_MISSING_DEPENDENCIES: int
ERR_FILE_NOT_FOUND: int
ERR_FILE_NO_PERMISSION: int
ERR_FILE_UNRECOGNIZED: int
ERR_HELP: int
ERR_INVALID_DATA: int
ERR_INVALID_DECLARATION: int
ERR_INVALID_PARAMETER: int
ERR_LINK_FAILED: int
ERR_LOCKED: int
ERR_METHOD_NOT_FOUND: int
ERR_OUT_OF_MEMORY: int
ERR_PARAMETER_RANGE_ERROR: int
ERR_PARSE_ERROR: int
ERR_PRINTER_ON_FIRE: int
ERR_QUERY_FAILED: int
ERR_SCRIPT_FAILED: int
ERR_SKIP: int
ERR_TIMEOUT: int
ERR_UNAUTHORIZED: int
ERR_UNAVAILABLE: int
ERR_UNCONFIGURED: int
FAILED: int
HALIGN_CENTER: int
HALIGN_LEFT: int
HALIGN_RIGHT: int
HORIZONTAL: int
JOY_ANALOG_L2: int
JOY_ANALOG_LX: int
JOY_ANALOG_LY: int
JOY_ANALOG_R2: int
JOY_ANALOG_RX: int
JOY_ANALOG_RY: int
JOY_AXIS_0: int
JOY_AXIS_1: int
JOY_AXIS_2: int
JOY_AXIS_3: int
JOY_AXIS_4: int
JOY_AXIS_5: int
JOY_AXIS_6: int
JOY_AXIS_7: int
JOY_AXIS_8: int
JOY_AXIS_9: int
JOY_AXIS_MAX: int
JOY_BUTTON_0: int
JOY_BUTTON_1: int
JOY_BUTTON_10: int
JOY_BUTTON_11: int
JOY_BUTTON_12: int
JOY_BUTTON_13: int
JOY_BUTTON_14: int
JOY_BUTTON_15: int
JOY_BUTTON_2: int
JOY_BUTTON_3: int
JOY_BUTTON_4: int
JOY_BUTTON_5: int
JOY_BUTTON_6: int
JOY_BUTTON_7: int
JOY_BUTTON_8: int
JOY_BUTTON_9: int
JOY_BUTTON_MAX: int
JOY_DPAD_DOWN: int
JOY_DPAD_LEFT: int
JOY_DPAD_RIGHT: int
JOY_DPAD_UP: int
JOY_DS_A: int
JOY_DS_B: int
JOY_DS_X: int
JOY_DS_Y: int
JOY_L: int
JOY_L2: int
JOY_L3: int
JOY_OCULUS_AX: int
JOY_OCULUS_BY: int
JOY_OCULUS_MENU: int
JOY_OPENVR_MENU: int
JOY_OPENVR_TOUCHPADX: int
JOY_OPENVR_TOUCHPADY: int
JOY_R: int
JOY_R2: int
JOY_R3: int
JOY_SELECT: int
JOY_SONY_CIRCLE: int
JOY_SONY_SQUARE: int
JOY_SONY_TRIANGLE: int
JOY_SONY_X: int
JOY_START: int
JOY_VR_ANALOG_GRIP: int
JOY_VR_ANALOG_TRIGGER: int
JOY_VR_GRIP: int
JOY_VR_PAD: int
JOY_VR_TRIGGER: int
JOY_XBOX_A: int
JOY_XBOX_B: int
JOY_XBOX_X: int
JOY_XBOX_Y: int
KEY_0: int
KEY_1: int
KEY_2: int
KEY_3: int
KEY_4: int
KEY_5: int
KEY_6: int
KEY_7: int
KEY_8: int
KEY_9: int
KEY_A: int
KEY_AACUTE: int
KEY_ACIRCUMFLEX: int
KEY_ACUTE: int
KEY_ADIAERESIS: int
KEY_AE: int
KEY_AGRAVE: int
KEY_ALT: int
KEY_AMPERSAND: int
KEY_APOSTROPHE: int
KEY_ARING: int
KEY_ASCIICIRCUM: int
KEY_ASCIITILDE: int
KEY_ASTERISK: int
KEY_AT: int
KEY_ATILDE: int
KEY_B: int
KEY_BACK: int
KEY_BACKSLASH: int
KEY_BACKSPACE: int
KEY_BACKTAB: int
KEY_BAR: int
KEY_BASSBOOST: int
KEY_BASSDOWN: int
KEY_BASSUP: int
KEY_BRACELEFT: int
KEY_BRACERIGHT: int
KEY_BRACKETLEFT: int
KEY_BRACKETRIGHT: int
KEY_BROKENBAR: int
KEY_C: int
KEY_CAPSLOCK: int
KEY_CCEDILLA: int
KEY_CEDILLA: int
KEY_CENT: int
KEY_CLEAR: int
KEY_CODE_MASK: int
KEY_COLON: int
KEY_COMMA: int
KEY_CONTROL: int
KEY_COPYRIGHT: int
KEY_CURRENCY: int
KEY_D: int
KEY_DEGREE: int
KEY_DELETE: int
KEY_DIAERESIS: int
KEY_DIRECTION_L: int
KEY_DIRECTION_R: int
KEY_DIVISION: int
KEY_DOLLAR: int
KEY_DOWN: int
KEY_E: int
KEY_EACUTE: int
KEY_ECIRCUMFLEX: int
KEY_EDIAERESIS: int
KEY_EGRAVE: int
KEY_END: int
KEY_ENTER: int
KEY_EQUAL: int
KEY_ESCAPE: int
KEY_ETH: int
KEY_EXCLAM: int
KEY_EXCLAMDOWN: int
KEY_F: int
KEY_F1: int
KEY_F10: int
KEY_F11: int
KEY_F12: int
KEY_F13: int
KEY_F14: int
KEY_F15: int
KEY_F16: int
KEY_F2: int
KEY_F3: int
KEY_F4: int
KEY_F5: int
KEY_F6: int
KEY_F7: int
KEY_F8: int
KEY_F9: int
KEY_FAVORITES: int
KEY_FORWARD: int
KEY_G: int
KEY_GREATER: int
KEY_GUILLEMOTLEFT: int
KEY_GUILLEMOTRIGHT: int
KEY_H: int
KEY_HELP: int
KEY_HOME: int
KEY_HOMEPAGE: int
KEY_HYPER_L: int
KEY_HYPER_R: int
KEY_HYPHEN: int
KEY_I: int
KEY_IACUTE: int
KEY_ICIRCUMFLEX: int
KEY_IDIAERESIS: int
KEY_IGRAVE: int
KEY_INSERT: int
KEY_J: int
KEY_K: int
KEY_KP_0: int
KEY_KP_1: int
KEY_KP_2: int
KEY_KP_3: int
KEY_KP_4: int
KEY_KP_5: int
KEY_KP_6: int
KEY_KP_7: int
KEY_KP_8: int
KEY_KP_9: int
KEY_KP_ADD: int
KEY_KP_DIVIDE: int
KEY_KP_ENTER: int
KEY_KP_MULTIPLY: int
KEY_KP_PERIOD: int
KEY_KP_SUBTRACT: int
KEY_L: int
KEY_LAUNCH0: int
KEY_LAUNCH1: int
KEY_LAUNCH2: int
KEY_LAUNCH3: int
KEY_LAUNCH4: int
KEY_LAUNCH5: int
KEY_LAUNCH6: int
KEY_LAUNCH7: int
KEY_LAUNCH8: int
KEY_LAUNCH9: int
KEY_LAUNCHA: int
KEY_LAUNCHB: int
KEY_LAUNCHC: int
KEY_LAUNCHD: int
KEY_LAUNCHE: int
KEY_LAUNCHF: int
KEY_LAUNCHMAIL: int
KEY_LAUNCHMEDIA: int
KEY_LEFT: int
KEY_LESS: int
KEY_M: int
KEY_MACRON: int
KEY_MASCULINE: int
KEY_MASK_ALT: int
KEY_MASK_CMD: int
KEY_MASK_CTRL: int
KEY_MASK_GROUP_SWITCH: int
KEY_MASK_KPAD: int
KEY_MASK_META: int
KEY_MASK_SHIFT: int
KEY_MEDIANEXT: int
KEY_MEDIAPLAY: int
KEY_MEDIAPREVIOUS: int
KEY_MEDIARECORD: int
KEY_MEDIASTOP: int
KEY_MENU: int
KEY_META: int
KEY_MINUS: int
KEY_MODIFIER_MASK: int
KEY_MU: int
KEY_MULTIPLY: int
KEY_N: int
KEY_NOBREAKSPACE: int
KEY_NOTSIGN: int
KEY_NTILDE: int
KEY_NUMBERSIGN: int
KEY_NUMLOCK: int
KEY_O: int
KEY_OACUTE: int
KEY_OCIRCUMFLEX: int
KEY_ODIAERESIS: int
KEY_OGRAVE: int
KEY_ONEHALF: int
KEY_ONEQUARTER: int
KEY_ONESUPERIOR: int
KEY_OOBLIQUE: int
KEY_OPENURL: int
KEY_ORDFEMININE: int
KEY_OTILDE: int
KEY_P: int
KEY_PAGEDOWN: int
KEY_PAGEUP: int
KEY_PARAGRAPH: int
KEY_PARENLEFT: int
KEY_PARENRIGHT: int
KEY_PAUSE: int
KEY_PERCENT: int
KEY_PERIOD: int
KEY_PERIODCENTERED: int
KEY_PLUS: int
KEY_PLUSMINUS: int
KEY_PRINT: int
KEY_Q: int
KEY_QUESTION: int
KEY_QUESTIONDOWN: int
KEY_QUOTEDBL: int
KEY_QUOTELEFT: int
KEY_R: int
KEY_REFRESH: int
KEY_REGISTERED: int
KEY_RIGHT: int
KEY_S: int
KEY_SCROLLLOCK: int
KEY_SEARCH: int
KEY_SECTION: int
KEY_SEMICOLON: int
KEY_SHIFT: int
KEY_SLASH: int
KEY_SPACE: int
KEY_SSHARP: int
KEY_STANDBY: int
KEY_STERLING: int
KEY_STOP: int
KEY_SUPER_L: int
KEY_SUPER_R: int
KEY_SYSREQ: int
KEY_T: int
KEY_TAB: int
KEY_THORN: int
KEY_THREEQUARTERS: int
KEY_THREESUPERIOR: int
KEY_TREBLEDOWN: int
KEY_TREBLEUP: int
KEY_TWOSUPERIOR: int
KEY_U: int
KEY_UACUTE: int
KEY_UCIRCUMFLEX: int
KEY_UDIAERESIS: int
KEY_UGRAVE: int
KEY_UNDERSCORE: int
KEY_UNKNOWN: int
KEY_UP: int
KEY_V: int
KEY_VOLUMEDOWN: int
KEY_VOLUMEMUTE: int
KEY_VOLUMEUP: int
KEY_W: int
KEY_X: int
KEY_Y: int
KEY_YACUTE: int
KEY_YDIAERESIS: int
KEY_YEN: int
KEY_Z: int
MARGIN_BOTTOM: int
MARGIN_LEFT: int
MARGIN_RIGHT: int
MARGIN_TOP: int
METHOD_FLAGS_DEFAULT: int
METHOD_FLAG_CONST: int
METHOD_FLAG_EDITOR: int
METHOD_FLAG_FROM_SCRIPT: int
METHOD_FLAG_NORMAL: int
METHOD_FLAG_NOSCRIPT: int
METHOD_FLAG_REVERSE: int
METHOD_FLAG_VIRTUAL: int
MIDI_MESSAGE_AFTERTOUCH: int
MIDI_MESSAGE_CHANNEL_PRESSURE: int
MIDI_MESSAGE_CONTROL_CHANGE: int
MIDI_MESSAGE_NOTE_OFF: int
MIDI_MESSAGE_NOTE_ON: int
MIDI_MESSAGE_PITCH_BEND: int
MIDI_MESSAGE_PROGRAM_CHANGE: int
OK: int
OP_ADD: int
OP_AND: int
OP_BIT_AND: int
OP_BIT_NEGATE: int
OP_BIT_OR: int
OP_BIT_XOR: int
OP_DIVIDE: int
OP_EQUAL: int
OP_GREATER: int
OP_GREATER_EQUAL: int
OP_IN: int
OP_LESS: int
OP_LESS_EQUAL: int
OP_MAX: int
OP_MODULE: int
OP_MULTIPLY: int
OP_NEGATE: int
OP_NOT: int
OP_NOT_EQUAL: int
OP_OR: int
OP_POSITIVE: int
OP_SHIFT_LEFT: int
OP_SHIFT_RIGHT: int
OP_STRING_CONCAT: int
OP_SUBTRACT: int
OP_XOR: int
PROPERTY_HINT_COLOR_NO_ALPHA: int
PROPERTY_HINT_DIR: int
PROPERTY_HINT_ENUM: int
PROPERTY_HINT_EXP_EASING: int
PROPERTY_HINT_EXP_RANGE: int
PROPERTY_HINT_FILE: int
PROPERTY_HINT_FLAGS: int
PROPERTY_HINT_GLOBAL_DIR: int
PROPERTY_HINT_GLOBAL_FILE: int
PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS: int
PROPERTY_HINT_IMAGE_COMPRESS_LOSSY: int
PROPERTY_HINT_KEY_ACCEL: int
PROPERTY_HINT_LAYERS_2D_PHYSICS: int
PROPERTY_HINT_LAYERS_2D_RENDER: int
PROPERTY_HINT_LAYERS_3D_PHYSICS: int
PROPERTY_HINT_LAYERS_3D_RENDER: int
PROPERTY_HINT_LENGTH: int
PROPERTY_HINT_MULTILINE_TEXT: int
PROPERTY_HINT_NONE: int
PROPERTY_HINT_PLACEHOLDER_TEXT: int
PROPERTY_HINT_RANGE: int
PROPERTY_HINT_RESOURCE_TYPE: int
PROPERTY_USAGE_CATEGORY: int
PROPERTY_USAGE_CHECKABLE: int
PROPERTY_USAGE_CHECKED: int
PROPERTY_USAGE_DEFAULT: int
PROPERTY_USAGE_DEFAULT_INTL: int
PROPERTY_USAGE_EDITOR: int
PROPERTY_USAGE_EDITOR_HELPER: int
PROPERTY_USAGE_GROUP: int
PROPERTY_USAGE_INTERNATIONALIZED: int
PROPERTY_USAGE_NETWORK: int
PROPERTY_USAGE_NOEDITOR: int
PROPERTY_USAGE_NO_INSTANCE_STATE: int
PROPERTY_USAGE_RESTART_IF_CHANGED: int
PROPERTY_USAGE_SCRIPT_VARIABLE: int
PROPERTY_USAGE_STORAGE: int
SPKEY: int
TYPE_AABB: int
TYPE_ARRAY: int
TYPE_BASIS: int
TYPE_BOOL: int
TYPE_COLOR: int
TYPE_COLOR_ARRAY: int
TYPE_DICTIONARY: int
TYPE_INT: int
TYPE_INT_ARRAY: int
TYPE_MAX: int
TYPE_NIL: int
TYPE_NODE_PATH: int
TYPE_OBJECT: int
TYPE_PLANE: int
TYPE_QUAT: int
TYPE_RAW_ARRAY: int
TYPE_REAL: int
TYPE_REAL_ARRAY: int
TYPE_RECT2: int
TYPE_RID: int
TYPE_STRING: int
TYPE_STRING_ARRAY: int
TYPE_TRANSFORM: int
TYPE_TRANSFORM2D: int
TYPE_VECTOR2: int
TYPE_VECTOR2_ARRAY: int
TYPE_VECTOR3: int
TYPE_VECTOR3_ARRAY: int
VALIGN_BOTTOM: int
VALIGN_CENTER: int
VALIGN_TOP: int
VERTICAL: int

### Singletons ###

ARVRServer: _ARVRServer
AudioServer: _AudioServer
CameraServer: _CameraServer
IP: _IP
Input: _Input
InputMap: _InputMap
JavaClassWrapper: _JavaClassWrapper
JavaScript: _JavaScript
Performance: _Performance
Physics2DServer: _Physics2DServer
PhysicsServer: _PhysicsServer
ProjectSettings: _ProjectSettings
TranslationServer: _TranslationServer
VisualServer: _VisualServer
ClassDB: _ClassDB
Engine: _Engine
Geometry: _Geometry
JSON: _JSON
Marshalls: _Marshalls
OS: _OS
ResourceLoader: _ResourceLoader
ResourceSaver: _ResourceSaver
VisualScriptEditor: _VisualScriptEditor
