// Path: x-gwt-essential/src/main/java/com/github/spirylics/xgwt/essential/Fn.java
// public abstract class Fn {
//     private Fn() {
//     }
// 
//     @JsFunction
//     public interface NoArg {
//         void e();
//     }
// 
//     @JsFunction
//     public interface Arg<A> {
//         void e(A arg);
//     }
// 
//     @JsFunction
//     public interface ArgRet<A, R> {
//         R e(A arg);
//     }
// 
//     @JsFunction
//     public interface Args {
//         void e(Object... args);
//     }
// 
//     @JsFunction
//     public interface Resolver<S, E> {
//         void e(Fn.Arg<S> resolve, Fn.Arg<E> reject);
//     }
// 
//     @JsFunction
//     public interface OpenResolver<S, E> {
//         void e(Fn.Arg<S> resolve, Fn.Arg<E> reject);
//     }
// }
// 
// Path: x-gwt-firebase/src/main/java/com/github/spirylics/xgwt/firebase/Event.java
// public enum Event {
//     value, child_added, child_removed, child_changed, child_moved;
// }
// 
// Path: x-gwt-firebase/src/main/java/com/github/spirylics/xgwt/firebase/HandlerRegistration.java
// public interface HandlerRegistration {
//     <R extends HandlerRegistration> R on();
// 
//     <R extends HandlerRegistration> R off();
// }


import com.github.spirylics.xgwt.essential.Fn;
import com.github.spirylics.xgwt.firebase.Event;
import com.github.spirylics.xgwt.firebase.HandlerRegistration;
package com.github.spirylics.xgwt.firebase.database;


public class EventRegistration implements HandlerRegistration {
    final Reference reference;
    final Event event;
// Path: x-gwt-essential/src/main/java/com/github/spirylics/xgwt/essential/Fn.java
// public abstract class Fn {
//     private Fn() {
//     }
// 
//     @JsFunction
//     public interface NoArg {
//         void e();
//     }
// 
//     @JsFunction
//     public interface Arg<A> {
//         void e(A arg);
//     }
// 
//     @JsFunction
//     public interface ArgRet<A, R> {
//         R e(A arg);
//     }
// 
//     @JsFunction
//     public interface Args {
//         void e(Object... args);
//     }
// 
//     @JsFunction
//     public interface Resolver<S, E> {
//         void e(Fn.Arg<S> resolve, Fn.Arg<E> reject);
//     }
// 
//     @JsFunction
//     public interface OpenResolver<S, E> {
//         void e(Fn.Arg<S> resolve, Fn.Arg<E> reject);
//     }
// }
// 
// Path: x-gwt-firebase/src/main/java/com/github/spirylics/xgwt/firebase/Event.java
// public enum Event {
//     value, child_added, child_removed, child_changed, child_moved;
// }
// 
// Path: x-gwt-firebase/src/main/java/com/github/spirylics/xgwt/firebase/HandlerRegistration.java
// public interface HandlerRegistration {
//     <R extends HandlerRegistration> R on();
// 
//     <R extends HandlerRegistration> R off();
// }


// Path: x-gwt-firebase/src/main/java/com/github/spirylics/xgwt/firebase/database/EventRegistration.java
import com.github.spirylics.xgwt.essential.Fn;
import com.github.spirylics.xgwt.firebase.Event;
import com.github.spirylics.xgwt.firebase.HandlerRegistration;

package com.github.spirylics.xgwt.firebase.database;


public class EventRegistration implements HandlerRegistration {
    final Reference reference;
    final Event event;
    final Fn.Arg<XDataSnapshot> fn;