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

package com.google.protobuf;

import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;

@CheckReturnValue
public interface MessageLite extends MessageLiteOrBuilder
{
    void writeTo(final CodedOutputStream output) throws IOException;
    
    int getSerializedSize();
    
    Parser<? extends MessageLite> getParserForType();
    
    ByteString toByteString();
    
    byte[] toByteArray();
    
    void writeTo(final OutputStream output) throws IOException;
    
    void writeDelimitedTo(final OutputStream output) throws IOException;
    
    Builder newBuilderForType();
    
    Builder toBuilder();
    
    public interface Builder extends MessageLiteOrBuilder, Cloneable
    {
        @CanIgnoreReturnValue
        Builder clear();
        
        MessageLite build();
        
        MessageLite buildPartial();
        
        Builder clone();
        
        @CanIgnoreReturnValue
        Builder mergeFrom(final CodedInputStream input) throws IOException;
        
        @CanIgnoreReturnValue
        Builder mergeFrom(final CodedInputStream input, final ExtensionRegistryLite extensionRegistry) throws IOException;
        
        @CanIgnoreReturnValue
        Builder mergeFrom(final ByteString data) throws InvalidProtocolBufferException;
        
        @CanIgnoreReturnValue
        Builder mergeFrom(final ByteString data, final ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException;
        
        @CanIgnoreReturnValue
        Builder mergeFrom(final byte[] data) throws InvalidProtocolBufferException;
        
        @CanIgnoreReturnValue
        Builder mergeFrom(final byte[] data, final int off, final int len) throws InvalidProtocolBufferException;
        
        @CanIgnoreReturnValue
        Builder mergeFrom(final byte[] data, final ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException;
        
        @CanIgnoreReturnValue
        Builder mergeFrom(final byte[] data, final int off, final int len, final ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException;
        
        @CanIgnoreReturnValue
        Builder mergeFrom(final InputStream input) throws IOException;
        
        @CanIgnoreReturnValue
        Builder mergeFrom(final InputStream input, final ExtensionRegistryLite extensionRegistry) throws IOException;
        
        @CanIgnoreReturnValue
        Builder mergeFrom(final MessageLite other);
        
        boolean mergeDelimitedFrom(final InputStream input) throws IOException;
        
        boolean mergeDelimitedFrom(final InputStream input, final ExtensionRegistryLite extensionRegistry) throws IOException;
    }
}
