@neuroequality/neuroadapt-core
Version:
Core sensory, cognitive, and preference management for NeuroAdapt SDK
43 lines (42 loc) • 1.46 kB
TypeScript
import { Preferences } from './schemas.js';
/**
* Abstract storage interface for preferences persistence
*/
export interface PreferenceStorage {
get(key: string): Promise<Preferences | null>;
set(key: string, preferences: Preferences): Promise<void>;
remove(key: string): Promise<void>;
list(): Promise<string[]>;
exists(key: string): Promise<boolean>;
}
/**
* localStorage implementation of PreferenceStorage
* Provides local-first, privacy-respecting storage
*/
export declare class LocalStoragePreferenceStorage implements PreferenceStorage {
private readonly prefix;
constructor(prefix?: string);
get(key: string): Promise<Preferences | null>;
set(key: string, preferences: Preferences): Promise<void>;
remove(key: string): Promise<void>;
list(): Promise<string[]>;
exists(key: string): Promise<boolean>;
private getStorageKey;
/**
* Clear all preferences from storage (for testing/reset)
*/
clear(): Promise<void>;
}
/**
* In-memory storage implementation for testing
*/
export declare class MemoryPreferenceStorage implements PreferenceStorage {
private readonly storage;
get(key: string): Promise<Preferences | null>;
set(key: string, preferences: Preferences): Promise<void>;
remove(key: string): Promise<void>;
list(): Promise<string[]>;
exists(key: string): Promise<boolean>;
clear(): Promise<void>;
}
//# sourceMappingURL=storage.d.ts.map