// Path: core/src/main/java/de/iterable/teavm/jquery/ajax/JQueryAjaxSettingsObject.java
// public abstract class JQueryAjaxSettingsObject implements JSObject {
// 
//     private JQueryAjaxSettingsObject() {
//     }
// 
//     @JSBody(params = {}, script = "return {}")
//     public static native final JQueryAjaxSettingsObject create();
// 
//     @JSProperty
//     public abstract void setAccepts(JSDictonary obj);
// 
//     @JSProperty
//     public abstract void setAsync(boolean isAsync);
// 
//     @JSProperty("beforeSend")
//     public abstract void setBeforeSendHandler(AjaxBeforeSendHandler handler);
// 
//     @JSProperty
//     public abstract void setCache(boolean isCache);
// 
//     @JSProperty("complete")
//     public abstract void setCompleteHandler(AjaxCompleteHandler handler);
// 
//     @JSProperty
//     public abstract void setContentType(boolean hasContentType);
// 
//     @JSProperty
//     public abstract void setContentType(String contentType);
// 
//     @JSProperty
//     public abstract void setContext(JSObject context);
// 
//     @JSProperty
//     public final native void setContents(JSDictonary contents);
// 
//     @JSProperty
//     public final native void setConverters(JSDictonary converters);
// 
//     @JSProperty
//     public abstract void setCrossDomain(boolean crossDomain);
// 
//     @JSProperty
//     public abstract void setData(JSDictonary data);
// 
//     @JSProperty
//     public abstract void setData(JSArray<JSObject> data);
// 
//     @JSProperty
//     public abstract void setData(String data);
// 
//     @JSProperty
//     public abstract void setDataFilter(AjaxFilterHandler filter);
// 
//     @JSProperty
//     public abstract void setDataType(String dataType);
// 
//     @JSProperty("error")
//     public abstract void setErrorHandler(AjaxErrorHandler handler);
// 
//     @JSProperty
//     public abstract void setGlobal(boolean isGlobal);
// 
//     @JSProperty
//     public final native void setHeaders(JSDictonary headers);
// 
//     @JSProperty
//     public abstract void setIfModified(boolean isIfModified);
// 
//     @JSProperty
//     public abstract void setIsLocal(boolean isLocal);
// 
//     @JSProperty
//     public abstract void setJsonp(String jsonp);
// 
//     @JSProperty
//     public abstract void setJsonpCallback(String jsonpCallback);
// 
//     @JSProperty
//     public abstract void setJsonpCallback(JSFunctor0<JSString> jsonpCallback);
// 
//     @JSProperty
//     public abstract void setMethod(String method);
// 
//     @JSProperty
//     public abstract void setMimeType(String mimeType);
// 
//     @JSProperty
//     public abstract void setPassword(String password);
// 
//     @JSProperty
//     public abstract void setProcessData(boolean processData);
// 
//     @JSProperty
//     public abstract void setScriptCharset(String scriptCharset);
// 
//     @JSProperty
//     public abstract void setStatusCode(JSDictonary statusCode);
// 
//     @JSProperty("success")
//     public abstract <T extends JSObject> void setSuccessHandler(AjaxSuccessHandler<T> handler);
// 
//     @JSProperty
//     public abstract void setTimeout(int timeout);
// 
//     @JSProperty
//     public abstract void setTraditional(boolean traditional);
// 
//     @JSProperty
//     public abstract void setType(String type);
// 
//     @JSProperty
//     public abstract void setUrl(String url);
// 
//     @JSProperty
//     public abstract void setUsername(String username);
// 
//     @JSProperty
//     public abstract void setXhr(AjaxXhrFunctionHandler handler);
// 
//     @JSProperty
//     public abstract void setXhrFields(JSDictonary fields);
// 
// }
// 
// Path: core/src/main/java/de/iterable/teavm/jquery/ajax/JQueryXHR.java
// public abstract class JQueryXHR extends XMLHttpRequest implements JQueryPromise {
// 
//     @Override
//     public abstract void overrideMimeType(String mimeType);
// 
//     public abstract void abort();
// 
//     public abstract void abort(String statusText);
// 
//     public abstract JQueryXHR done(AjaxDoneHandler<?> doneCallback);
// 
//     public abstract JQueryXHR fail(AjaxFailHandler failCallback);
// 
//     public abstract JQueryXHR always(AjaxAlwaysHandler alwaysCallback);
// 
//     public abstract JQueryXHR then(AjaxDoneHandler<?> doneCallback);
// 
//     public abstract JQueryXHR then(AjaxDoneHandler<?> doneCallback, AjaxFailHandler failCallback);
// 
//     @JSProperty
//     public abstract JSObject getResponseJSON();
// 
// }


