import fastparse
import fastparse.core
import java.lang
import scala
import scala.collection
import scala.collection.immutable
import scala.runtime
import sigmastate
import sigmastate.lang
import sigmastate.lang.exceptions
import sourcecode
import typing



class Basic:
    @staticmethod
    def DecNum() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def Digit() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def Exp() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def FloatType() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def HexDigit() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def HexNum() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def Letter() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def LetterDigitDollarUnderscore() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def Lower() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def Newline() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def OpChar() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def Semi() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def UnicodeEscape() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def Upper() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def WSChars() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def digits() -> java.lang.String: ...
    @typing.overload
    @staticmethod
    def error(msg: typing.Union[java.lang.String, str], srcCtx: scala.Option[sigmastate.lang.SourceContext]) -> scala.runtime.Nothing.: ...
    @typing.overload
    @staticmethod
    def error(msg: typing.Union[java.lang.String, str], srcCtx: sigmastate.lang.SourceContext) -> scala.runtime.Nothing.: ...
    @staticmethod
    def hexDigits() -> java.lang.String: ...
    @staticmethod
    def isOpChar(c: str) -> bool: ...

class Identifiers:
    @staticmethod
    def AlphabetKeywords() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def BacktickId() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def Id() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def IdRest(allowDollar: bool) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def Keywords() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def NotBackTick() -> 'Identifiers.NamedFunction': ...
    @staticmethod
    def OpCharNotSlash() -> 'Identifiers.NamedFunction': ...
    @staticmethod
    def Operator() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def PlainId() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def PlainIdNoDollar() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def SymbolicKeywords() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def VarId() -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def VarId0(dollar: bool) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def alphaKeywords() -> scala.collection.Seq[java.lang.String]: ...
    @staticmethod
    def keywords() -> scala.collection.Seq[java.lang.String]: ...
    @staticmethod
    def symbolKeywords() -> scala.collection.Seq[java.lang.String]: ...
    class NamedFunction(scala.Function1[typing.Any, typing.Any], scala.Product, scala.Serializable):
        def __init__(self, f: scala.Function1[typing.Any, typing.Any], name: sourcecode.Name): ...
        _andThen__A = typing.TypeVar('_andThen__A')  # <A>
        def andThen(self, g: scala.Function1[typing.Any, _andThen__A]) -> scala.Function1[typing.Any, _andThen__A]: ...
        def apply(self, t: str) -> bool: ...
        def apply$mcDD$sp(self, v1: float) -> float: ...
        def apply$mcDF$sp(self, v1: float) -> float: ...
        def apply$mcDI$sp(self, v1: int) -> float: ...
        def apply$mcDJ$sp(self, v1: int) -> float: ...
        def apply$mcFD$sp(self, v1: float) -> float: ...
        def apply$mcFF$sp(self, v1: float) -> float: ...
        def apply$mcFI$sp(self, v1: int) -> float: ...
        def apply$mcFJ$sp(self, v1: int) -> float: ...
        def apply$mcID$sp(self, v1: float) -> int: ...
        def apply$mcIF$sp(self, v1: float) -> int: ...
        def apply$mcII$sp(self, v1: int) -> int: ...
        def apply$mcIJ$sp(self, v1: int) -> int: ...
        def apply$mcJD$sp(self, v1: float) -> int: ...
        def apply$mcJF$sp(self, v1: float) -> int: ...
        def apply$mcJI$sp(self, v1: int) -> int: ...
        def apply$mcJJ$sp(self, v1: int) -> int: ...
        def apply$mcVD$sp(self, v1: float) -> None: ...
        def apply$mcVF$sp(self, v1: float) -> None: ...
        def apply$mcVI$sp(self, v1: int) -> None: ...
        def apply$mcVJ$sp(self, v1: int) -> None: ...
        def apply$mcZD$sp(self, v1: float) -> bool: ...
        def apply$mcZF$sp(self, v1: float) -> bool: ...
        def apply$mcZI$sp(self, v1: int) -> bool: ...
        def apply$mcZJ$sp(self, v1: int) -> bool: ...
        def canEqual(self, x$1: typing.Any) -> bool: ...
        _compose__A = typing.TypeVar('_compose__A')  # <A>
        def compose(self, g: scala.Function1[_compose__A, typing.Any]) -> scala.Function1[_compose__A, typing.Any]: ...
        def copy(self, f: scala.Function1[typing.Any, typing.Any], name: sourcecode.Name) -> 'Identifiers.NamedFunction': ...
        def copy$default$1(self) -> scala.Function1[typing.Any, typing.Any]: ...
        def equals(self, x$1: typing.Any) -> bool: ...
        def f(self) -> scala.Function1[typing.Any, typing.Any]: ...
        def hashCode(self) -> int: ...
        def productArity(self) -> int: ...
        def productElement(self, x$1: int) -> typing.Any: ...
        def productIterator(self) -> scala.collection.Iterator[typing.Any]: ...
        def productPrefix(self) -> java.lang.String: ...
        def toString(self) -> java.lang.String: ...
    class NamedFunction$(scala.Serializable):
        MODULE$: typing.ClassVar['Identifiers.NamedFunction.'] = ...
        def __init__(self): ...
        def apply(self, f: scala.Function1[typing.Any, typing.Any], name: sourcecode.Name) -> 'Identifiers.NamedFunction': ...
        def toString(self) -> java.lang.String: ...
        def unapply(self, x$0: 'Identifiers.NamedFunction') -> scala.Option[scala.Function1[typing.Any, typing.Any]]: ...

