import { ReactNode } from 'react'; import { Async, ResourceController, CacheController, AwaitableCacheController, ConstantAsync } from './interface.js'; import { ObservableCache } from './ObservableCache.js'; export interface ContextValue { cache: ObservableCache; promiseResolver: () => void; promisePendingComponentMount: Promise; } export interface Props { children: ReactNode; } interface Options { contextDisplayName?: string; } export declare const createCacheProvider: ({ contextDisplayName }: Options) => { CacheProvider: ({ children }: Props) => import("react/jsx-runtime").JSX.Element; useExpireCache: () => CacheController; useRefreshCache: () => AwaitableCacheController; useResource: (api: Async, params: I) => [O, ResourceController]; useConstantResource: (api: ConstantAsync) => [O_1, ResourceController]; useResourceController: (api: Async, params: I_1) => ResourceController; useConstantResourceController: (api: ConstantAsync) => ResourceController; usePreloadResource: (api: Async, params: I_2) => void; usePreloadConstantResource: (api: ConstantAsync) => void; usePreloadResourceCallback: () => CacheController; }; export {};