import typing

import java
import java.io
import java.lang
import javax.xml.validation
import org.w3c.dom
import org.xml.sax
import org.xml.sax.helpers

class DocumentBuilder(java.lang.Object):
    def __init__(self) -> None: ...
    def getDOMImplementation(self) -> org.w3c.dom.DOMImplementation: ...
    def getSchema(self) -> javax.xml.validation.Schema: ...
    def isNamespaceAware(self) -> bool: ...
    def isValidating(self) -> bool: ...
    def isXIncludeAware(self) -> bool: ...
    def newDocument(self) -> org.w3c.dom.Document: ...
    @typing.overload
    def parse(self, f: java.io.File, /) -> org.w3c.dom.Document: ...
    @typing.overload
    def parse(self, is_: java.io.InputStream, /) -> org.w3c.dom.Document: ...
    @typing.overload
    def parse(self, uri: str | java.lang.String, /) -> org.w3c.dom.Document: ...
    @typing.overload
    def parse(self, arg1: org.xml.sax.InputSource, /) -> org.w3c.dom.Document: ...
    @typing.overload
    def parse(self, is_: java.io.InputStream, systemId: str | java.lang.String, /) -> org.w3c.dom.Document: ...
    def reset(self) -> None: ...
    def setEntityResolver(self, arg1: org.xml.sax.EntityResolver, /) -> None: ...
    def setErrorHandler(self, arg1: org.xml.sax.ErrorHandler, /) -> None: ...

class DocumentBuilderFactory(java.lang.Object):
    def __init__(self) -> None: ...
    def getAttribute(self, arg1: str | java.lang.String, /) -> java.lang.Object: ...
    def getFeature(self, arg1: str | java.lang.String, /) -> bool: ...
    def getSchema(self) -> javax.xml.validation.Schema: ...
    def isCoalescing(self) -> bool: ...
    def isExpandEntityReferences(self) -> bool: ...
    def isIgnoringComments(self) -> bool: ...
    def isIgnoringElementContentWhitespace(self) -> bool: ...
    def isNamespaceAware(self) -> bool: ...
    def isValidating(self) -> bool: ...
    def isXIncludeAware(self) -> bool: ...
    def newDocumentBuilder(self) -> DocumentBuilder: ...
    @typing.overload
    @staticmethod
    def newInstance() -> DocumentBuilderFactory: ...
    @typing.overload
    @staticmethod
    def newInstance(factoryClassName: str | java.lang.String, classLoader: java.lang.ClassLoader, /) -> DocumentBuilderFactory: ...
    def setAttribute(self, arg1: str | java.lang.String, arg2: java.lang.Object | int | bool | float | str, /) -> None: ...
    def setCoalescing(self, coalescing: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setExpandEntityReferences(self, expandEntityRef: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setFeature(self, arg1: str | java.lang.String, arg2: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setIgnoringComments(self, ignoreComments: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setIgnoringElementContentWhitespace(self, whitespace: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setNamespaceAware(self, awareness: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setSchema(self, schema: javax.xml.validation.Schema, /) -> None: ...
    def setValidating(self, validating: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setXIncludeAware(self, state: bool | java.jboolean | java.lang.Boolean, /) -> None: ...

class FactoryConfigurationError(java.lang.Error):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, e: java.lang.Exception, /) -> None: ...
    @typing.overload
    def __init__(self, msg: str | java.lang.String, /) -> None: ...
    @typing.overload
    def __init__(self, e: java.lang.Exception, msg: str | java.lang.String, /) -> None: ...
    def getException(self) -> java.lang.Exception: ...
    def getMessage(self) -> str: ...

class ParserConfigurationException(java.lang.Exception):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, msg: str | java.lang.String, /) -> None: ...

class SAXParser(java.lang.Object):
    def __init__(self) -> None: ...
    def getParser(self) -> org.xml.sax.Parser: ...
    def getProperty(self, arg1: str | java.lang.String, /) -> java.lang.Object: ...
    def getSchema(self) -> javax.xml.validation.Schema: ...
    def getXMLReader(self) -> org.xml.sax.XMLReader: ...
    def isNamespaceAware(self) -> bool: ...
    def isValidating(self) -> bool: ...
    def isXIncludeAware(self) -> bool: ...
    @typing.overload
    def parse(self, f: java.io.File, hb: org.xml.sax.HandlerBase, /) -> None: ...
    @typing.overload
    def parse(self, f: java.io.File, dh: org.xml.sax.helpers.DefaultHandler, /) -> None: ...
    @typing.overload
    def parse(self, is_: java.io.InputStream, hb: org.xml.sax.HandlerBase, /) -> None: ...
    @typing.overload
    def parse(self, is_: java.io.InputStream, dh: org.xml.sax.helpers.DefaultHandler, /) -> None: ...
    @typing.overload
    def parse(self, uri: str | java.lang.String, hb: org.xml.sax.HandlerBase, /) -> None: ...
    @typing.overload
    def parse(self, uri: str | java.lang.String, dh: org.xml.sax.helpers.DefaultHandler, /) -> None: ...
    @typing.overload
    def parse(self, is_: org.xml.sax.InputSource, hb: org.xml.sax.HandlerBase, /) -> None: ...
    @typing.overload
    def parse(self, is_: org.xml.sax.InputSource, dh: org.xml.sax.helpers.DefaultHandler, /) -> None: ...
    @typing.overload
    def parse(self, is_: java.io.InputStream, hb: org.xml.sax.HandlerBase, systemId: str | java.lang.String, /) -> None: ...
    @typing.overload
    def parse(self, is_: java.io.InputStream, dh: org.xml.sax.helpers.DefaultHandler, systemId: str | java.lang.String, /) -> None: ...
    def reset(self) -> None: ...
    def setProperty(self, arg1: str | java.lang.String, arg2: java.lang.Object | int | bool | float | str, /) -> None: ...

class SAXParserFactory(java.lang.Object):
    def __init__(self) -> None: ...
    def getFeature(self, arg1: str | java.lang.String, /) -> bool: ...
    def getSchema(self) -> javax.xml.validation.Schema: ...
    def isNamespaceAware(self) -> bool: ...
    def isValidating(self) -> bool: ...
    def isXIncludeAware(self) -> bool: ...
    @typing.overload
    @staticmethod
    def newInstance() -> SAXParserFactory: ...
    @typing.overload
    @staticmethod
    def newInstance(factoryClassName: str | java.lang.String, classLoader: java.lang.ClassLoader, /) -> SAXParserFactory: ...
    def newSAXParser(self) -> SAXParser: ...
    def setFeature(self, arg1: str | java.lang.String, arg2: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setNamespaceAware(self, awareness: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setSchema(self, schema: javax.xml.validation.Schema, /) -> None: ...
    def setValidating(self, validating: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setXIncludeAware(self, state: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
