import type { ACCESSIBLE } from "./enums"; declare global { // eslint-disable-next-line no-var var __SecureStorage: ISecureStorageNativeInstance | undefined; } export type StoredSecureStorageItem = { key: string; value: string; }; export type SecureStorageItem = StoredSecureStorageItem & { accessibleValue: ACCESSIBLE; }; export interface ISecureStorage { setItem( key: string, value: string, accessible?: ACCESSIBLE, ): Promise; getItem(key: string): Promise; clearStorage(): Promise; setItems(items: SecureStorageItem[]): Promise; getAllKeys(): Promise; getAllItems(): Promise; removeItem(key: string): Promise; hasItem(key: string): Promise; setItemSync(key: string, value: string, accessible?: ACCESSIBLE): boolean; getItemSync(key: string): string | null; removeItemSync(key: string): boolean; hasItemSync(key: string): boolean; } export interface ISecureStorageNativeInstance extends Omit { getAllKeys(): Promise; getAllItems(): Promise; }