import type { HotApiProvider } from './interface'; interface ExtendedPersistOptions { key?: string; cleanup?: (instance: T) => void; } type PersistOptions = ExtendedPersistOptions | string; /** * Persist a value across hot reloads. * * ``` * // vite 2/3/4 * const value = persist(() => import.meta.hot)(() => ({ property: 'hello, world' })); * * // webpack 4/5, parcel 2 * const value = persist(module)(() => ({ property: 'hello, world' })); * * // webpack 5 * const value = persist(() => import.meta.webpackHot)(() => ({ property: 'hello, world' })); * ``` * * @param hotApiProvider module-like object with `hot` API exposed or `hot` API getter * @returns */ export declare function persist(hotApiProvider: HotApiProvider): (factory: () => T, dependencies?: unknown[], options?: PersistOptions | undefined) => T; export {}; //# sourceMappingURL=persist.d.ts.map