import type { SecurityCapabilities, StorageCapabilities } from "./storage-runtime"; import { StorageScope, AccessControl } from "./Storage.types"; export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types"; export { isKeychainLockedError } from "./shared"; export { migrateFromMMKV } from "./migration"; export { getStorageErrorCode, isStorageError } from "./storage-runtime"; export { createIndexedDBBackend } from "./indexeddb-backend"; export { describeWebBackendCapabilities, isIndexedDBWebBackend, type WebBackendCapabilities, } from "./web-backend-contract"; export { useSetStorage, useStorage, useStorageActions, useStorageSelector, useStorageValue, } from "./storage-hooks"; export type { ExpirationConfig, Migration, MigrationContext, SecureAuthStorageConfig, StorageEventObserverOptions, StorageExportOptions, StorageMetricSummary, StorageMetricsEvent, StorageMetricsObserver, StorageSelectorListener, StorageSelectorSubscribeOptions, StorageVersion, Validator, VersionedValue, } from "./shared"; export type { SecureStorageMetadata, SecurityCapabilities, StorageCapabilities, StorageErrorCode, } from "./storage-runtime"; export type { StorageBatchChangeEvent, StorageChangeEvent, StorageChangeOperation, StorageChangeSource, StorageEventListener, StorageKeyChangeEvent, } from "./storage-events"; export type { StorageActions, StorageSetter } from "./storage-hooks"; export type { SetItemConfig, SetStorageItem, StorageBatchSetItem, StorageClearOptions, StorageItem, StorageItemConfig, StorageKeyRef, TransactionContext, } from "./storage-core"; export type { PlatformScope, PlatformStorage } from "./storage-platform"; declare function buildTestingModule(): { storage: { setAccessControl: (level: AccessControl) => void; setSecureWritesAsync: (_enabled: boolean) => void; setKeychainAccessGroup: (_group: string) => void; getCapabilities: () => StorageCapabilities; getSecurityCapabilities: () => SecurityCapabilities; subscribe: (scope: StorageScope, listener: import("./storage-events").StorageEventListener) => (() => void); subscribeKey: (scope: StorageScope, key: string, listener: import("./storage-events").StorageEventListener) => (() => void); subscribePrefix: (scope: StorageScope, prefix: string, listener: import("./storage-events").StorageEventListener) => (() => void); subscribeNamespace: (namespace: string, scope: StorageScope, listener: import("./storage-events").StorageEventListener) => (() => void); setEventObserver: (observer?: import("./storage-events").StorageEventListener, options?: import("./shared").StorageEventObserverOptions) => void; clear: (scope: StorageScope, options?: import("./storage-core").StorageClearOptions) => void; clearAll: () => void; clearGroup: (group: string) => void; getGroupItems: (group: string) => import("./storage-core").StorageItem[]; subscribeExpired: (scope: StorageScope, listener: (event: import("./storage-events").StorageKeyChangeEvent) => void) => (() => void); findDuplicateKeys: () => { key: string; scope: StorageScope; count: number; }[]; getRegisteredKeys: () => { key: string; scope: StorageScope; }[]; clearNamespace: (namespace: string, scope: StorageScope) => void; clearBiometric: () => void; has: (key: string, scope: StorageScope) => boolean; getAllKeys: (scope: StorageScope) => string[]; getKeysByPrefix: (prefix: string, scope: StorageScope) => string[]; getByPrefix: (prefix: string, scope: StorageScope) => Record; getAll: (scope: StorageScope) => Record; export: (scope: StorageScope, options?: import("./shared").StorageExportOptions) => Record; exportSecureUnsafe: () => Record; size: (scope: StorageScope) => number; setDiskWritesAsync: (enabled: boolean) => void; flushDiskWrites: () => void; flushSecureWrites: () => void; setMetricsObserver: (observer?: import("./shared").StorageMetricsObserver) => void; getMetricsSnapshot: () => Record; getScopedMetricsSnapshot: () => Record; resetMetrics: () => void; getSecureMetadata: (key: string) => import("./storage-runtime").SecureStorageMetadata; getAllSecureMetadata: () => import("./storage-runtime").SecureStorageMetadata[]; getString: (key: string, scope: StorageScope) => string | undefined; setString: (key: string, value: string, scope: StorageScope) => void; deleteString: (key: string, scope: StorageScope) => void; import: (data: Record, scope: StorageScope) => void; }; createStorageItem: (config: import("./storage-core").StorageItemConfig) => import("./storage-core").StorageItem; memoryItem: (config: Omit, "scope">) => import("./storage-core").StorageItem; diskItem: (config: Omit, "scope">) => import("./storage-core").StorageItem; secureItem: (config: Omit, "scope">) => import("./storage-core").StorageItem; createSetItem: (config: import("./storage-core").SetItemConfig) => import("./storage-core").SetStorageItem; getBatch: []>(items: TItems, scope: StorageScope) => import("./storage-core").BatchValues; setBatch: unknown; }[]>(items: { [Index in keyof TItems]: { item: TItems[Index] & import("./storage-core").StorageItem>; value: ReturnType; }; }, scope: StorageScope) => void; removeBatch: (items: readonly import("./storage-core").BatchRemoveItem[], scope: StorageScope) => void; registerMigration: (version: number, migration: import("./shared").Migration) => void; migrateToLatest: (scope?: StorageScope) => number; runTransaction: (scope: StorageScope, transaction: (context: import("./storage-core").TransactionContext) => T) => T; createSecureAuthStorage: (config: import("./shared").SecureAuthStorageConfig, options?: { namespace?: string; group?: string; fallbackToCacheOnReadError?: boolean; }) => Record>; reset: () => void; }; export type NitroStorageTestModule = ReturnType; export declare const storage: { setAccessControl: (level: AccessControl) => void; setSecureWritesAsync: (_enabled: boolean) => void; setKeychainAccessGroup: (_group: string) => void; getCapabilities: () => StorageCapabilities; getSecurityCapabilities: () => SecurityCapabilities; subscribe: (scope: StorageScope, listener: import("./storage-events").StorageEventListener) => (() => void); subscribeKey: (scope: StorageScope, key: string, listener: import("./storage-events").StorageEventListener) => (() => void); subscribePrefix: (scope: StorageScope, prefix: string, listener: import("./storage-events").StorageEventListener) => (() => void); subscribeNamespace: (namespace: string, scope: StorageScope, listener: import("./storage-events").StorageEventListener) => (() => void); setEventObserver: (observer?: import("./storage-events").StorageEventListener, options?: import("./shared").StorageEventObserverOptions) => void; clear: (scope: StorageScope, options?: import("./storage-core").StorageClearOptions) => void; clearAll: () => void; clearGroup: (group: string) => void; getGroupItems: (group: string) => import("./storage-core").StorageItem[]; subscribeExpired: (scope: StorageScope, listener: (event: import("./storage-events").StorageKeyChangeEvent) => void) => (() => void); findDuplicateKeys: () => { key: string; scope: StorageScope; count: number; }[]; getRegisteredKeys: () => { key: string; scope: StorageScope; }[]; clearNamespace: (namespace: string, scope: StorageScope) => void; clearBiometric: () => void; has: (key: string, scope: StorageScope) => boolean; getAllKeys: (scope: StorageScope) => string[]; getKeysByPrefix: (prefix: string, scope: StorageScope) => string[]; getByPrefix: (prefix: string, scope: StorageScope) => Record; getAll: (scope: StorageScope) => Record; export: (scope: StorageScope, options?: import("./shared").StorageExportOptions) => Record; exportSecureUnsafe: () => Record; size: (scope: StorageScope) => number; setDiskWritesAsync: (enabled: boolean) => void; flushDiskWrites: () => void; flushSecureWrites: () => void; setMetricsObserver: (observer?: import("./shared").StorageMetricsObserver) => void; getMetricsSnapshot: () => Record; getScopedMetricsSnapshot: () => Record; resetMetrics: () => void; getSecureMetadata: (key: string) => import("./storage-runtime").SecureStorageMetadata; getAllSecureMetadata: () => import("./storage-runtime").SecureStorageMetadata[]; getString: (key: string, scope: StorageScope) => string | undefined; setString: (key: string, value: string, scope: StorageScope) => void; deleteString: (key: string, scope: StorageScope) => void; import: (data: Record, scope: StorageScope) => void; }; export declare const createStorageItem: (config: import("./storage-core").StorageItemConfig) => import("./storage-core").StorageItem; export declare const memoryItem: (config: Omit, "scope">) => import("./storage-core").StorageItem; export declare const diskItem: (config: Omit, "scope">) => import("./storage-core").StorageItem; export declare const secureItem: (config: Omit, "scope">) => import("./storage-core").StorageItem; export declare const createSetItem: (config: import("./storage-core").SetItemConfig) => import("./storage-core").SetStorageItem; export declare const getBatch: []>(items: TItems, scope: StorageScope) => import("./storage-core").BatchValues; export declare const setBatch: unknown; }[]>(items: { [Index in keyof TItems]: { item: TItems[Index] & import("./storage-core").StorageItem>; value: ReturnType; }; }, scope: StorageScope) => void; export declare const removeBatch: (items: readonly import("./storage-core").BatchRemoveItem[], scope: StorageScope) => void; export declare const registerMigration: (version: number, migration: import("./shared").Migration) => void; export declare const migrateToLatest: (scope?: StorageScope) => number; export declare const runTransaction: (scope: StorageScope, transaction: (context: import("./storage-core").TransactionContext) => T) => T; export declare const createSecureAuthStorage: (config: import("./shared").SecureAuthStorageConfig, options?: { namespace?: string; group?: string; fallbackToCacheOnReadError?: boolean; }) => Record>; export declare function resetNitroStorageMock(): void; export declare function createNitroStorageMock(): NitroStorageTestModule; //# sourceMappingURL=testing.d.ts.map