import { EncryptionAdapter, KeychainAdapter, StorageAdapter } from './types';
export declare class EncryptedAsyncStorage {
    private encryption;
    private keyManager;
    private storageAdapter;
    constructor(keychain: KeychainAdapter, encryption: EncryptionAdapter, storageAdapter: StorageAdapter);
    /**
     * Get an item from encrypted storage.
     */
    getItem(key: string): Promise<string | null>;
    /**
     * Store an encrypted item in storage.
     */
    setItem(key: string, value: string): Promise<void>;
    /**
     * Remove an item from storage.
     */
    removeItem(key: string): Promise<void>;
    /**
     * Get all storage keys.
     */
    getAllKeys(): Promise<string[]>;
    /**
     * Retrieve multiple encrypted items.
     */
    multiGet(keys: string[]): Promise<[string, string | null][]>;
    /**
     * Store multiple encrypted items.
     */
    multiSet(keyValuePairs: [string, string][]): Promise<void>;
    /**
   * Merge multiple key-value pairs with existing items.
   */
    multiMerge(keyValuePairs: [string, string][]): Promise<void>;
    /**
     * Remove multiple items from storage.
     */
    multiRemove(keys: string[]): Promise<void>;
    /**
     * Merge a value with an existing item.
     */
    /**
   * Merge a value with an existing item.
   */
    mergeItem(key: string, value: string): Promise<void>;
    /**
     * Encrypt data based on AES or RSA configuration.
     */
    private encryptData;
    /**
     * Decrypt data based on AES or RSA configuration.
     */
    private decryptData;
}
