import typing

import java
import java.chaquopy
import java.io
import java.lang
import java.nio
import java.nio.charset
import java.nio.file.attribute
import java.time
import java.util
import java.util.stream

class Adler32(Checksum):
    def __init__(self) -> None: ...
    def getValue(self) -> int: ...
    def reset(self) -> None: ...
    @typing.overload
    def update(self, b: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def update(self, buffer: java.nio.ByteBuffer, /) -> None: ...
    @typing.overload
    def update(self, b: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def update(self, b: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...

class CRC32(Checksum):
    def __init__(self) -> None: ...
    def getValue(self) -> int: ...
    def reset(self) -> None: ...
    @typing.overload
    def update(self, b: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def update(self, buffer: java.nio.ByteBuffer, /) -> None: ...
    @typing.overload
    def update(self, b: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def update(self, b: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...

class CRC32C(Checksum):
    def __init__(self) -> None: ...
    def getValue(self) -> int: ...
    def reset(self) -> None: ...
    @typing.overload
    def update(self, b: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def update(self, buffer: java.nio.ByteBuffer, /) -> None: ...
    @typing.overload
    def update(self, b: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...

class CheckedInputStream(java.io.FilterInputStream):
    def __init__(self, in_: java.io.InputStream, cksum: Checksum, /) -> None: ...
    def getChecksum(self) -> Checksum: ...
    @typing.overload
    def read(self) -> int: ...
    @typing.overload
    def read(self, buf: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> int: ...
    def skip(self, n: int | java.jlong | java.lang.Long, /) -> int: ...

class CheckedOutputStream(java.io.FilterOutputStream):
    def __init__(self, out: java.io.OutputStream, cksum: Checksum, /) -> None: ...
    def getChecksum(self) -> Checksum: ...
    @typing.overload
    def write(self, b: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def write(self, b: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...

class Checksum(java.lang.Object):
    def getValue(self) -> int: ...
    def reset(self) -> None: ...
    @typing.overload
    def update(self, arg1: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def update(self, buffer: java.nio.ByteBuffer, /) -> None: ...
    @typing.overload
    def update(self, b: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def update(self, arg1: java.chaquopy.JavaArrayJByte, arg2: int | java.jint | java.lang.Integer, arg3: int | java.jint | java.lang.Integer, /) -> None: ...

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

class Deflater(java.lang.Object):
    BEST_COMPRESSION: typing.ClassVar[int] = ...
    BEST_SPEED: typing.ClassVar[int] = ...
    DEFAULT_COMPRESSION: typing.ClassVar[int] = ...
    DEFAULT_STRATEGY: typing.ClassVar[int] = ...
    DEFLATED: typing.ClassVar[int] = ...
    FILTERED: typing.ClassVar[int] = ...
    FULL_FLUSH: typing.ClassVar[int] = ...
    HUFFMAN_ONLY: typing.ClassVar[int] = ...
    NO_COMPRESSION: typing.ClassVar[int] = ...
    NO_FLUSH: typing.ClassVar[int] = ...
    SYNC_FLUSH: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, level: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, level: int | java.jint | java.lang.Integer, nowrap: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    @typing.overload
    def deflate(self, output: java.nio.ByteBuffer, /) -> int: ...
    @typing.overload
    def deflate(self, output: java.chaquopy.JavaArrayJByte, /) -> int: ...
    @typing.overload
    def deflate(self, output: java.nio.ByteBuffer, flush: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    def deflate(self, output: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    def deflate(self, output: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, flush: int | java.jint | java.lang.Integer, /) -> int: ...
    def end(self) -> None: ...
    def finish(self) -> None: ...
    def finished(self) -> bool: ...
    def getAdler(self) -> int: ...
    def getBytesRead(self) -> int: ...
    def getBytesWritten(self) -> int: ...
    def getTotalIn(self) -> int: ...
    def getTotalOut(self) -> int: ...
    def needsInput(self) -> bool: ...
    def reset(self) -> None: ...
    @typing.overload
    def setDictionary(self, dictionary: java.nio.ByteBuffer, /) -> None: ...
    @typing.overload
    def setDictionary(self, dictionary: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def setDictionary(self, dictionary: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def setInput(self, input: java.nio.ByteBuffer, /) -> None: ...
    @typing.overload
    def setInput(self, input: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def setInput(self, input: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...
    def setLevel(self, level: int | java.jint | java.lang.Integer, /) -> None: ...
    def setStrategy(self, strategy: int | java.jint | java.lang.Integer, /) -> None: ...

class DeflaterInputStream(java.io.FilterInputStream):
    buf: java.chaquopy.JavaArrayJByte = ...
    def_: Deflater = ...
    @typing.overload
    def __init__(self, in_: java.io.InputStream, /) -> None: ...
    @typing.overload
    def __init__(self, in_: java.io.InputStream, defl: Deflater, /) -> None: ...
    @typing.overload
    def __init__(self, in_: java.io.InputStream, defl: Deflater, bufLen: int | java.jint | java.lang.Integer, /) -> None: ...
    def available(self) -> int: ...
    def close(self) -> None: ...
    def mark(self, limit: int | java.jint | java.lang.Integer, /) -> None: ...
    def markSupported(self) -> bool: ...
    @typing.overload
    def read(self) -> int: ...
    @typing.overload
    def read(self, b: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> int: ...
    def reset(self) -> None: ...
    def skip(self, n: int | java.jlong | java.lang.Long, /) -> int: ...

class DeflaterOutputStream(java.io.FilterOutputStream):
    buf: java.chaquopy.JavaArrayJByte = ...
    def_: Deflater = ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, /) -> None: ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, def_: Deflater, /) -> None: ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, syncFlush: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, def_: Deflater, size: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, def_: Deflater, syncFlush: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, def_: Deflater, size: int | java.jint | java.lang.Integer, syncFlush: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def close(self) -> None: ...
    def deflate(self) -> None: ...
    def finish(self) -> None: ...
    def flush(self) -> None: ...
    @typing.overload
    def write(self, b: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def write(self, b: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...

class GZIPInputStream(InflaterInputStream):
    GZIP_MAGIC: typing.ClassVar[int] = ...
    crc: CRC32 = ...
    eos: bool = ...
    @typing.overload
    def __init__(self, in_: java.io.InputStream, /) -> None: ...
    @typing.overload
    def __init__(self, in_: java.io.InputStream, size: int | java.jint | java.lang.Integer, /) -> None: ...
    def close(self) -> None: ...
    def read(self, buf: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> int: ...

class GZIPOutputStream(DeflaterOutputStream):
    crc: CRC32 = ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, /) -> None: ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, size: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, syncFlush: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, size: int | java.jint | java.lang.Integer, syncFlush: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def finish(self) -> None: ...
    def write(self, buf: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...

class Inflater(java.lang.Object):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, nowrap: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def end(self) -> None: ...
    def finished(self) -> bool: ...
    def getAdler(self) -> int: ...
    def getBytesRead(self) -> int: ...
    def getBytesWritten(self) -> int: ...
    def getRemaining(self) -> int: ...
    def getTotalIn(self) -> int: ...
    def getTotalOut(self) -> int: ...
    @typing.overload
    def inflate(self, output: java.nio.ByteBuffer, /) -> int: ...
    @typing.overload
    def inflate(self, output: java.chaquopy.JavaArrayJByte, /) -> int: ...
    @typing.overload
    def inflate(self, output: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> int: ...
    def needsDictionary(self) -> bool: ...
    def needsInput(self) -> bool: ...
    def reset(self) -> None: ...
    @typing.overload
    def setDictionary(self, dictionary: java.nio.ByteBuffer, /) -> None: ...
    @typing.overload
    def setDictionary(self, dictionary: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def setDictionary(self, dictionary: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def setInput(self, input: java.nio.ByteBuffer, /) -> None: ...
    @typing.overload
    def setInput(self, input: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def setInput(self, input: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...

class InflaterInputStream(java.io.FilterInputStream):
    buf: java.chaquopy.JavaArrayJByte = ...
    closed: bool = ...
    inf: Inflater = ...
    len: int = ...
    @typing.overload
    def __init__(self, in_: java.io.InputStream, /) -> None: ...
    @typing.overload
    def __init__(self, in_: java.io.InputStream, inf: Inflater, /) -> None: ...
    @typing.overload
    def __init__(self, in_: java.io.InputStream, inf: Inflater, size: int | java.jint | java.lang.Integer, /) -> None: ...
    def available(self) -> int: ...
    def close(self) -> None: ...
    def fill(self) -> None: ...
    def mark(self, readlimit: int | java.jint | java.lang.Integer, /) -> None: ...
    def markSupported(self) -> bool: ...
    @typing.overload
    def read(self) -> int: ...
    @typing.overload
    def read(self, b: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> int: ...
    def reset(self) -> None: ...
    def skip(self, n: int | java.jlong | java.lang.Long, /) -> int: ...

class InflaterOutputStream(java.io.FilterOutputStream):
    buf: java.chaquopy.JavaArrayJByte = ...
    inf: Inflater = ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, /) -> None: ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, infl: Inflater, /) -> None: ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, infl: Inflater, bufLen: int | java.jint | java.lang.Integer, /) -> None: ...
    def close(self) -> None: ...
    def finish(self) -> None: ...
    def flush(self) -> None: ...
    @typing.overload
    def write(self, b: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def write(self, b: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...

class ZipEntry(java.lang.Cloneable):
    CENATT: typing.ClassVar[int] = ...
    CENATX: typing.ClassVar[int] = ...
    CENCOM: typing.ClassVar[int] = ...
    CENCRC: typing.ClassVar[int] = ...
    CENDSK: typing.ClassVar[int] = ...
    CENEXT: typing.ClassVar[int] = ...
    CENFLG: typing.ClassVar[int] = ...
    CENHDR: typing.ClassVar[int] = ...
    CENHOW: typing.ClassVar[int] = ...
    CENLEN: typing.ClassVar[int] = ...
    CENNAM: typing.ClassVar[int] = ...
    CENOFF: typing.ClassVar[int] = ...
    CENSIG: typing.ClassVar[int] = ...
    CENSIZ: typing.ClassVar[int] = ...
    CENTIM: typing.ClassVar[int] = ...
    CENVEM: typing.ClassVar[int] = ...
    CENVER: typing.ClassVar[int] = ...
    DEFLATED: typing.ClassVar[int] = ...
    ENDCOM: typing.ClassVar[int] = ...
    ENDHDR: typing.ClassVar[int] = ...
    ENDOFF: typing.ClassVar[int] = ...
    ENDSIG: typing.ClassVar[int] = ...
    ENDSIZ: typing.ClassVar[int] = ...
    ENDSUB: typing.ClassVar[int] = ...
    ENDTOT: typing.ClassVar[int] = ...
    EXTCRC: typing.ClassVar[int] = ...
    EXTHDR: typing.ClassVar[int] = ...
    EXTLEN: typing.ClassVar[int] = ...
    EXTSIG: typing.ClassVar[int] = ...
    EXTSIZ: typing.ClassVar[int] = ...
    LOCCRC: typing.ClassVar[int] = ...
    LOCEXT: typing.ClassVar[int] = ...
    LOCFLG: typing.ClassVar[int] = ...
    LOCHDR: typing.ClassVar[int] = ...
    LOCHOW: typing.ClassVar[int] = ...
    LOCLEN: typing.ClassVar[int] = ...
    LOCNAM: typing.ClassVar[int] = ...
    LOCSIG: typing.ClassVar[int] = ...
    LOCSIZ: typing.ClassVar[int] = ...
    LOCTIM: typing.ClassVar[int] = ...
    LOCVER: typing.ClassVar[int] = ...
    STORED: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self, name: str | java.lang.String, /) -> None: ...
    @typing.overload
    def __init__(self, e: ZipEntry, /) -> None: ...
    def clone(self) -> java.lang.Object: ...
    def getComment(self) -> str: ...
    def getCompressedSize(self) -> int: ...
    def getCrc(self) -> int: ...
    def getCreationTime(self) -> java.nio.file.attribute.FileTime: ...
    def getExtra(self) -> java.chaquopy.JavaArrayJByte: ...
    def getLastAccessTime(self) -> java.nio.file.attribute.FileTime: ...
    def getLastModifiedTime(self) -> java.nio.file.attribute.FileTime: ...
    def getMethod(self) -> int: ...
    def getName(self) -> str: ...
    def getSize(self) -> int: ...
    def getTime(self) -> int: ...
    def getTimeLocal(self) -> java.time.LocalDateTime: ...
    def hashCode(self) -> int: ...
    def isDirectory(self) -> bool: ...
    def setComment(self, comment: str | java.lang.String, /) -> None: ...
    def setCompressedSize(self, csize: int | java.jlong | java.lang.Long, /) -> None: ...
    def setCrc(self, crc: int | java.jlong | java.lang.Long, /) -> None: ...
    def setCreationTime(self, time: java.nio.file.attribute.FileTime, /) -> ZipEntry: ...
    def setExtra(self, extra: java.chaquopy.JavaArrayJByte, /) -> None: ...
    def setLastAccessTime(self, time: java.nio.file.attribute.FileTime, /) -> ZipEntry: ...
    def setLastModifiedTime(self, time: java.nio.file.attribute.FileTime, /) -> ZipEntry: ...
    def setMethod(self, method: int | java.jint | java.lang.Integer, /) -> None: ...
    def setSize(self, size: int | java.jlong | java.lang.Long, /) -> None: ...
    def setTime(self, time: int | java.jlong | java.lang.Long, /) -> None: ...
    def setTimeLocal(self, time: java.time.LocalDateTime, /) -> None: ...
    def toString(self) -> str: ...

class ZipError(java.lang.InternalError):
    def __init__(self, s: str | java.lang.String, /) -> None: ...

class ZipException(java.io.IOException):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, s: str | java.lang.String, /) -> None: ...

class ZipFile(java.io.Closeable):
    CENATT: typing.ClassVar[int] = ...
    CENATX: typing.ClassVar[int] = ...
    CENCOM: typing.ClassVar[int] = ...
    CENCRC: typing.ClassVar[int] = ...
    CENDSK: typing.ClassVar[int] = ...
    CENEXT: typing.ClassVar[int] = ...
    CENFLG: typing.ClassVar[int] = ...
    CENHDR: typing.ClassVar[int] = ...
    CENHOW: typing.ClassVar[int] = ...
    CENLEN: typing.ClassVar[int] = ...
    CENNAM: typing.ClassVar[int] = ...
    CENOFF: typing.ClassVar[int] = ...
    CENSIG: typing.ClassVar[int] = ...
    CENSIZ: typing.ClassVar[int] = ...
    CENTIM: typing.ClassVar[int] = ...
    CENVEM: typing.ClassVar[int] = ...
    CENVER: typing.ClassVar[int] = ...
    ENDCOM: typing.ClassVar[int] = ...
    ENDHDR: typing.ClassVar[int] = ...
    ENDOFF: typing.ClassVar[int] = ...
    ENDSIG: typing.ClassVar[int] = ...
    ENDSIZ: typing.ClassVar[int] = ...
    ENDSUB: typing.ClassVar[int] = ...
    ENDTOT: typing.ClassVar[int] = ...
    EXTCRC: typing.ClassVar[int] = ...
    EXTHDR: typing.ClassVar[int] = ...
    EXTLEN: typing.ClassVar[int] = ...
    EXTSIG: typing.ClassVar[int] = ...
    EXTSIZ: typing.ClassVar[int] = ...
    LOCCRC: typing.ClassVar[int] = ...
    LOCEXT: typing.ClassVar[int] = ...
    LOCFLG: typing.ClassVar[int] = ...
    LOCHDR: typing.ClassVar[int] = ...
    LOCHOW: typing.ClassVar[int] = ...
    LOCLEN: typing.ClassVar[int] = ...
    LOCNAM: typing.ClassVar[int] = ...
    LOCSIG: typing.ClassVar[int] = ...
    LOCSIZ: typing.ClassVar[int] = ...
    LOCTIM: typing.ClassVar[int] = ...
    LOCVER: typing.ClassVar[int] = ...
    OPEN_DELETE: typing.ClassVar[int] = ...
    OPEN_READ: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self, file: java.io.File, /) -> None: ...
    @typing.overload
    def __init__(self, name: str | java.lang.String, /) -> None: ...
    @typing.overload
    def __init__(self, file: java.io.File, mode: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, file: java.io.File, charset: java.nio.charset.Charset, /) -> None: ...
    @typing.overload
    def __init__(self, name: str | java.lang.String, charset: java.nio.charset.Charset, /) -> None: ...
    @typing.overload
    def __init__(self, file: java.io.File, mode: int | java.jint | java.lang.Integer, charset: java.nio.charset.Charset, /) -> None: ...
    def close(self) -> None: ...
    def entries(self) -> java.util.Enumeration[ZipEntry]: ...
    def getComment(self) -> str: ...
    def getEntry(self, name: str | java.lang.String, /) -> ZipEntry: ...
    def getInputStream(self, entry: ZipEntry, /) -> java.io.InputStream: ...
    def getName(self) -> str: ...
    def size(self) -> int: ...
    def stream(self) -> java.util.stream.Stream[ZipEntry]: ...

class ZipInputStream(InflaterInputStream):
    CENATT: typing.ClassVar[int] = ...
    CENATX: typing.ClassVar[int] = ...
    CENCOM: typing.ClassVar[int] = ...
    CENCRC: typing.ClassVar[int] = ...
    CENDSK: typing.ClassVar[int] = ...
    CENEXT: typing.ClassVar[int] = ...
    CENFLG: typing.ClassVar[int] = ...
    CENHDR: typing.ClassVar[int] = ...
    CENHOW: typing.ClassVar[int] = ...
    CENLEN: typing.ClassVar[int] = ...
    CENNAM: typing.ClassVar[int] = ...
    CENOFF: typing.ClassVar[int] = ...
    CENSIG: typing.ClassVar[int] = ...
    CENSIZ: typing.ClassVar[int] = ...
    CENTIM: typing.ClassVar[int] = ...
    CENVEM: typing.ClassVar[int] = ...
    CENVER: typing.ClassVar[int] = ...
    ENDCOM: typing.ClassVar[int] = ...
    ENDHDR: typing.ClassVar[int] = ...
    ENDOFF: typing.ClassVar[int] = ...
    ENDSIG: typing.ClassVar[int] = ...
    ENDSIZ: typing.ClassVar[int] = ...
    ENDSUB: typing.ClassVar[int] = ...
    ENDTOT: typing.ClassVar[int] = ...
    EXTCRC: typing.ClassVar[int] = ...
    EXTHDR: typing.ClassVar[int] = ...
    EXTLEN: typing.ClassVar[int] = ...
    EXTSIG: typing.ClassVar[int] = ...
    EXTSIZ: typing.ClassVar[int] = ...
    LOCCRC: typing.ClassVar[int] = ...
    LOCEXT: typing.ClassVar[int] = ...
    LOCFLG: typing.ClassVar[int] = ...
    LOCHDR: typing.ClassVar[int] = ...
    LOCHOW: typing.ClassVar[int] = ...
    LOCLEN: typing.ClassVar[int] = ...
    LOCNAM: typing.ClassVar[int] = ...
    LOCSIG: typing.ClassVar[int] = ...
    LOCSIZ: typing.ClassVar[int] = ...
    LOCTIM: typing.ClassVar[int] = ...
    LOCVER: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self, in_: java.io.InputStream, /) -> None: ...
    @typing.overload
    def __init__(self, in_: java.io.InputStream, charset: java.nio.charset.Charset, /) -> None: ...
    def available(self) -> int: ...
    def close(self) -> None: ...
    def closeEntry(self) -> None: ...
    def createZipEntry(self, name: str | java.lang.String, /) -> ZipEntry: ...
    def getNextEntry(self) -> ZipEntry: ...
    def read(self, b: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> int: ...
    def skip(self, n: int | java.jlong | java.lang.Long, /) -> int: ...

class ZipOutputStream(DeflaterOutputStream):
    CENATT: typing.ClassVar[int] = ...
    CENATX: typing.ClassVar[int] = ...
    CENCOM: typing.ClassVar[int] = ...
    CENCRC: typing.ClassVar[int] = ...
    CENDSK: typing.ClassVar[int] = ...
    CENEXT: typing.ClassVar[int] = ...
    CENFLG: typing.ClassVar[int] = ...
    CENHDR: typing.ClassVar[int] = ...
    CENHOW: typing.ClassVar[int] = ...
    CENLEN: typing.ClassVar[int] = ...
    CENNAM: typing.ClassVar[int] = ...
    CENOFF: typing.ClassVar[int] = ...
    CENSIG: typing.ClassVar[int] = ...
    CENSIZ: typing.ClassVar[int] = ...
    CENTIM: typing.ClassVar[int] = ...
    CENVEM: typing.ClassVar[int] = ...
    CENVER: typing.ClassVar[int] = ...
    DEFLATED: typing.ClassVar[int] = ...
    ENDCOM: typing.ClassVar[int] = ...
    ENDHDR: typing.ClassVar[int] = ...
    ENDOFF: typing.ClassVar[int] = ...
    ENDSIG: typing.ClassVar[int] = ...
    ENDSIZ: typing.ClassVar[int] = ...
    ENDSUB: typing.ClassVar[int] = ...
    ENDTOT: typing.ClassVar[int] = ...
    EXTCRC: typing.ClassVar[int] = ...
    EXTHDR: typing.ClassVar[int] = ...
    EXTLEN: typing.ClassVar[int] = ...
    EXTSIG: typing.ClassVar[int] = ...
    EXTSIZ: typing.ClassVar[int] = ...
    LOCCRC: typing.ClassVar[int] = ...
    LOCEXT: typing.ClassVar[int] = ...
    LOCFLG: typing.ClassVar[int] = ...
    LOCHDR: typing.ClassVar[int] = ...
    LOCHOW: typing.ClassVar[int] = ...
    LOCLEN: typing.ClassVar[int] = ...
    LOCNAM: typing.ClassVar[int] = ...
    LOCSIG: typing.ClassVar[int] = ...
    LOCSIZ: typing.ClassVar[int] = ...
    LOCTIM: typing.ClassVar[int] = ...
    LOCVER: typing.ClassVar[int] = ...
    STORED: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, /) -> None: ...
    @typing.overload
    def __init__(self, out: java.io.OutputStream, charset: java.nio.charset.Charset, /) -> None: ...
    def close(self) -> None: ...
    def closeEntry(self) -> None: ...
    def finish(self) -> None: ...
    def putNextEntry(self, e: ZipEntry, /) -> None: ...
    def setComment(self, comment: str | java.lang.String, /) -> None: ...
    def setLevel(self, level: int | java.jint | java.lang.Integer, /) -> None: ...
    def setMethod(self, method: int | java.jint | java.lang.Integer, /) -> None: ...
    def write(self, b: java.chaquopy.JavaArrayJByte, off: int | java.jint | java.lang.Integer, len: int | java.jint | java.lang.Integer, /) -> None: ...
