package net.minecraft.commands.synchronization;
import com.google.gson.JsonObject;
import com.mojang.brigadier.arguments.ArgumentType;
import net.minecraft.commands.CommandBuildContext;
import net.minecraft.network.FriendlyByteBuf;
public interface ArgumentTypeInfo, T extends ArgumentTypeInfo.Template> {
void serializeToNetwork(T template, FriendlyByteBuf out);
T deserializeFromNetwork(FriendlyByteBuf in);
void serializeToJson(T template, JsonObject out);
T unpack(final A argument);
public interface Template> {
A instantiate(CommandBuildContext context);
ArgumentTypeInfo type();
}
}