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

package com.hypixel.hytale.builtin.adventure.shop.barter;

import com.hypixel.hytale.codec.Codec;
import java.util.List;
import javax.annotation.Nonnull;
import java.util.Random;
import com.hypixel.hytale.codec.lookup.CodecMapCodec;

public abstract class TradeSlot
{
    public static final CodecMapCodec<TradeSlot> CODEC;
    public static final TradeSlot[] EMPTY_ARRAY;
    
    protected TradeSlot() {
    }
    
    @Nonnull
    public abstract List<BarterTrade> resolve(@Nonnull final Random p0);
    
    public abstract int getSlotCount();
    
    static {
        CODEC = new CodecMapCodec<TradeSlot>("Type");
        EMPTY_ARRAY = new TradeSlot[0];
        TradeSlot.CODEC.register("Fixed", FixedTradeSlot.class, FixedTradeSlot.CODEC);
        TradeSlot.CODEC.register("Pool", PoolTradeSlot.class, PoolTradeSlot.CODEC);
    }
}
