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

package org.bson.conversions;

import java.util.List;
import org.bson.codecs.configuration.CodecRegistries;
import java.util.Arrays;
import org.bson.codecs.BsonCodecProvider;
import org.bson.codecs.JsonObjectCodecProvider;
import org.bson.codecs.jsr310.Jsr310CodecProvider;
import org.bson.codecs.MapCodecProvider;
import org.bson.codecs.IterableCodecProvider;
import org.bson.codecs.DocumentCodecProvider;
import org.bson.codecs.BsonValueCodecProvider;
import org.bson.codecs.ValueCodecProvider;
import org.bson.codecs.configuration.CodecProvider;
import org.bson.BsonDocument;
import org.bson.codecs.configuration.CodecRegistry;

public interface Bson
{
    public static final CodecRegistry DEFAULT_CODEC_REGISTRY = CodecRegistries.fromProviders(Arrays.asList(new ValueCodecProvider(), new BsonValueCodecProvider(), new DocumentCodecProvider(), new IterableCodecProvider(), new MapCodecProvider(), new Jsr310CodecProvider(), new JsonObjectCodecProvider(), new BsonCodecProvider()));
    
     <TDocument> BsonDocument toBsonDocument(final Class<TDocument> p0, final CodecRegistry p1);
    
    default BsonDocument toBsonDocument() {
        return this.toBsonDocument(BsonDocument.class, Bson.DEFAULT_CODEC_REGISTRY);
    }
}