import org.teavm.jso.JSFunctor;
import org.teavm.jso.JSObject;
import de.iterable.teavm.jquery.ajax.JQueryAjaxSettingsObject;
import de.iterable.teavm.jquery.ajax.JQueryXHR;
/*
 *  Copyright 2015 Jan-Felix Wittmann.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package de.iterable.teavm.jquery.types;



/**
*
* @author Jan-Felix Wittmann
*/
@JSFunctor
public interface JQueryAjaxTransportHandler extends JSObject {

// Path: core/src/main/java/de/iterable/teavm/jquery/ajax/JQueryAjaxSettingsObject.java
// public abstract class JQueryAjaxSettingsObject implements JSObject {
// 
//     private JQueryAjaxSettingsObject() {
//     }
// 
//     @JSBody(params = {}, script = "return {}")
//     public static native final JQueryAjaxSettingsObject create();
// 
//     @JSProperty
//     public abstract void setAccepts(JSDictonary obj);
// 
//     @JSProperty
//     public abstract void setAsync(boolean isAsync);
// 
//     @JSProperty("beforeSend")
//     public abstract void setBeforeSendHandler(AjaxBeforeSendHandler handler);
// 
//     @JSProperty
//     public abstract void setCache(boolean isCache);
// 
//     @JSProperty("complete")
//     public abstract void setCompleteHandler(AjaxCompleteHandler handler);
// 
//     @JSProperty
//     public abstract void setContentType(boolean hasContentType);
// 
//     @JSProperty
//     public abstract void setContentType(String contentType);
// 
//     @JSProperty
//     public abstract void setContext(JSObject context);
// 
//     @JSProperty
//     public final native void setContents(JSDictonary contents);
// 
//     @JSProperty
//     public final native void setConverters(JSDictonary converters);
// 
//     @JSProperty
//     public abstract void setCrossDomain(boolean crossDomain);
// 
//     @JSProperty
//     public abstract void setData(JSDictonary data);
// 
//     @JSProperty
//     public abstract void setData(JSArray<JSObject> data);
// 
//     @JSProperty
//     public abstract void setData(String data);
// 
//     @JSProperty
//     public abstract void setDataFilter(AjaxFilterHandler filter);
// 
//     @JSProperty
//     public abstract void setDataType(String dataType);
// 
//     @JSProperty("error")
//     public abstract void setErrorHandler(AjaxErrorHandler handler);
// 
//     @JSProperty
//     public abstract void setGlobal(boolean isGlobal);
// 
//     @JSProperty
//     public final native void setHeaders(JSDictonary headers);
// 
//     @JSProperty
//     public abstract void setIfModified(boolean isIfModified);
// 
//     @JSProperty
//     public abstract void setIsLocal(boolean isLocal);
// 
//     @JSProperty
//     public abstract void setJsonp(String jsonp);
// 
//     @JSProperty
//     public abstract void setJsonpCallback(String jsonpCallback);
// 
//     @JSProperty
//     public abstract void setJsonpCallback(JSFunctor0<JSString> jsonpCallback);
// 
//     @JSProperty
//     public abstract void setMethod(String method);
// 
//     @JSProperty
//     public abstract void setMimeType(String mimeType);
// 
//     @JSProperty
//     public abstract void setPassword(String password);
// 
//     @JSProperty
//     public abstract void setProcessData(boolean processData);
// 
//     @JSProperty
//     public abstract void setScriptCharset(String scriptCharset);
// 
//     @JSProperty
//     public abstract void setStatusCode(JSDictonary statusCode);
// 
//     @JSProperty("success")
//     public abstract <T extends JSObject> void setSuccessHandler(AjaxSuccessHandler<T> handler);
// 
//     @JSProperty
//     public abstract void setTimeout(int timeout);
// 
//     @JSProperty
//     public abstract void setTraditional(boolean traditional);
// 
//     @JSProperty
//     public abstract void setType(String type);
// 
//     @JSProperty
//     public abstract void setUrl(String url);
// 
//     @JSProperty
//     public abstract void setUsername(String username);
// 
//     @JSProperty
//     public abstract void setXhr(AjaxXhrFunctionHandler handler);
// 
//     @JSProperty
//     public abstract void setXhrFields(JSDictonary fields);
// 
// }
// 
// Path: core/src/main/java/de/iterable/teavm/jquery/ajax/JQueryXHR.java
// public abstract class JQueryXHR extends XMLHttpRequest implements JQueryPromise {
// 
//     @Override
//     public abstract void overrideMimeType(String mimeType);
// 
//     public abstract void abort();
// 
//     public abstract void abort(String statusText);
// 
//     public abstract JQueryXHR done(AjaxDoneHandler<?> doneCallback);
// 
//     public abstract JQueryXHR fail(AjaxFailHandler failCallback);
// 
//     public abstract JQueryXHR always(AjaxAlwaysHandler alwaysCallback);
// 
//     public abstract JQueryXHR then(AjaxDoneHandler<?> doneCallback);
// 
//     public abstract JQueryXHR then(AjaxDoneHandler<?> doneCallback, AjaxFailHandler failCallback);
// 
//     @JSProperty
//     public abstract JSObject getResponseJSON();
// 
// }


// Path: core/src/main/java/de/iterable/teavm/jquery/types/JQueryAjaxTransportHandler.java
import org.teavm.jso.JSFunctor;
import org.teavm.jso.JSObject;
import de.iterable.teavm.jquery.ajax.JQueryAjaxSettingsObject;
import de.iterable.teavm.jquery.ajax.JQueryXHR;

/*
 *  Copyright 2015 Jan-Felix Wittmann.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package de.iterable.teavm.jquery.types;



/**
*
* @author Jan-Felix Wittmann
*/
@JSFunctor
public interface JQueryAjaxTransportHandler extends JSObject {

    JQueryTransport onTransport(JQueryAjaxSettingsObject options, JQueryAjaxSettingsObject originalOptions, JQueryXHR jqXHR);