import typing

import java
import java.chaquopy
import java.io
import java.lang
import java.util

class XmlPullParser(java.lang.Object):
    CDSECT: typing.ClassVar[int] = ...
    COMMENT: typing.ClassVar[int] = ...
    DOCDECL: typing.ClassVar[int] = ...
    END_DOCUMENT: typing.ClassVar[int] = ...
    END_TAG: typing.ClassVar[int] = ...
    ENTITY_REF: typing.ClassVar[int] = ...
    FEATURE_PROCESS_DOCDECL: typing.ClassVar[str] = ...
    FEATURE_PROCESS_NAMESPACES: typing.ClassVar[str] = ...
    FEATURE_REPORT_NAMESPACE_ATTRIBUTES: typing.ClassVar[str] = ...
    FEATURE_VALIDATION: typing.ClassVar[str] = ...
    IGNORABLE_WHITESPACE: typing.ClassVar[int] = ...
    NO_NAMESPACE: typing.ClassVar[str] = ...
    PROCESSING_INSTRUCTION: typing.ClassVar[int] = ...
    START_DOCUMENT: typing.ClassVar[int] = ...
    START_TAG: typing.ClassVar[int] = ...
    TEXT: typing.ClassVar[int] = ...
    TYPES: typing.ClassVar[java.chaquopy.JavaArray[java.lang.String]] = ...
    def defineEntityReplacementText(self, arg1: str | java.lang.String, arg2: str | java.lang.String, /) -> None: ...
    def getAttributeCount(self) -> int: ...
    def getAttributeName(self, arg1: int | java.jint | java.lang.Integer, /) -> str: ...
    def getAttributeNamespace(self, arg1: int | java.jint | java.lang.Integer, /) -> str: ...
    def getAttributePrefix(self, arg1: int | java.jint | java.lang.Integer, /) -> str: ...
    def getAttributeType(self, arg1: int | java.jint | java.lang.Integer, /) -> str: ...
    @typing.overload
    def getAttributeValue(self, arg1: int | java.jint | java.lang.Integer, /) -> str: ...
    @typing.overload
    def getAttributeValue(self, arg1: str | java.lang.String, arg2: str | java.lang.String, /) -> str: ...
    def getColumnNumber(self) -> int: ...
    def getDepth(self) -> int: ...
    def getEventType(self) -> int: ...
    def getFeature(self, arg1: str | java.lang.String, /) -> bool: ...
    def getInputEncoding(self) -> str: ...
    def getLineNumber(self) -> int: ...
    def getName(self) -> str: ...
    @typing.overload
    def getNamespace(self) -> str: ...
    @typing.overload
    def getNamespace(self, arg1: str | java.lang.String, /) -> str: ...
    def getNamespaceCount(self, arg1: int | java.jint | java.lang.Integer, /) -> int: ...
    def getNamespacePrefix(self, arg1: int | java.jint | java.lang.Integer, /) -> str: ...
    def getNamespaceUri(self, arg1: int | java.jint | java.lang.Integer, /) -> str: ...
    def getPositionDescription(self) -> str: ...
    def getPrefix(self) -> str: ...
    def getProperty(self, arg1: str | java.lang.String, /) -> java.lang.Object: ...
    def getText(self) -> str: ...
    def getTextCharacters(self, arg1: java.chaquopy.JavaArrayJInt, /) -> java.chaquopy.JavaArrayJChar: ...
    def isAttributeDefault(self, arg1: int | java.jint | java.lang.Integer, /) -> bool: ...
    def isEmptyElementTag(self) -> bool: ...
    def isWhitespace(self) -> bool: ...
    def next(self) -> int: ...
    def nextTag(self) -> int: ...
    def nextText(self) -> str: ...
    def nextToken(self) -> int: ...
    def require(self, arg1: int | java.jint | java.lang.Integer, arg2: str | java.lang.String, arg3: str | java.lang.String, /) -> None: ...
    def setFeature(self, arg1: str | java.lang.String, arg2: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    @typing.overload
    def setInput(self, arg1: java.io.Reader, /) -> None: ...
    @typing.overload
    def setInput(self, arg1: java.io.InputStream, arg2: str | java.lang.String, /) -> None: ...
    def setProperty(self, arg1: str | java.lang.String, arg2: java.lang.Object | int | bool | float | str, /) -> None: ...

class XmlPullParserException(java.lang.Exception):
    column: int = ...
    detail: java.lang.Throwable = ...
    row: int = ...
    @typing.overload
    def __init__(self, s: str | java.lang.String, /) -> None: ...
    @typing.overload
    def __init__(self, msg: str | java.lang.String, parser: XmlPullParser, chain: java.lang.Throwable, /) -> None: ...
    def getColumnNumber(self) -> int: ...
    def getDetail(self) -> java.lang.Throwable: ...
    def getLineNumber(self) -> int: ...
    def printStackTrace(self) -> None: ...

class XmlPullParserFactory(java.lang.Object):
    PROPERTY_NAME: typing.ClassVar[str] = ...
    classNamesLocation: str = ...
    features: java.util.HashMap[java.lang.String, java.lang.Boolean] = ...
    parserClasses: java.util.ArrayList = ...
    serializerClasses: java.util.ArrayList = ...
    def __init__(self) -> None: ...
    def getFeature(self, name: str | java.lang.String, /) -> bool: ...
    def isNamespaceAware(self) -> bool: ...
    def isValidating(self) -> bool: ...
    @typing.overload
    @staticmethod
    def newInstance() -> XmlPullParserFactory: ...
    @typing.overload
    @staticmethod
    def newInstance(unused: str | java.lang.String, unused2: typing.Type, /) -> XmlPullParserFactory: ...
    def newPullParser(self) -> XmlPullParser: ...
    def newSerializer(self) -> XmlSerializer: ...
    def setFeature(self, name: str | java.lang.String, state: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setNamespaceAware(self, awareness: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setValidating(self, validating: bool | java.jboolean | java.lang.Boolean, /) -> None: ...

class XmlSerializer(java.lang.Object):
    def attribute(self, arg1: str | java.lang.String, arg2: str | java.lang.String, arg3: str | java.lang.String, /) -> XmlSerializer: ...
    def cdsect(self, arg1: str | java.lang.String, /) -> None: ...
    def comment(self, arg1: str | java.lang.String, /) -> None: ...
    def docdecl(self, arg1: str | java.lang.String, /) -> None: ...
    def endDocument(self) -> None: ...
    def endTag(self, arg1: str | java.lang.String, arg2: str | java.lang.String, /) -> XmlSerializer: ...
    def entityRef(self, arg1: str | java.lang.String, /) -> None: ...
    def flush(self) -> None: ...
    def getDepth(self) -> int: ...
    def getFeature(self, arg1: str | java.lang.String, /) -> bool: ...
    def getName(self) -> str: ...
    def getNamespace(self) -> str: ...
    def getPrefix(self, arg1: str | java.lang.String, arg2: bool | java.jboolean | java.lang.Boolean, /) -> str: ...
    def getProperty(self, arg1: str | java.lang.String, /) -> java.lang.Object: ...
    def ignorableWhitespace(self, arg1: str | java.lang.String, /) -> None: ...
    def processingInstruction(self, arg1: str | java.lang.String, /) -> None: ...
    def setFeature(self, arg1: str | java.lang.String, arg2: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    @typing.overload
    def setOutput(self, arg1: java.io.Writer, /) -> None: ...
    @typing.overload
    def setOutput(self, arg1: java.io.OutputStream, arg2: str | java.lang.String, /) -> None: ...
    def setPrefix(self, arg1: str | java.lang.String, arg2: str | java.lang.String, /) -> None: ...
    def setProperty(self, arg1: str | java.lang.String, arg2: java.lang.Object | int | bool | float | str, /) -> None: ...
    def startDocument(self, arg1: str | java.lang.String, arg2: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def startTag(self, arg1: str | java.lang.String, arg2: str | java.lang.String, /) -> XmlSerializer: ...
    @typing.overload
    def text(self, arg1: str | java.lang.String, /) -> XmlSerializer: ...
    @typing.overload
    def text(self, arg1: java.chaquopy.JavaArrayJChar, arg2: int | java.jint | java.lang.Integer, arg3: int | java.jint | java.lang.Integer, /) -> XmlSerializer: ...
