from enum import IntEnum
from typing import overload, NewType, Optional, Tuple

from OCC.Core.Standard import *
from OCC.Core.NCollection import *
from OCC.Core.TopoDS import *
from OCC.Core.GeomAdaptor import *
from OCC.Core.gp import *
from OCC.Core.IntCurveSurface import *
from OCC.Core.TopAbs import *


class BRepIntCurveSurface_Inter:
	def __init__(self) -> None: ...
	def Face(self) -> TopoDS_Face: ...
	@overload
	def Init(self, theShape: TopoDS_Shape, theCurve: GeomAdaptor_Curve, theTol: float) -> None: ...
	@overload
	def Init(self, theShape: TopoDS_Shape, theLine: gp_Lin, theTol: float) -> None: ...
	@overload
	def Init(self, theCurve: GeomAdaptor_Curve) -> None: ...
	def Load(self, theShape: TopoDS_Shape, theTol: float) -> None: ...
	def More(self) -> bool: ...
	def Next(self) -> None: ...
	def Pnt(self) -> gp_Pnt: ...
	def Point(self) -> IntCurveSurface_IntersectionPoint: ...
	def State(self) -> TopAbs_State: ...
	def Transition(self) -> IntCurveSurface_TransitionOnCurve: ...
	def U(self) -> float: ...
	def V(self) -> float: ...
	def W(self) -> float: ...

# harray1 classes
# harray2 classes
# hsequence classes

