// 
// Decompiled by Procyon v0.6.0
// 

package io.sentry;

import java.util.Map;
import java.io.OutputStream;
import java.io.IOException;
import java.io.Writer;
import java.io.InputStream;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;
import java.io.Reader;

public interface ISerializer
{
    @Nullable
     <T, R> T deserializeCollection(@NotNull final Reader p0, @NotNull final Class<T> p1, @Nullable final JsonDeserializer<R> p2);
    
    @Nullable
     <T> T deserialize(@NotNull final Reader p0, @NotNull final Class<T> p1);
    
    @Nullable
    SentryEnvelope deserializeEnvelope(@NotNull final InputStream p0);
    
     <T> void serialize(@NotNull final T p0, @NotNull final Writer p1) throws IOException;
    
    void serialize(@NotNull final SentryEnvelope p0, @NotNull final OutputStream p1) throws Exception;
    
    @NotNull
    String serialize(@NotNull final Map<String, Object> p0) throws Exception;
}
