from typing import Any
from typing_extensions import Self

from sympy.core import Basic
from sympy.sets.sets import FiniteSet

rmul = ...

class Polyhedron(Basic):
    _edges = ...
    def __new__(cls, corners, faces=..., pgroup=...) -> Self: ...
    @property
    def corners(self) -> tuple[Any, ...] | Basic: ...

    vertices = ...
    @property
    def array_form(self) -> list[int]: ...
    @property
    def cyclic_form(self) -> list[Any]: ...
    @property
    def size(self) -> int: ...
    @property
    def faces(self): ...
    @property
    def pgroup(self): ...
    @property
    def edges(self) -> FiniteSet: ...
    def rotate(self, perm) -> None: ...
    def reset(self) -> None: ...

tetrahedron = ...
cube = ...
octahedron = ...
dodecahedron = ...
icosahedron = ...
tetrahedron_faces = ...
cube_faces = ...
octahedron_faces = ...
dodecahedron_faces = ...
icosahedron_faces = ...
