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

package com.google.crypto.tink;

import com.google.crypto.tink.proto.KeyData;
import com.google.protobuf.MessageLite;
import java.security.GeneralSecurityException;
import com.google.protobuf.ByteString;

public interface KeyManager<P>
{
    P getPrimitive(final ByteString serializedKey) throws GeneralSecurityException;
    
    @Deprecated
    default P getPrimitive(final MessageLite key) throws GeneralSecurityException {
        throw new UnsupportedOperationException();
    }
    
    @Deprecated
    default MessageLite newKey(final ByteString serializedKeyFormat) throws GeneralSecurityException {
        throw new UnsupportedOperationException();
    }
    
    @Deprecated
    default MessageLite newKey(final MessageLite keyFormat) throws GeneralSecurityException {
        throw new UnsupportedOperationException();
    }
    
    @Deprecated
    default boolean doesSupport(final String typeUrl) {
        throw new UnsupportedOperationException();
    }
    
    String getKeyType();
    
    @Deprecated
    default int getVersion() {
        throw new UnsupportedOperationException();
    }
    
    Class<P> getPrimitiveClass();
    
    KeyData newKeyData(final ByteString serializedKeyFormat) throws GeneralSecurityException;
}
