import { FsRequestOptions, FsResponse } from './types';
import { AdapterInterface } from './adapters/interface';
/**
 * Request dispatcher
 *
 * @export
 * @class Dispatch
 */
export declare class Dispatch {
    adapter: AdapterInterface;
    /**
     * Creates an instance of Dispatch.
     *
     * @param {AdapterInterface} adapter http | XHR adapater
     * @memberof Dispatch
     */
    constructor(adapter: AdapterInterface);
    /**
     * Dispatch request adding retry policy
     * @todo add data preprocesor
     *
     * @param {FsRequestOptions} config
     * @returns {Promise<FsResponse>}
     * @memberof Dispatch
     */
    request(config: FsRequestOptions): Promise<FsResponse>;
    /**
     * Request retrier
     *
     * @private
     * @param {FsRequestError} err
     * @returns
     * @memberof Dispatch
     */
    private retry;
}
