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

package com.google.crypto.tink.hybrid.internal;

import java.security.GeneralSecurityException;
import com.google.errorprone.annotations.Immutable;

@Immutable
public interface HpkeAead
{
    default byte[] seal(final byte[] key, final byte[] nonce, final byte[] plaintext, final byte[] associatedData) throws GeneralSecurityException {
        return this.seal(key, nonce, plaintext, 0, associatedData);
    }
    
    byte[] seal(final byte[] key, final byte[] nonce, final byte[] plaintext, final int ciphertextOffset, final byte[] associatedData) throws GeneralSecurityException;
    
    default byte[] open(final byte[] key, final byte[] nonce, final byte[] ciphertext, final byte[] associatedData) throws GeneralSecurityException {
        return this.open(key, nonce, ciphertext, 0, associatedData);
    }
    
    byte[] open(final byte[] key, final byte[] nonce, final byte[] ciphertext, final int ciphertextOffset, final byte[] associatedData) throws GeneralSecurityException;
    
    byte[] getAeadId() throws GeneralSecurityException;
    
    int getKeyLength();
    
    int getNonceLength();
}
