import { HttpOptions, HttpResponse } from 'vue-resource'; import { Resp } from '../types'; /** * Serialize nested objects * @param {Function} func * @returns {(target: any, key: string) => void} * @constructor */ export declare function ResponseSerialize(func: Function): (target: any, key: string) => void; /** * Show a property during the serialization * Note: this decorator is set by default * @param {string} name * @returns {(object: (Object | Function), propertyName?: string) => void} * @constructor */ export declare function ResponseFill(name?: string): (object: Object | Function, propertyName?: string | undefined) => void; /** * Hide a property during the serialization * @returns {(object: (Object | Function), propertyName?: string) => void} * @constructor */ export declare function ResponseHidden(): (object: Object | Function, propertyName?: string | undefined) => void; /** * Get the full API URL * @param {string} uri * @returns {string} */ export declare const apiFullURL: (uri: string) => string; /** * Call an API using Vue-Resource then serialize the response * @param classOrObject * @param {PromiseLike} promise * @returns {PromiseLike>} */ export declare const call: (classOrObject: any, promise: PromiseLike) => PromiseLike>; /** * Call an API with GET method * @param classOrObject * @param {string} uri * @param {module:vue-resource.HttpOptions} options * @returns {PromiseLike>} * @constructor */ export declare const GET: (classOrObject: any, uri: string, options?: HttpOptions | undefined) => PromiseLike>; /** * Call an API with POST method * @param classOrObject * @param {string} uri * @param body * @param {module:vue-resource.HttpOptions} options * @returns {PromiseLike>} * @constructor */ export declare const POST: (classOrObject: any, uri: string, body?: any, options?: HttpOptions | undefined) => PromiseLike>; /** * Call an API with PUT method * @param classOrObject * @param {string} uri * @param body * @param {module:vue-resource.HttpOptions} options * @returns {PromiseLike>} * @constructor */ export declare const PUT: (classOrObject: any, uri: string, body?: any, options?: HttpOptions | undefined) => PromiseLike>; /** * Call an API with DELETE method * @param classOrObject * @param {string} uri * @param {module:vue-resource.HttpOptions} options * @returns {PromiseLike>} * @constructor */ export declare const DELETE: (classOrObject: any, uri: string, options?: HttpOptions | undefined) => PromiseLike>;