import { Http, Request } from '@angular/http'; import { Injector } from '@angular/core'; import { Observable } from 'rxjs/Rx'; import { ResourceParamsBase, ResourceResult } from './Interfaces'; import { ResourceActionBase } from './Interfaces'; import { ResourceModel } from './ResourceModel'; import { ResourceStorage } from './ResourceStorage'; export interface Resource { initStorage?(): ResourceStorage; } export declare class Resource { protected http: Http; protected injector: Injector; static instance: Resource; private _url; private _path; private _headers; private _params; private _data; storageLoad: (...args: any[]) => ResourceResult; storage: ResourceStorage; constructor(http: Http, injector: Injector); /** * Get main url of the resource * @returns {string|Promise} */ getUrl(methodOptions?: ResourceActionBase): string | Promise; /** * Set resource url * @param url */ setUrl(url: string): void; /** * Get path of the resource * @returns {string|Promise} */ getPath(methodOptions?: ResourceActionBase): string | Promise; /** * Set resource path * @param path */ setPath(path: string): void; /** * Get headers * @returns {any|Promise} */ getHeaders(methodOptions?: ResourceActionBase): any | Promise; /** * Set resource headers * @param headers */ setHeaders(headers: any): void; /** * Get default params * @returns {any|Promise|{}} */ getParams(methodOptions?: ResourceActionBase): any | Promise; /** * Set default resource params * @param params */ setParams(params: any): void; /** * Get default data * @returns {any|Promise|{}} */ getData(methodOptions?: ResourceActionBase): any | Promise; /** * Set default resource params * @param data */ setData(data: any): void; /** * That is called before executing request * @param req */ requestInterceptor(req: Request, methodOptions?: ResourceActionBase): Request; /** * Request observable interceptor * @param observable * @returns {Observable} */ responseInterceptor(observable: Observable, req: Request, methodOptions?: ResourceActionBase): Observable; removeTrailingSlash(): boolean; initResultObject(): any; map(item: any): any; filter(item: any): boolean; getResourceOptions(): ResourceParamsBase; createModel(): ResourceModel; protected _request(req: Request, methodOptions?: ResourceActionBase): Observable; private _getUrl(methodOptions?); private _getPath(methodOptions?); private _getHeaders(methodOptions?); private _getParams(methodOptions?); private _getData(methodOptions?); }