package net.fabricmc.fabric.api.resource.v1;

import java.util.function.Function;
import net.fabricmc.fabric.impl.resource.v1.DataResourceLoaderImpl;
import net.minecraft.class_1863;
import net.minecraft.class_2960;
import net.minecraft.class_2989;
import net.minecraft.class_3302;
import net.minecraft.class_7225;
import org.jetbrains.annotations.ApiStatus.NonExtendable;

@NonExtendable
public interface DataResourceLoader extends ResourceLoader {
   class_3302.class_11559<class_1863> RECIPE_MANAGER_KEY = new class_3302.class_11559();
   class_3302.class_11559<class_2989> ADVANCEMENT_LOADER_KEY = new class_3302.class_11559();
   class_3302.class_11559<DataResourceStore.Mutable> DATA_RESOURCE_STORE_KEY = new class_3302.class_11559();

   static DataResourceLoader get() {
      return DataResourceLoaderImpl.INSTANCE;
   }

   void registerReloader(class_2960 var1, Function<class_7225.class_7874, class_3302> var2);
}
