from typing import Optional, Union, Tuple, List, overload, Sequence class VectorElementwiseProxy: ... def enable_swizzling() -> None: ... def disable_swizzling() -> None: ... class Vector2: x: float y: float def __init__( self, x: Optional[Union[float, Vector2, Tuple[float, float], List[float]]] = 0, y: Optional[float] = 0, ) -> None: ... def dot(self, other: Vector2) -> float: ... def cross(self, other: Vector2) -> Vector2: ... def magnitude(self) -> float: ... def magnitude_squared(self) -> float: ... def length(self) -> float: ... def length_squared(self) -> float: ... def normalize(self) -> Vector2: ... def normalize_ip(self) -> None: ... def is_normalized(self) -> bool: ... def scale_to_length(self, value: float) -> None: ... def reflect(self, other: Vector2) -> Vector2: ... def reflect_ip(self, other: Vector2) -> None: ... def distance_to(self, other: Union[Vector2, Sequence[float]]) -> float: ... def distance_squared_to(self, other: Vector2) -> float: ... def lerp(self, other: Vector2, value: float) -> Vector2: ... def slerp(self, other: Vector2, value: float) -> Vector2: ... def elementwise(self) -> VectorElementwiseProxy: ... def rotate(self, angle: float) -> Vector2: ... def rotate_rad(self, angle: float) -> Vector2: ... def rotate_ip(self, angle: float) -> None: ... def rotate_ip_rad(self, angle: float) -> None: ... def angle_to(self, other: Vector2) -> float: ... def as_polar(self) -> Tuple[float, float]: ... def from_polar( self, polar_value: Union[List[float], Tuple[float, float]] ) -> None: ... def update( self, x: Optional[Union[float, Vector2, Tuple[float, float], List[float]]] = 0, y: Optional[float] = 0, ) -> None: ... class Vector3: x: float y: float z: float @overload def __init__( self, xyz: Optional[ Union[float, Tuple[float, float, float], List[float], Vector3] ] = 0, ) -> None: ... @overload def __init__(self, x: int, y: int, z) -> None: ... def dot(self, other: Vector3) -> float: ... def cross(self, other: Vector3) -> Vector3: ... def magnitude(self) -> float: ... def magnitude_squared(self) -> float: ... def length(self) -> float: ... def length_squared(self) -> float: ... def normalize(self) -> Vector3: ... def normalize_ip(self) -> None: ... def is_normalized(self) -> bool: ... def scale_to_length(self, value: float) -> None: ... def reflect(self, other: Vector3) -> Vector3: ... def reflect_ip(self, other: Vector3) -> None: ... def distance_to(self, other: Vector3) -> float: ... def distance_squared_to(self, other: Vector3) -> float: ... def lerp(self, other: Vector3, value: float) -> Vector3: ... def slerp(self, other: Vector3, value: float) -> Vector3: ... def elementwise(self) -> VectorElementwiseProxy: ... def rotate(self, angle: float, axis: Vector3) -> Vector3: ... def rotate_rad(self, angle: float, axis: Vector3) -> Vector3: ... def rotate_ip(self, angle: float, axis: Vector3) -> None: ... def rotate_ip_rad(self, angle: float, axis: Vector3) -> None: ... def rotate_x(self, angle: float) -> Vector3: ... def rotate_x_rad(self, angle: float) -> Vector3: ... def rotate_x_ip(self, angle: float) -> None: ... def rotate_x_ip_rad(self, angle: float) -> None: ... def rotate_y(self, angle: float) -> Vector3: ... def rotate_y_rad(self, angle: float) -> Vector3: ... def rotate_y_ip(self, angle: float) -> None: ... def rotate_y_ip_rad(self, angle: float) -> None: ... def rotate_z(self, angle: float) -> Vector3: ... def rotate_z_rad(self, angle: float) -> Vector3: ... def rotate_z_ip(self, angle: float) -> None: ... def rotate_z_ip_rad(self, angle: float) -> None: ... def angle_to(self, other: Vector3) -> float: ... def as_spherical(self) -> Tuple[float, float, float]: ... def from_spherical(self, spherical: Tuple[float, float, float]) -> None: ... @overload def update( self, xyz: Optional[ Union[float, Tuple[float, float, float], List[float], Vector3] ] = 0, ) -> None: ... @overload def update(self, x: int, y: int, z) -> None: ...