from typing import overload
import euklid.vector

class Plane:
    @overload
    def __init__(self, arg0: euklid.vector.Transformation) -> None: ...
    @overload
    def __init__(self, arg0: euklid.vector.Vector3D, arg1: euklid.vector.Vector3D, arg2: euklid.vector.Vector3D) -> None: ...
    @overload
    def project(self, arg0: euklid.vector.Vector3D) -> euklid.vector.Vector2D: ...
    @overload
    def project(self, arg0: euklid.vector.PolyLine3D) -> euklid.vector.PolyLine2D: ...
    @property
    def normvector(self) -> euklid.vector.Vector3D: ...
    @property
    def p0(self) -> euklid.vector.Vector3D: ...
    @property
    def x_vector(self) -> euklid.vector.Vector3D: ...
    @property
    def y_vector(self) -> euklid.vector.Vector3D: ...
