import { EmptyConfig, OrArray, PropsFactory, Query, Reducer, StateOf, Store, StoreDef } from '@ngneat/elf'; import { MonoTypeOperatorFunction, Observable, OperatorFunction } from 'rxjs'; export type RequestsCacheState = StateOf; export type CacheRecordKeys = S extends { requestsCache: Record; } ? K : string; export type CacheState = { value: 'none' | 'partial' | 'full'; timestamp?: number; }; export declare function withRequestsCache(initialValue?: Record): PropsFactory<{ requestsCache: Record; }, EmptyConfig>; export declare function selectRequestCache(key: CacheRecordKeys): OperatorFunction; export declare function updateRequestsCache(keys: Array>, value: CacheState | { value: CacheState['value']; ttl?: number; }): Reducer; export declare function updateRequestsCache(requests: Partial, CacheState | { value: CacheState['value']; ttl?: number; }>>): Reducer; export declare function updateRequestCache(key: CacheRecordKeys, { ttl, value: v }?: { ttl?: number; value?: CacheState['value']; }): Reducer; export declare function getRequestCache(key: CacheRecordKeys): Query; export declare function selectIsRequestCached(key: Parameters[0], options?: { value?: CacheState['value']; }): OperatorFunction; export declare function isRequestCached(key: OrArray>, options?: { value?: CacheState['value']; }): (state: S) => boolean; export declare function skipWhileCached(store: Store>, key: OrArray>, options?: { value?: CacheState['value']; returnSource?: Observable; }): MonoTypeOperatorFunction; export declare function createRequestsCacheOperator(store: Store>): (key: CacheRecordKeys, options?: Parameters[2]) => MonoTypeOperatorFunction; export declare function clearRequestsCache(): Reducer;