///
/**
* An class that abstracts away the ability to make an XMLHttpRequest.
*/
export declare abstract class Requestor {
abstract xhr(settings: JQueryAjaxSettings): Promise;
}
/**
* Uses $.ajax to makes the Ajax requests.
*/
export declare class JQueryRequestor extends Requestor {
xhr(settings: JQueryAjaxSettings): Promise;
}
/**
* Uses fetch API to make Ajax requests
*/
export declare class FetchRequestor extends Requestor {
xhr(settings: JQueryAjaxSettings): Promise;
}
/**
* Should be used only in the context of testing. Just uses the underlying
* Promise to mock the behavior of the Requestor.
*/
export declare class TestRequestor extends Requestor {
promise: Promise;
constructor(promise: Promise);
xhr(settings: JQueryAjaxSettings): Promise;
}