import { AxiosInstance, AxiosPromise, AxiosRequestConfig } from 'axios';
import { PluginObject } from 'vue';
import { RequestConfig, RestAdapter } from './rest';
/**
 * Augment the typings of Vue.js
 */
declare module 'vue/types/vue' {
    interface Vue {
        $http: HttpService;
    }
}
export interface HttpPluginOptions {
    protectedUrls?: string[];
    authorizationFn?: () => string | Promise<string>;
    timeout?: number;
    useEventOnPromiseError?: boolean;
}
export declare const NO_TIMEOUT: number;
export declare class HttpService implements RestAdapter {
    private options?;
    instance: AxiosInstance;
    constructor(options?: HttpPluginOptions | undefined);
    execute<T>(config: RequestConfig, axiosOptions?: AxiosRequestConfig): AxiosPromise<T>;
    private buildConfig;
    private resolveUrl;
}
declare const HttpPlugin: PluginObject<any>;
export default HttpPlugin;
//# sourceMappingURL=http.d.ts.map