import type { DataRegistry, StorageInterface } from '../../types'; interface PersistencePluginOptions { /** * Persistent storage implementation. This must * at least implement `getItem` and `setItem` of * the Web Storage API. */ storage?: StorageInterface; /** * Key on which to set in persistent storage. */ storageKey?: string; } interface PersistenceInterface { get: () => Record; set: (key: string, value: unknown) => void; } /** * Higher-order reducer which invokes the original reducer only if state is * inequal from that of the action's `nextState` property, otherwise returning * the original state reference. * * @param reducer Original reducer. * * @return Enhanced reducer. */ export declare const withLazySameState: (reducer: (state: any, action: any) => any) => (state: unknown, action: { nextState: unknown; }) => any; /** * Creates a persistence interface, exposing getter and setter methods (`get` * and `set` respectively). * * @param options Plugin options. * * @return Persistence interface. */ export declare function createPersistenceInterface(options: PersistencePluginOptions): PersistenceInterface; /** * Data plugin to persist store state into a single storage key. * * @param registry Data registry. * @param pluginOptions Plugin options. * * @return Data plugin. */ declare function persistencePlugin(registry: DataRegistry, pluginOptions: PersistencePluginOptions): Partial; declare const _default: typeof persistencePlugin & { __unstableMigrate: () => void; }; export default _default; //# sourceMappingURL=index.d.ts.map