package love.distributedrebirth.no2all.react; public interface No2AllReact { void claim(No2AllReactSlot slot); void claimIn(No2AllReactSlot slot, Class<?> eventType); void claimOut(No2AllReactSlot slot, Class<?> eventType); void requireSlot(No2AllReactSlot slot, No2AllReactSlot dep); void requireService(No2AllReactSlot slot, Class<?> serviceType); void fire(No2AllReactSlot slot, Object event); void fireForEach(No2AllReactSlot slot, Object event); <T> void registrate(No2AllReactSlot slot, Class<T> eventType, No2AllReactListener<T> listener); <T> T service(Class<T> serviceType); void release(No2AllReactSlot slot); }