import Immutable from "immutable"; import { CreateGenericOptions } from "./LoaderRender"; type State = Immutable.Map; type Options = { location?: string; doNotUseInLocationID?: boolean; }; export declare const createLoader: ({ key, url, normalizeResult }: CreateGenericOptions) => { key: string; selectors: { shouldFetch: ((state: State, token: string) => boolean) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; } & { resultFunc: (resultFuncArgs_0: boolean, resultFuncArgs_1: boolean, resultFuncArgs_2: string) => boolean; memoizedResultFunc: ((resultFuncArgs_0: boolean, resultFuncArgs_1: boolean, resultFuncArgs_2: string) => boolean) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; }; lastResult: () => boolean; dependencies: [(state: State, token: string) => boolean, (state: State, token: string) => boolean, (state: State, token: string) => string]; recomputations: () => number; resetRecomputations: () => void; dependencyRecomputations: () => number; resetDependencyRecomputations: () => void; } & { argsMemoize: typeof import("reselect").weakMapMemoize; memoize: typeof import("reselect").weakMapMemoize; }; getItem: ((state: State, id: any) => any) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; } & { resultFunc: (resultFuncArgs_0: Immutable.Map, resultFuncArgs_1: string) => any; memoizedResultFunc: ((resultFuncArgs_0: Immutable.Map, resultFuncArgs_1: string) => any) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; }; lastResult: () => any; dependencies: [(state: State) => Immutable.Map, (state: State, id: any) => string]; recomputations: () => number; resetRecomputations: () => void; dependencyRecomputations: () => number; resetDependencyRecomputations: () => void; } & { argsMemoize: typeof import("reselect").weakMapMemoize; memoize: typeof import("reselect").weakMapMemoize; }; isFetched: ((state: State, token: string) => boolean) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; } & { resultFunc: (resultFuncArgs_0: boolean, resultFuncArgs_1: string) => boolean; memoizedResultFunc: ((resultFuncArgs_0: boolean, resultFuncArgs_1: string) => boolean) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; }; lastResult: () => boolean; dependencies: [(state: State, token: string) => boolean, (state: State, token: string) => string]; recomputations: () => number; resetRecomputations: () => void; dependencyRecomputations: () => number; resetDependencyRecomputations: () => void; } & { argsMemoize: typeof import("reselect").weakMapMemoize; memoize: typeof import("reselect").weakMapMemoize; }; hasError: ((state: State, token: string) => boolean) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; } & { resultFunc: (resultFuncArgs_0: string) => boolean; memoizedResultFunc: ((resultFuncArgs_0: string) => boolean) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; }; lastResult: () => boolean; dependencies: [(state: State, token: string) => string]; recomputations: () => number; resetRecomputations: () => void; dependencyRecomputations: () => number; resetDependencyRecomputations: () => void; } & { argsMemoize: typeof import("reselect").weakMapMemoize; memoize: typeof import("reselect").weakMapMemoize; }; getData: (state: State) => Immutable.Map; hasBeenFetched: (state: State, token: string) => boolean; getError: (state: State, token: string) => string; isFetching: (state: State, token: string) => boolean; }; actions: { clearAll: () => { type: string; }; clearToken: (token: string) => { type: string; payload: { token: string; }; }; addItem: (payload: any, options?: Options) => { type: string; payload: { Data: any; location?: string | undefined; doNotUseInLocationID?: boolean | undefined; }; }; modifyItem: (payload: any, options?: Options) => { type: string; payload: { Data: any; location?: string | undefined; doNotUseInLocationID?: boolean | undefined; }; }; deleteItem: (payload: any, options?: Options) => { type: string; payload: { Data: any; location?: string | undefined; doNotUseInLocationID?: boolean | undefined; }; }; }; Load: (props: { readonly silent?: boolean | undefined; readonly sm?: boolean | undefined; readonly centerLoading?: boolean | undefined; readonly keepShowingDataIfHasBeenFetched?: boolean | undefined; readonly token: string; readonly children: any; }) => any; reducer: (state: State | undefined, action: any) => State; }; export {};