import typing

import java
import java.lang
import org.xml.sax
import org.xmlpull.v1

class Driver(org.xml.sax.Attributes, org.xml.sax.Locator, org.xml.sax.XMLReader):
    APACHE_DYNAMIC_VALIDATION_FEATURE: typing.ClassVar[str] = ...
    APACHE_SCHEMA_VALIDATION_FEATURE: typing.ClassVar[str] = ...
    DECLARATION_HANDLER_PROPERTY: typing.ClassVar[str] = ...
    LEXICAL_HANDLER_PROPERTY: typing.ClassVar[str] = ...
    NAMESPACES_FEATURE: typing.ClassVar[str] = ...
    NAMESPACE_PREFIXES_FEATURE: typing.ClassVar[str] = ...
    VALIDATION_FEATURE: typing.ClassVar[str] = ...
    contentHandler: org.xml.sax.ContentHandler = ...
    errorHandler: org.xml.sax.ErrorHandler = ...
    pp: org.xmlpull.v1.XmlPullParser = ...
    systemId: str = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, pp: org.xmlpull.v1.XmlPullParser, /) -> None: ...
    def getColumnNumber(self) -> int: ...
    def getContentHandler(self) -> org.xml.sax.ContentHandler: ...
    def getDTDHandler(self) -> org.xml.sax.DTDHandler: ...
    def getEntityResolver(self) -> org.xml.sax.EntityResolver: ...
    def getErrorHandler(self) -> org.xml.sax.ErrorHandler: ...
    def getFeature(self, name: str | java.lang.String, /) -> bool: ...
    @typing.overload
    def getIndex(self, qName: str | java.lang.String, /) -> int: ...
    @typing.overload
    def getIndex(self, uri: str | java.lang.String, localName: str | java.lang.String, /) -> int: ...
    def getLength(self) -> int: ...
    def getLineNumber(self) -> int: ...
    def getLocalName(self, index: int | java.jint | java.lang.Integer, /) -> str: ...
    def getProperty(self, name: str | java.lang.String, /) -> java.lang.Object: ...
    def getPublicId(self) -> str: ...
    def getQName(self, index: int | java.jint | java.lang.Integer, /) -> str: ...
    def getSystemId(self) -> str: ...
    @typing.overload
    def getType(self, index: int | java.jint | java.lang.Integer, /) -> str: ...
    @typing.overload
    def getType(self, qName: str | java.lang.String, /) -> str: ...
    @typing.overload
    def getType(self, uri: str | java.lang.String, localName: str | java.lang.String, /) -> str: ...
    def getURI(self, index: int | java.jint | java.lang.Integer, /) -> str: ...
    @typing.overload
    def getValue(self, index: int | java.jint | java.lang.Integer, /) -> str: ...
    @typing.overload
    def getValue(self, qName: str | java.lang.String, /) -> str: ...
    @typing.overload
    def getValue(self, uri: str | java.lang.String, localName: str | java.lang.String, /) -> str: ...
    @typing.overload
    def parse(self, systemId: str | java.lang.String, /) -> None: ...
    @typing.overload
    def parse(self, source: org.xml.sax.InputSource, /) -> None: ...
    def parseSubTree(self, pp: org.xmlpull.v1.XmlPullParser, /) -> None: ...
    def setContentHandler(self, handler: org.xml.sax.ContentHandler, /) -> None: ...
    def setDTDHandler(self, handler: org.xml.sax.DTDHandler, /) -> None: ...
    def setEntityResolver(self, resolver: org.xml.sax.EntityResolver, /) -> None: ...
    def setErrorHandler(self, handler: org.xml.sax.ErrorHandler, /) -> None: ...
    def setFeature(self, name: str | java.lang.String, value: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setProperty(self, name: str | java.lang.String, value: java.lang.Object | int | bool | float | str, /) -> None: ...
    def startElement(self, namespace: str | java.lang.String, localName: str | java.lang.String, qName: str | java.lang.String, /) -> None: ...
