import { AjaxRequest, Observable } from 'rxjs'; import { ObservableLike } from '../WebRx'; export declare enum HttpRequestMethod { GET = 0, POST = 1, PUT = 2, DELETE = 3, PATCH = 4, } export interface ObservableApiError { uri?: string; message: string; messageDetail?: string; code?: number; reason?: string; response?: any; } export declare type SampleDataAction = (params?: any, data?: any) => ObservableLike<{} | undefined>; export declare type SampleDataActionSet = StringMap; export interface SampleDataStore { readonly actions: SampleDataActionSet; } export interface SampleDataApi { observe(action: string, params?: any, data?: any, cloneResult?: boolean): Observable; getStoreValue(name: string, selector: (store: TStore) => T): T | undefined; } export declare type SampleDataCreator = () => SampleDataApi; export interface StoreApi { readonly path: string; readonly base: string; readonly baseUri: string; observe(action: string, params?: any, data?: any, method?: HttpRequestMethod, options?: AjaxRequest, baseUri?: string): Observable; getObservable(action: string, params?: any, options?: AjaxRequest, baseUri?: string): Observable; postObservable(action: string, data?: any, params?: any, options?: AjaxRequest, baseUri?: string): Observable; getSampleStoreValue(name: string, selector: (data: TStore) => T): T | undefined; } export interface Store { readonly api: StoreApi; }