import { IccExchangeDataMapApi } from '../../icc-api/api/internal/IccExchangeDataMapApi';
import { ExchangeDataMap } from '../../icc-api/model/internal/ExchangeDataMap';
/**
 * @internal this class is intended for internal use only and may be modified without notice
 * This class manages the Exchange Data Map entities, caching with an LRU cache on retrieval.
 */
export declare class ExchangeDataMapManager {
    private readonly api;
    constructor(api: IccExchangeDataMapApi);
    private exchangeDataMapCache;
    /**
     * This function creates a batch of Exchange Data Map, ignoring the one that already exist and are already present in the cache.
     * The ones that are not are created and their ids are cached.
     * @param batch a map where each key is the hex-encoded access control key to another map that associates the encoded id of an
     * Exchange Data entity to the fingerprint of the key used to encrypt it.
     */
    createExchangeDataMaps(batch: {
        [accessControlKey: string]: {
            [fp: string]: string;
        };
    }): Promise<void>;
    /**
     * Retrieves a batch of Exchange Data Maps.
     * @param accessControlKeyHashes the hex-encoded hashes of the Exchange Data Maps to retrieve.
     */
    getExchangeDataMapBatch(accessControlKeyHashes: string[]): Promise<ExchangeDataMap[]>;
}
