package io.github.ibuildthecloud.gdapi.request.resource;
import io.github.ibuildthecloud.gdapi.model.ListOptions;
import io.github.ibuildthecloud.gdapi.request.ApiRequest;
import java.util.List;
import java.util.Map;
public interface ResourceManagerFilter {
String[] getTypes();
Class<?>[] getTypeClasses();
Object getById(String type, String id, ListOptions options, ResourceManager next);
Object getLink(String type, String id, String link, ApiRequest request, ResourceManager next);
Object list(String type, ApiRequest request, ResourceManager next);
List<?> list(String type, Map<Object, Object> criteria, ListOptions options, ResourceManager next);
Object create(String type, ApiRequest request, ResourceManager next);
Object update(String type, String id, ApiRequest request, ResourceManager next);
Object delete(String type, String id, ApiRequest request, ResourceManager next);
Object resourceAction(String type, ApiRequest request, ResourceManager next);
Object collectionAction(String type, ApiRequest request, ResourceManager next);
}