import { IContextProviderCollection } from "@omnia/fx-models";
import { AxiosRequestConfig, AxiosInstance, AxiosPromise, AxiosResponse } from "axios";
export interface RetryableHttpAction {
    (currentAxInstance: AxiosInstance): AxiosPromise<any>;
}
export interface IHttpRetryPlugIn {
    checkResponse: (currentConfig: AxiosRequestConfig, responseToCeck: AxiosResponse<any>) => Promise<AxiosRequestConfig | null>;
}
export declare class HttpRetryPlugIn {
    private static plugin;
    static registerRetryPlugin: (plugin: IHttpRetryPlugIn) => void;
    static executeHttpRequest: (ax: AxiosInstance, cfg: AxiosRequestConfig, requestCreator: RetryableHttpAction) => AxiosPromise<any>;
}
export declare class HttpContextConfigPlugin {
    private static _Instance;
    static get instance(): IContextProviderCollection;
    static registerContextProviders: (contextProviders: IContextProviderCollection) => void;
}
