// Path: src/main/java/com/gwidgets/api/leaflet/events/EventCallback.java
// @JsFunction
// public interface EventCallback<T extends Event> {
// 
//     /**
//      * <p>call.</p>
//      *
//      * @param event a T object
//      */
//     void call(T event);
// }


import com.gwidgets.api.leaflet.events.EventCallback;
import jsinterop.annotations.JsType;
package com.gwidgets.api.leaflet;



/**
 * <p>Evented interface.</p>
 *
 * @author zakaria
 * @version $Id: $Id
 */
@JsType(isNative = true)
public interface Evented {

	/**
	 * Clear all event listeners.
	 *
	 * @return the L class
	 */
	public L clearAllEventListeners();

	/**
	 * Adds a set of type/listener pairs.
	 *
	 * @param type the type
	 * @param fn the callback function
	 * @return the L class
	 */
	public L on(String type, EventCallback fn);

	/**
	 * the listener will only get fired once and then removed.
	 *
	 * @param type the type
	 * @param fn the callback function
	 * @return the L class
	 */
// Path: src/main/java/com/gwidgets/api/leaflet/events/EventCallback.java
// @JsFunction
// public interface EventCallback<T extends Event> {
// 
//     /**
//      * <p>call.</p>
//      *
//      * @param event a T object
//      */
//     void call(T event);
// }


// Path: src/main/java/com/gwidgets/api/leaflet/Evented.java
import com.gwidgets.api.leaflet.events.EventCallback;
import jsinterop.annotations.JsType;

package com.gwidgets.api.leaflet;



/**
 * <p>Evented interface.</p>
 *
 * @author zakaria
 * @version $Id: $Id
 */
@JsType(isNative = true)
public interface Evented {

	/**
	 * Clear all event listeners.
	 *
	 * @return the L class
	 */
	public L clearAllEventListeners();

	/**
	 * Adds a set of type/listener pairs.
	 *
	 * @param type the type
	 * @param fn the callback function
	 * @return the L class
	 */
	public L on(String type, EventCallback fn);

	/**
	 * the listener will only get fired once and then removed.
	 *
	 * @param type the type
	 * @param fn the callback function
	 * @return the L class
	 */
	public  L once(String type, EventCallback fn);