import { HttpClient, RequestInit } from "aurelia-fetch-client"; import { NumberService } from "./number-service"; import { AjaxErrorHandler as IErrorHandler } from "./handle-errors-service"; import { LoggingService } from "./logging-service"; import { I18N } from 'aurelia-i18n'; export declare class Ajax { private http; private errorHandler; private loggingService; private numberService; private i18n; static GlobalBaseUrl: string; static GlobalRequestInit: RequestInit; BaseUrl: string; noCacheHeader: any; private _initialized; constructor(http: HttpClient, errorHandler: IErrorHandler, loggingService: LoggingService, numberService: NumberService, i18n: I18N); private configure(); private fetch(url, init); fetchNumber(url: string, init?: RequestInit): Promise>; fetchText(url: string, init?: RequestInit): Promise>; fetchJson(url: string, init?: RequestInit): Promise>; put(url: string, data: Object, init?: RequestInit): Promise>; post(url: string, data?: Object, init?: RequestInit): Promise>; delete(url: string, init?: RequestInit): Promise>; private getAjaxResponse(response); private getAjaxResultForType(response, dataReturnType); private handleJavaScriptException(ex); private handleTypeError(ex); private handleServerException(ex); private handleDOMException(ex); private handleServerError(error); } export interface IAjaxResult { Success: boolean; ErrorCode?: number; ErrorMessage?: string; Data?: T; } export interface IErrorHandler { HandleError(friendlyMessage: string, diagnosticMessage?: string): Promise; }