// Path: api/src/main/java/io/jsonwebtoken/io/Decoder.java
// public interface Decoder<T, R> {
// 
//     R decode(T t) throws DecodingException;
// }
// 
// Path: api/src/main/java/io/jsonwebtoken/io/Deserializer.java
// public interface Deserializer<T> {
// 
//     T deserialize(byte[] bytes) throws DeserializationException;
// }
// 
// Path: api/src/main/java/io/jsonwebtoken/security/SignatureException.java
// public class SignatureException extends io.jsonwebtoken.SignatureException {
// 
//     public SignatureException(String message) {
//         super(message);
//     }
// 
//     public SignatureException(String message, Throwable cause) {
//         super(message, cause);
//     }
// }


import io.jsonwebtoken.io.Decoder;
import io.jsonwebtoken.io.Deserializer;
import io.jsonwebtoken.security.SignatureException;
import java.security.Key;
import java.util.Date;
import java.util.Map;
     * specify a {@code CompressionCodecResolver} in these cases.</p>
     * <p>However, if you want to use a compression algorithm other than {@code DEF} or {@code GZIP}, you must implement
     * your own {@link CompressionCodecResolver} and specify that via this method and also when
     * {@link io.jsonwebtoken.JwtBuilder#compressWith(CompressionCodec) building} JWTs.</p>
     *
     * @param compressionCodecResolver the compression codec resolver used to decompress the JWT body.
     * @return the parser for method chaining.
     * @since 0.6.0
     * @deprecated see {@link JwtParserBuilder#setCompressionCodecResolver(CompressionCodecResolver)}.
     * To construct a JwtParser use the corresponding builder via {@link Jwts#parserBuilder()}. This will construct an
     * immutable JwtParser.
     * <p><b>NOTE: this method will be removed before version 1.0</b>
     */
    @Deprecated
    JwtParser setCompressionCodecResolver(CompressionCodecResolver compressionCodecResolver);

    /**
     * Perform Base64Url decoding with the specified Decoder
     *
     * <p>JJWT uses a spec-compliant decoder that works on all supported JDK versions, but you may call this method
     * to specify a different decoder if you desire.</p>
     *
     * @param base64UrlDecoder the decoder to use when Base64Url-decoding
     * @return the parser for method chaining.
     * @since 0.10.0
     * @deprecated see {@link JwtParserBuilder#base64UrlDecodeWith(Decoder)}.
     * To construct a JwtParser use the corresponding builder via {@link Jwts#parserBuilder()}. This will construct an
     * immutable JwtParser.
     * <p><b>NOTE: this method will be removed before version 1.0</b>
     */
// Path: api/src/main/java/io/jsonwebtoken/io/Decoder.java
// public interface Decoder<T, R> {
// 
//     R decode(T t) throws DecodingException;
// }
// 
// Path: api/src/main/java/io/jsonwebtoken/io/Deserializer.java
// public interface Deserializer<T> {
// 
//     T deserialize(byte[] bytes) throws DeserializationException;
// }
// 
// Path: api/src/main/java/io/jsonwebtoken/security/SignatureException.java
// public class SignatureException extends io.jsonwebtoken.SignatureException {
// 
//     public SignatureException(String message) {
//         super(message);
//     }
// 
//     public SignatureException(String message, Throwable cause) {
//         super(message, cause);
//     }
// }


// Path: api/src/main/java/io/jsonwebtoken/JwtParser.java
import io.jsonwebtoken.io.Decoder;
import io.jsonwebtoken.io.Deserializer;
import io.jsonwebtoken.security.SignatureException;
import java.security.Key;
import java.util.Date;
import java.util.Map;

     * specify a {@code CompressionCodecResolver} in these cases.</p>
     * <p>However, if you want to use a compression algorithm other than {@code DEF} or {@code GZIP}, you must implement
     * your own {@link CompressionCodecResolver} and specify that via this method and also when
     * {@link io.jsonwebtoken.JwtBuilder#compressWith(CompressionCodec) building} JWTs.</p>
     *
     * @param compressionCodecResolver the compression codec resolver used to decompress the JWT body.
     * @return the parser for method chaining.
     * @since 0.6.0
     * @deprecated see {@link JwtParserBuilder#setCompressionCodecResolver(CompressionCodecResolver)}.
     * To construct a JwtParser use the corresponding builder via {@link Jwts#parserBuilder()}. This will construct an
     * immutable JwtParser.
     * <p><b>NOTE: this method will be removed before version 1.0</b>
     */
    @Deprecated
    JwtParser setCompressionCodecResolver(CompressionCodecResolver compressionCodecResolver);

    /**
     * Perform Base64Url decoding with the specified Decoder
     *
     * <p>JJWT uses a spec-compliant decoder that works on all supported JDK versions, but you may call this method
     * to specify a different decoder if you desire.</p>
     *
     * @param base64UrlDecoder the decoder to use when Base64Url-decoding
     * @return the parser for method chaining.
     * @since 0.10.0
     * @deprecated see {@link JwtParserBuilder#base64UrlDecodeWith(Decoder)}.
     * To construct a JwtParser use the corresponding builder via {@link Jwts#parserBuilder()}. This will construct an
     * immutable JwtParser.
     * <p><b>NOTE: this method will be removed before version 1.0</b>
     */
    @Deprecated