import OCP.AppBlend
from typing import *
from typing import Iterable as iterable
from typing import Iterator as iterator
from numpy import float64
_Shape = Tuple[int, ...]
import OCP.TColStd
import OCP.TColgp
__all__  = [
"AppBlend_Approx"
]
class AppBlend_Approx():
    """
    Bspline approximation of a surface.
    """
    def Curve2d(self,Index : int,TPoles : OCP.TColgp.TColgp_Array1OfPnt2d,TKnots : OCP.TColStd.TColStd_Array1OfReal,TMults : OCP.TColStd.TColStd_Array1OfInteger) -> None: ...
    def Curve2dPoles(self,Index : int) -> OCP.TColgp.TColgp_Array1OfPnt2d: ...
    def Curves2dDegree(self) -> int: ...
    def Curves2dKnots(self) -> OCP.TColStd.TColStd_Array1OfReal: ...
    def Curves2dMults(self) -> OCP.TColStd.TColStd_Array1OfInteger: ...
    def Curves2dShape(self) -> tuple[int, int, int]: ...
    def IsDone(self) -> bool: ...
    def NbCurves2d(self) -> int: ...
    def SurfPoles(self) -> OCP.TColgp.TColgp_Array2OfPnt: ...
    def SurfShape(self) -> tuple[int, int, int, int, int, int]: ...
    def SurfUKnots(self) -> OCP.TColStd.TColStd_Array1OfReal: ...
    def SurfUMults(self) -> OCP.TColStd.TColStd_Array1OfInteger: ...
    def SurfVKnots(self) -> OCP.TColStd.TColStd_Array1OfReal: ...
    def SurfVMults(self) -> OCP.TColStd.TColStd_Array1OfInteger: ...
    def SurfWeights(self) -> OCP.TColStd.TColStd_Array2OfReal: ...
    def Surface(self,TPoles : OCP.TColgp.TColgp_Array2OfPnt,TWeights : OCP.TColStd.TColStd_Array2OfReal,TUKnots : OCP.TColStd.TColStd_Array1OfReal,TVKnots : OCP.TColStd.TColStd_Array1OfReal,TUMults : OCP.TColStd.TColStd_Array1OfInteger,TVMults : OCP.TColStd.TColStd_Array1OfInteger) -> None: ...
    def TolCurveOnSurf(self,Index : int) -> float: ...
    def TolReached(self) -> tuple[float, float]: ...
    def UDegree(self) -> int: ...
    def VDegree(self) -> int: ...
    pass
