export declare type RequestParameters = {
    url: string;
    headers?: any;
    method?: 'GET' | 'POST' | 'PUT';
    body?: string;
    type?: 'string' | 'json' | 'arrayBuffer';
    credentials?: 'same-origin' | 'include';
    collectResourceTiming?: boolean;
    signal?: AbortSignal;
};
export declare type ResponseCallback<T> = (error?: Error | null, data?: T | null, cacheControl?: string | null, expires?: string | null) => void;
export declare class AJAXError extends Error {
    /**
     * The response's HTTP status code.
     */
    status: number;
    /**
     * The response's HTTP status text.
     */
    statusText: string;
    /**
     * The request's URL.
     */
    url: string;
    /**
     * The response's body.
     */
    body: Blob;
    constructor(status: number, statusText: string, url: string, body: Blob);
}
export declare const getJSON: (requestParameters: RequestParameters, callback: ResponseCallback<any>) => any;
export declare const getArrayBuffer: (requestParameters: RequestParameters, callback: ResponseCallback<ArrayBuffer>) => any;
export declare const postData: (requestParameters: RequestParameters, callback: ResponseCallback<string>) => any;
export declare const getImage: (requestParameters: RequestParameters, callback: ResponseCallback<HTMLImageElement | ImageBitmap | null>) => any;
export declare const getTiffImage: (requestParameters: RequestParameters, callback: ResponseCallback<HTMLImageElement | ImageBitmap | null>, rasterParser: any) => any;
