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

package com.google.crypto.tink;

import java.io.InputStream;
import java.io.OutputStream;
import java.nio.channels.ReadableByteChannel;
import java.nio.channels.SeekableByteChannel;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.nio.channels.WritableByteChannel;

public interface StreamingAead
{
    WritableByteChannel newEncryptingChannel(final WritableByteChannel ciphertextDestination, final byte[] associatedData) throws GeneralSecurityException, IOException;
    
    SeekableByteChannel newSeekableDecryptingChannel(final SeekableByteChannel ciphertextSource, final byte[] associatedData) throws GeneralSecurityException, IOException;
    
    ReadableByteChannel newDecryptingChannel(final ReadableByteChannel ciphertextSource, final byte[] associatedData) throws GeneralSecurityException, IOException;
    
    OutputStream newEncryptingStream(final OutputStream ciphertextDestination, final byte[] associatedData) throws GeneralSecurityException, IOException;
    
    InputStream newDecryptingStream(final InputStream ciphertextSource, final byte[] associatedData) throws GeneralSecurityException, IOException;
}