class Key:
    @staticmethod
    def O(s: typing.Union[java.lang.String, str]) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def W(s: typing.Union[java.lang.String, str]) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...

class ParserException(sigmastate.lang.exceptions.SigmaException):
    def __init__(self, message: typing.Union[java.lang.String, str], source: scala.Option[sigmastate.lang.SourceContext]): ...

_Core__WhitespaceApi2__T = typing.TypeVar('_Core__WhitespaceApi2__T')  # <T>
class Core(sigmastate.lang.syntax.Literals):
    def $at(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def $colon(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def $eq(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def $eq$greater(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def $greater$colon(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def $hash(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    @staticmethod
    def $init$($this: 'Core') -> None: ...
    def $less$colon(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def $times(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def $u007B(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def $u007D(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def BacktickId(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def ExprLiteral(self) -> fastparse.core.Parser[sigmastate.Values.Constant[sigmastate.SMonoType], typing.Any, java.lang.String]: ...
    def Id(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def Ids(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def PatLiteral(self) -> fastparse.core.Parser[sigmastate.Values.Constant[sigmastate.SMonoType], typing.Any, java.lang.String]: ...
    def PostDotCheck(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def QualId(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def StableId(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
    def VarId(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def WhitespaceApi(self) -> 'Core.Wrapper2': ...
    def _(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def _$times(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def case(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def extends(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def implicit(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def lazy(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def match(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def mkBinaryOp(self, l: sigmastate.Values.Value[sigmastate.SType], opName: typing.Union[java.lang.String, str], r: sigmastate.Values.Value[sigmastate.SType]) -> sigmastate.Values.Value[sigmastate.SType]: ...
    def mkUnaryOp(self, opName: typing.Union[java.lang.String, str], arg: sigmastate.Values.Value[sigmastate.SType]) -> sigmastate.Values.Value[sigmastate.SType]: ...
    def new(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def sigmastate$lang$syntax$Core$_setter_$$at_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$$colon_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$$eq$greater_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$$eq_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$$greater$colon_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$$hash_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$$less$colon_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$$times_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$$u007B_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$$u007D_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$BacktickId_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$ExprLiteral_$eq(self, x$1: fastparse.core.Parser[sigmastate.Values.Constant[sigmastate.SMonoType], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$Id_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$Ids_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$PatLiteral_$eq(self, x$1: fastparse.core.Parser[sigmastate.Values.Constant[sigmastate.SMonoType], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$PostDotCheck_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$QualId_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$StableId_$eq(self, x$1: fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$VarId_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$WhitespaceApi_$eq(self, x$1: 'Core.Wrapper2') -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$_$times_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$__$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$case_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$def_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$else_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$extends_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$if_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$implicit_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$lazy_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$match_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$new_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$return_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$super_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$then_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$this_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$type_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$val_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Core$_setter_$with_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def super(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def then(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def this(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def type(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def val(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    class WhitespaceApi2(fastparse.WhitespaceApi[_Core__WhitespaceApi2__T], typing.Generic[_Core__WhitespaceApi2__T]):
        $outer: 'Core' = ...
        def __init__(self, $outer: 'Core', p0: fastparse.core.Parser[_Core__WhitespaceApi2__T, typing.Any, typing.Union[java.lang.String, str]], WL: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]): ...
        _repTC__R = typing.TypeVar('_repTC__R')  # <R>
        def repTC(self, min: int, max: int, exactly: int, ev: fastparse.core.Implicits.Repeater[_Core__WhitespaceApi2__T, _repTC__R]) -> fastparse.core.Parser[_repTC__R, typing.Any, java.lang.String]: ...
        _repTC$default$1__R = typing.TypeVar('_repTC$default$1__R')  # <R>
        def repTC$default$1(self) -> int: ...
        _repTC$default$2__R = typing.TypeVar('_repTC$default$2__R')  # <R>
        def repTC$default$2(self) -> int: ...
        _repTC$default$3__R = typing.TypeVar('_repTC$default$3__R')  # <R>
        def repTC$default$3(self) -> int: ...
    class Wrapper2:
        $outer: 'Core' = ...
        def __init__(self, $outer: 'Core', WL: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]): ...
        _parserApi2__T = typing.TypeVar('_parserApi2__T')  # <T>
        _parserApi2__V = typing.TypeVar('_parserApi2__V')  # <V>
        def parserApi2(self, p0: _parserApi2__T, c: scala.Function1[_parserApi2__T, fastparse.core.Parser[_parserApi2__V, typing.Any, typing.Union[java.lang.String, str]]]) -> 'Core.WhitespaceApi2'[_parserApi2__V]: ...

class Exprs(sigmastate.lang.Types):
    @staticmethod
    def $init$($this: 'Exprs') -> None: ...
    def AnonTmpl(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def ArgList(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
    def BaseBlock(self, end: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]], name: sourcecode.Name) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
    def BindPattern(self) -> fastparse.core.Parser[typing.Any, typing.Any, java.lang.String]: ...
    def Block(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
    def BlockChunk(self) -> fastparse.core.Parser[scala.Tuple2[scala.collection.Seq[scala.collection.Seq[scala.Tuple2[java.lang.String, sigmastate.SType]]], scala.collection.Seq[sigmastate.Values.Value[sigmastate.SType]]], typing.Any, java.lang.String]: ...
    def BlockDef(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
    def BlockExpr(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
    def BlockLambda(self) -> fastparse.core.Parser[scala.collection.Seq[scala.Tuple2[java.lang.String, sigmastate.SType]], typing.Any, java.lang.String]: ...
    def BlockLambdaHead(self) -> fastparse.core.Parser[scala.collection.Seq[scala.Tuple2[java.lang.String, sigmastate.SType]], typing.Any, java.lang.String]: ...
    def CaseBlock(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
    def CaseClauses(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def ExprCtx(self) -> 'Exprs.ExprCtx.': ...
    def FreeCtx(self) -> 'Exprs.FreeCtx.': ...
    def FunDef(self) -> fastparse.core.Parser[sigmastate.lang.Terms.Val, typing.Any, java.lang.String]: ...
    def ParenArgList(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
    def Pattern(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def Patterns(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def SimplePattern(self) -> fastparse.core.Parser[typing.Any, typing.Any, java.lang.String]: ...
    def StatCtx(self) -> 'Exprs.StatCtx.': ...
    def TypeExpr(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
    def TypeOrBindPattern(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def TypePat(self) -> fastparse.core.Parser[sigmastate.SType, typing.Any, java.lang.String]: ...
    def TypePattern(self) -> fastparse.core.Parser[sigmastate.SType, typing.Any, java.lang.String]: ...
    def applySuffix(self, f: sigmastate.Values.Value[sigmastate.SType], args: scala.collection.Seq[sigmastate.SigmaNode]) -> sigmastate.Values.Value[sigmastate.SType]: ...
    def block(self, stats: scala.collection.Seq[sigmastate.Values.Value[sigmastate.SType]]) -> sigmastate.Values.Value[sigmastate.SType]: ...
    def extractBlockStats(self, stats: scala.collection.Seq[sigmastate.Values.Value[sigmastate.SType]]) -> scala.Tuple2[scala.collection.Seq[sigmastate.lang.Terms.Val], sigmastate.Values.Value[sigmastate.SType]]: ...
    def mkInfixTree(self, lhs: sigmastate.Values.Value[sigmastate.SType], rhss: scala.collection.Seq[scala.Tuple2[typing.Union[java.lang.String, str], sigmastate.Values.Value[sigmastate.SType]]]) -> sigmastate.Values.Value[sigmastate.SType]: ...
    @typing.overload
    def precedenceOf(self, ch: str) -> int: ...
    @typing.overload
    def precedenceOf(self, op: typing.Union[java.lang.String, str]) -> int: ...
    def priorityList(self) -> scala.collection.Seq[scala.collection.Seq[typing.Any]]: ...
    def priorityMap(self) -> scala.collection.immutable.Map[typing.Any, typing.Any]: ...
    def sigmastate$lang$syntax$Exprs$$predefFuncRegistry(self) -> sigmastate.lang.SigmaPredef.PredefinedFuncRegistry: ...
    def sigmastate$lang$syntax$Exprs$_setter_$ArgList_$eq(self, x$1: fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$BindPattern_$eq(self, x$1: fastparse.core.Parser[typing.Any, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$BlockChunk_$eq(self, x$1: fastparse.core.Parser[scala.Tuple2[scala.collection.Seq[scala.collection.Seq[scala.Tuple2[typing.Union[java.lang.String, str], sigmastate.SType]]], scala.collection.Seq[sigmastate.Values.Value[sigmastate.SType]]], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$BlockExpr_$eq(self, x$1: fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$BlockLambdaHead_$eq(self, x$1: fastparse.core.Parser[scala.collection.Seq[scala.Tuple2[typing.Union[java.lang.String, str], sigmastate.SType]], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$BlockLambda_$eq(self, x$1: fastparse.core.Parser[scala.collection.Seq[scala.Tuple2[typing.Union[java.lang.String, str], sigmastate.SType]], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$Block_$eq(self, x$1: fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$CaseBlock_$eq(self, x$1: fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$CaseClauses_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$FunDef_$eq(self, x$1: fastparse.core.Parser[sigmastate.lang.Terms.Val, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$ParenArgList_$eq(self, x$1: fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$Pattern_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$Patterns_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$SimplePattern_$eq(self, x$1: fastparse.core.Parser[typing.Any, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$TypeExpr_$eq(self, x$1: fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$TypeOrBindPattern_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$TypePat_$eq(self, x$1: fastparse.core.Parser[sigmastate.SType, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$TypePattern_$eq(self, x$1: fastparse.core.Parser[sigmastate.SType, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$priorityList_$eq(self, x$1: scala.collection.Seq[scala.collection.Seq[typing.Any]]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$priorityMap_$eq(self, x$1: scala.collection.immutable.Map[typing.Any, typing.Any]) -> None: ...
    def sigmastate$lang$syntax$Exprs$_setter_$sigmastate$lang$syntax$Exprs$$predefFuncRegistry_$eq(self, x$1: sigmastate.lang.SigmaPredef.PredefinedFuncRegistry) -> None: ...
    class ExprCtx$(sigmastate.lang.syntax.Exprs.WsCtx):
        def __init__(self, $outer: 'Exprs'): ...
    class FreeCtx$(sigmastate.lang.syntax.Exprs.WsCtx):
        def __init__(self, $outer: 'Exprs'): ...
    class StatCtx$(sigmastate.lang.syntax.Exprs.WsCtx):
        def __init__(self, $outer: 'Exprs'): ...
    class WsCtx:
        $outer: 'Exprs' = ...
        def __init__(self, $outer: 'Exprs', semiInference: bool, arrowTypeAscriptions: bool): ...
        def Ascription(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def AscriptionType(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def Expr(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
        def ExprPrefix(self) -> fastparse.core.Parser[java.lang.String, typing.Any, java.lang.String]: ...
        def ExprSuffix(self) -> fastparse.core.Parser[scala.collection.Seq[sigmastate.SigmaNode], typing.Any, java.lang.String]: ...
        def Guard(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def InfixSuffix(self) -> fastparse.core.Parser[scala.Tuple2[java.lang.String, sigmastate.Values.Value[sigmastate.SType]], typing.Any, java.lang.String]: ...
        def MatchAscriptionSuffix(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def NoSemis(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def OneSemiMax(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def Parened(self) -> fastparse.core.Parser[scala.collection.Seq[sigmastate.Values.Value[sigmastate.SType]], typing.Any, java.lang.String]: ...
        def PostFix(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
        def PostfixExpr(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
        def PostfixSuffix(self) -> fastparse.core.Parser[scala.Tuple2[scala.collection.Seq[scala.Tuple2[java.lang.String, sigmastate.Values.Value[sigmastate.SType]]], scala.Option[sigmastate.Values.Value[sigmastate.SType]]], typing.Any, java.lang.String]: ...
        def PrefixExpr(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
        def SimpleExpr(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
        def SuperPostfixSuffix(self) -> fastparse.core.Parser[scala.Option[sigmastate.Values.Value[sigmastate.SType]], typing.Any, java.lang.String]: ...

_Literals__ParserOps__T = typing.TypeVar('_Literals__ParserOps__T')  # <T>
class Literals:
    @staticmethod
    def $init$($this: 'Literals') -> None: ...
    def Block(self) -> fastparse.core.Parser[sigmastate.Values.Value[sigmastate.SType], typing.Any, java.lang.String]: ...
    def Literals(self) -> 'Literals.Literals.': ...
    def Newline(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def NotNewline(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def OneNLMax(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def Pattern(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def Semi(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def Semis(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def TrailingComma(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def WL(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def WL0(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    def WS(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
    _atSrcPos__A = typing.TypeVar('_atSrcPos__A')  # <A>
    def atSrcPos(self, parserIndex: int, thunk: scala.Function0[_atSrcPos__A]) -> _atSrcPos__A: ...
    def builder(self) -> sigmastate.lang.SigmaBuilder: ...
    def sigmastate$lang$syntax$Literals$_setter_$Newline_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Literals$_setter_$NotNewline_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Literals$_setter_$OneNLMax_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Literals$_setter_$Semi_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Literals$_setter_$Semis_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Literals$_setter_$TrailingComma_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Literals$_setter_$WL0_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Literals$_setter_$WL_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Literals$_setter_$WS_$eq(self, x$1: fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]) -> None: ...
    def sigmastate$lang$syntax$Literals$_setter_$builder_$eq(self, x$1: sigmastate.lang.SigmaBuilder) -> None: ...
    def srcCtx(self, parserIndex: int) -> sigmastate.lang.SourceContext: ...
    class Literals$:
        def __init__(self, $outer: 'Literals'): ...
        def Bool(self) -> fastparse.core.Parser[sigmastate.Values.Constant[sigmastate.SBoolean.], typing.Any, java.lang.String]: ...
        def Char(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def Comment(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def CommentChunk(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def Escape(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def Expr(self) -> 'Literals.Literals.Expr.': ...
        def Float(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def Int(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def LineComment(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def MultilineComment(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def NoInterp(self) -> 'Literals.Literals.NoInterp.': ...
        def Null(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def OctalEscape(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def Pat(self) -> 'Literals.Literals.Pat.': ...
        def SameLineCharChunks(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        def Symbol(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        class Expr$(sigmastate.lang.syntax.Literals.Literals.InterpCtx):
            def __init__(self, $outer: 'Literals.Literals.'): ...
        class InterpCtx:
            $outer: 'Literals.Literals.' = ...
            def __init__(self, $outer: 'Literals.Literals.', interp: scala.Option[fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, typing.Union[java.lang.String, str]]]): ...
            def Interp(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
            def Literal(self) -> fastparse.core.Parser[sigmastate.Values.Constant[sigmastate.SMonoType], typing.Any, java.lang.String]: ...
            def NonTripleQuoteChar(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
            def SingleChars(self, allowSlash: bool) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
            def String(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
            def StringChars(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
            def TQ(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
            def TripleChars(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
            def TripleTail(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...
        class NoInterp$(sigmastate.lang.syntax.Literals.Literals.InterpCtx):
            def __init__(self, $outer: 'Literals.Literals.'): ...
        class Pat$(sigmastate.lang.syntax.Literals.Literals.InterpCtx):
            def __init__(self, $outer: 'Literals.Literals.'): ...
    class ParserOps(typing.Generic[_Literals__ParserOps__T]):
        $outer: 'Literals' = ...
        def __init__(self, $outer: 'Literals', p: fastparse.core.Parser[_Literals__ParserOps__T, typing.Any, typing.Union[java.lang.String, str]]): ...
        def ignore(self) -> fastparse.core.Parser[scala.runtime.BoxedUnit, typing.Any, java.lang.String]: ...


class __module_protocol__(typing.Protocol):
    # A module protocol which reflects the result of ``jp.JPackage("sigmastate.lang.syntax")``.

    Basic: typing.Type[Basic]
    Core: typing.Type[Core]
    Exprs: typing.Type[Exprs]
    Identifiers: typing.Type[Identifiers]
    Key: typing.Type[Key]
    Literals: typing.Type[Literals]
    ParserException: typing.Type[ParserException]
