import numpy as np

class SumTree:
    size: int

    def __new__(cls, *args): ...
    def __init__(self, size: int | None = None): ...
    def update(self, idxs: np.ndarray, values: np.ndarray): ...
    def update_single(self, idx: int, value: float): ...
    def get_value(self, idx: int) -> float: ...
    def get_values(self, idxs: np.ndarray) -> np.ndarray: ...
    def total(self) -> float: ...
    def query(self, v: np.ndarray) -> np.ndarray: ...
    def __getstate__(self): ...
    def __setstate__(self, state): ...
