import { TEnforceFeatureConstraint, TFeatureDefinition } from '@blgc/types/features'; import type { TPersistFeature, TState } from '../types'; export declare const FAILED_TO_LOAD_FROM_STORAGE_IDENTIFIER: null; export declare const LOAD_FROM_STORAGE_SOURCE_KEY = "loadFromStorage"; export interface TStorageInterface { save: (key: string, value: GStorageValue) => Promise | boolean; load: (key: string) => Promise | GStorageValue | typeof FAILED_TO_LOAD_FROM_STORAGE_IDENTIFIER; delete: (key: string) => Promise | boolean; } export declare function withStorage(baseState: TEnforceFeatureConstraint, TState, []>, storage: TStorageInterface, key: string): TState;