import collections

import numpy as np
from numpy.linalg import norm
from numpy.typing import NDArray
from vispy.color.color_array import ColorArray
from vispy.util.svg.color import Color

from ..color import ColorArray
from ..util.transforms import rotate
from .mesh import MeshVisual

class TubeVisual(MeshVisual):
    def __init__(
        self,
        points: NDArray,
        radius: NDArray | float = 1.0,
        closed: bool = False,
        color: ColorArray | Color | str = "purple",
        tube_points: int = 8,
        shading: str | None = "smooth",
        vertex_colors: NDArray | None = None,
        face_colors: NDArray | None = None,
        mode: str = "triangles",
    ): ...

def _frenet_frames(points, closed): ...
