/**
 * An class that abstracts away the ability to make an XMLHttpRequest.
 */
export interface RequestParams {
    url: string;
    method: string | undefined;
    headers: string[] | undefined;
    dataType: string | undefined;
    data: string | undefined;
}
export declare abstract class Requestor {
    abstract xhr<T>(t4: RequestParams): Promise<T>;
}
/**
 * Uses $.ajax to makes the Ajax requests.
 */
export declare class JQueryRequestor extends Requestor {
    private mRequestCanceled;
    cancelTokenRequest(s4: boolean): void;
    xhr<T>(g4: RequestParams): Promise<T>;
}
/**
 * Uses fetch API to make Ajax requests
 */
export declare class FetchRequestor extends Requestor {
    xhr<T>(u3: RequestParams): Promise<T>;
}
