/** * Secure Storage Interface * Platform-agnostic interface for secure key storage */ interface SecureStorageAdapter { /** * Store a value securely */ setItem(key: string, value: string): Promise; /** * Retrieve a value */ getItem(key: string): Promise; /** * Remove a value */ removeItem(key: string): Promise; /** * Check if a key exists */ hasItem(key: string): Promise; /** * Clear all stored values */ clear(): Promise; } /** * iOS Keychain Storage Adapter * Uses react-native-keychain for iOS Keychain access */ declare class KeychainStorageAdapter implements SecureStorageAdapter { private serviceName; constructor(serviceName?: string); setItem(key: string, value: string): Promise; getItem(key: string): Promise; removeItem(key: string): Promise; hasItem(key: string): Promise; clear(): Promise; } /** * Android Keystore Storage Adapter * Uses Android Keystore for secure storage */ declare class KeystoreStorageAdapter implements SecureStorageAdapter { private alias; constructor(alias?: string); setItem(key: string, value: string): Promise; getItem(key: string): Promise; removeItem(key: string): Promise; hasItem(key: string): Promise; clear(): Promise; } /** * Web Encrypted LocalStorage Adapter * Uses Web Crypto API for encryption with localStorage */ declare class WebEncryptedStorageAdapter implements SecureStorageAdapter { private encryptionKey; private storagePrefix; constructor(storagePrefix?: string); /** * Initialize with a password-derived key */ initialize(password: string): Promise; private getSalt; setItem(key: string, value: string): Promise; getItem(key: string): Promise; removeItem(key: string): Promise; hasItem(key: string): Promise; clear(): Promise; } /** * In-Memory Storage Adapter (for testing) */ declare class MemoryStorageAdapter implements SecureStorageAdapter { private storage; setItem(key: string, value: string): Promise; getItem(key: string): Promise; removeItem(key: string): Promise; hasItem(key: string): Promise; clear(): Promise; } /** * Secure Storage Factory * Creates appropriate storage adapter based on platform */ declare function createSecureStorage(): SecureStorageAdapter; export { KeychainStorageAdapter as K, MemoryStorageAdapter as M, type SecureStorageAdapter as S, WebEncryptedStorageAdapter as W, KeystoreStorageAdapter as a, createSecureStorage as c };