import { Container } from 'aurelia-framework'; import { HttpClient } from 'aurelia-fetch-client'; import { DecoAppState } from '../state'; import { Store } from 'aurelia-store'; import 'whatwg-fetch'; import { Logger } from 'aurelia-logging'; export interface DecoInitOptions { container?: Container; language?: string; languages?: Array; country?: string; countries?: Array; refLanguage?: string; force?: boolean; } export interface RequestOption { method?: 'get' | 'post' | 'delete' | 'put'; headers?: any; bodyFormat?: 'json' | 'FormData'; etag?: string; } export declare class DecoApi { http: HttpClient; configured: boolean; log: Logger; private initDone; store: Store; state: DecoAppState; container: Container; private version; sessionId: string; constructor(http: HttpClient); init(store: Store, options?: DecoInitOptions): Promise; configureHost(host: string): void; defaultOptions(options?: RequestOption): any; extendEntrpoint(entrypoint: string): string; get(entrypoint: string, options?: RequestOption): Promise; post(entrypoint: string, body?: any, options?: RequestOption): Promise; put(entrypoint: string, body?: any, options?: RequestOption): Promise; delete(entrypoint: string, body?: any, options?: RequestOption): Promise; private normalizeBody; } export declare function jsonify(response: Response): Promise;