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

package com.google.protobuf;

import java.io.IOException;

@CheckReturnValue
interface Schema<T>
{
    void writeTo(final T message, final Writer writer) throws IOException;
    
    void mergeFrom(final T message, final Reader reader, final ExtensionRegistryLite extensionRegistry) throws IOException;
    
    void mergeFrom(final T message, final byte[] data, final int position, final int limit, final ArrayDecoders.Registers registers) throws IOException;
    
    void makeImmutable(final T message);
    
    boolean isInitialized(final T message);
    
    T newInstance();
    
    boolean equals(final T message, final T other);
    
    int hashCode(final T message);
    
    void mergeFrom(final T message, final T other);
    
    int getSerializedSize(final T message);
}
