import typing

import java.io
import java.lang
import javax.xml.transform

class StreamResult(javax.xml.transform.Result):
    FEATURE: typing.ClassVar[str] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, f: java.io.File, /) -> None: ...
    @typing.overload
    def __init__(self, outputStream: java.io.OutputStream, /) -> None: ...
    @typing.overload
    def __init__(self, writer: java.io.Writer, /) -> None: ...
    @typing.overload
    def __init__(self, systemId: str | java.lang.String, /) -> None: ...
    def getOutputStream(self) -> java.io.OutputStream: ...
    def getSystemId(self) -> str: ...
    def getWriter(self) -> java.io.Writer: ...
    def setOutputStream(self, outputStream: java.io.OutputStream, /) -> None: ...
    @typing.overload
    def setSystemId(self, f: java.io.File, /) -> None: ...
    @typing.overload
    def setSystemId(self, systemId: str | java.lang.String, /) -> None: ...
    def setWriter(self, writer: java.io.Writer, /) -> None: ...

class StreamSource(javax.xml.transform.Source):
    FEATURE: typing.ClassVar[str] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, f: java.io.File, /) -> None: ...
    @typing.overload
    def __init__(self, inputStream: java.io.InputStream, /) -> None: ...
    @typing.overload
    def __init__(self, reader: java.io.Reader, /) -> None: ...
    @typing.overload
    def __init__(self, systemId: str | java.lang.String, /) -> None: ...
    @typing.overload
    def __init__(self, inputStream: java.io.InputStream, systemId: str | java.lang.String, /) -> None: ...
    @typing.overload
    def __init__(self, reader: java.io.Reader, systemId: str | java.lang.String, /) -> None: ...
    def getInputStream(self) -> java.io.InputStream: ...
    def getPublicId(self) -> str: ...
    def getReader(self) -> java.io.Reader: ...
    def getSystemId(self) -> str: ...
    def setInputStream(self, inputStream: java.io.InputStream, /) -> None: ...
    def setPublicId(self, publicId: str | java.lang.String, /) -> None: ...
    def setReader(self, reader: java.io.Reader, /) -> None: ...
    @typing.overload
    def setSystemId(self, f: java.io.File, /) -> None: ...
    @typing.overload
    def setSystemId(self, systemId: str | java.lang.String, /) -> None: ...
