# rpy_roblox.pyi - Type stubs for Roblox globals in RPy

from typing import Any

class Instance:
    Name: str
    Parent: Instance | None
    def Destroy(self) -> None: ...
    def GetChildren(self) -> list[Instance]: ...
    def GetService(self, service_name: str) -> Instance: ...

class DataType: ...

class Vector3(DataType):
    X: float
    Y: float
    Z: float
    def __init__(self, x: float, y: float, z: float) -> None: ...

class CFrame(DataType):
    Position: Vector3
    def __init__(self, x: float, y: float, z: float) -> None: ...

class Part(Instance):
    Position: Vector3
    Size: Vector3
    Anchored: bool
    CanCollide: bool

class Workspace(Instance):
    def Raycast(self, origin: Vector3, direction: Vector3) -> RaycastResult | None: ...

class RaycastResult:
    Instance: Instance
    Position: Vector3
    Normal: Vector3
    Material: int
    Distance: float

game: Instance
workspace: Workspace

def print(*args: Any) -> None: ...
def warn(*args: Any) -> None: ...
def error(message: str, level: int = 1) -> None: ...
def tick() -> float: ...
def wait(seconds: float) -> float: ...
