import { Observable } from 'rxjs/Observable'; import { AxiosRequestConfig, AxiosResponse } from 'axios'; import { ObjectMap } from '../interfaces/objectMap'; export interface ApiCallContext { widgetName: string; } export declare const HEADERS: { Pragma: string; 'Cache-Control': string; }; declare const axiosForApi: { get: (path: string, config: AxiosRequestConfig, callContext?: ApiCallContext) => Promise>; put: (path: string, data: any, callContext?: ApiCallContext) => Promise>; post: (path: string, data: any, config?: AxiosRequestConfig, callContext?: ApiCallContext) => Promise>; delete: (path: string, callContext?: ApiCallContext) => Promise>; }; /** * http get-запрос средствами axios в RxJs стиле. Изоморфная замена AjaxObservable. * @param path - путь http запроса. * @param headers - заголовки http запроса. * @param callContext - данные для обработчиков взятые из контекста вызова запроса * @template ResponsePayload - тип возвращаемого ответа */ declare const axiosGet: (path: string, config?: AxiosRequestConfig, callContext?: ApiCallContext) => Observable; /** * http get-запрос средствами axios в RxJs стиле. Изоморфная замена AjaxObservable. * @param path - путь http запроса. * @param headers - заголовки http запроса. * @param callContext - данные для обработчиков взятые из контекста вызова запроса * @template ResponsePayload - тип возвращаемого ответа */ declare const axiosPost: (path: string, data: any, config?: AxiosRequestConfig, callContext?: ApiCallContext) => Observable; /** * http get-запрос средствами axios в RxJs стиле. Изоморфная замена AjaxObservable. * @param path - путь http запроса. * @param headers - заголовки http запроса. * @param callContext - данные для обработчиков взятые из контекста вызова запроса * @template ResponsePayload - тип возвращаемого ответа */ declare const axiosPut: (path: string, data: any, callContext?: ApiCallContext) => Observable; /** * http get-запрос средствами axios в RxJs стиле. Изоморфная замена AjaxObservable. * @param path - путь http запроса. * @param headers - заголовки http запроса. * @param callContext - данные для обработчиков взятые из контекста вызова запроса * @template ResponsePayload - тип возвращаемого ответа */ declare const axiosDelete: (path: string, callContext?: ApiCallContext) => Observable; declare type QueryParamsMap = ObjectMap; /** * Добавляет в адрес управляющий символ для нового GET-параметра, ? или & */ export declare function addTailControlSequences(url: string): string; /** * Добавляет в адрес GET-параметры из словаря */ export declare function applyParams(url: string, qso: QueryParamsMap): string; /** * TODO * * @param url * @param qso */ export declare function applyRawParams(url: string, qso: object): string; export { axiosForApi, axiosGet, axiosPut, axiosDelete, axiosPost };