/// <reference types="jquery" />
import { Call, CallModel, InitModelOf, SomeRequired } from '../index';
export declare class AjaxCall extends Call implements AjaxCallModel {
    model: AjaxCallModel;
    pendingCall: JQuery.jqXHR;
    initModel: SomeRequired<this['model'], 'ajaxOptions'>;
    ajaxOptions: JQuery.UrlAjaxSettings;
    constructor();
    init(model: InitModelOf<this>): void;
    protected _callImpl(): JQuery.jqXHR;
    protected _setResultFail(jqXHR: JQuery.jqXHR, textStatus: JQuery.Ajax.ErrorTextStatus, errorThrown: string): void;
    protected _onCallDone(data: any, textStatus: JQuery.Ajax.SuccessTextStatus, jqXHR: JQuery.jqXHR): void;
    protected _onCallFail(jqXHR: JQuery.jqXHR, textStatus: JQuery.Ajax.ErrorTextStatus, errorThrown: string): void;
    protected _nextRetryImpl(jqXHR: JQuery.jqXHR, textStatus: JQuery.Ajax.ErrorTextStatus, errorThrown: string): number | boolean;
    static isOfflineError(jqXHR: JQuery.jqXHR, textStatus: JQuery.Ajax.ErrorTextStatus, errorThrown: string): boolean;
    protected _abortImpl(): void;
}
export interface AjaxCallModel extends CallModel {
    /**
     * Options for the jquery ajax call. At least the {@link JQuery.UrlAjaxSettings.url} is required.
     */
    ajaxOptions?: JQuery.UrlAjaxSettings;
}
//# sourceMappingURL=AjaxCall.d.ts.map