import { Pointer } from '../pointer'; /** * Optional properties for the cache storage. */ export interface CacheProps { /** * The name of the S3 bucket to use as cache storage. */ bucketName: string; /** * The name of the service using the cache storage. */ serviceName: string; } /** * The cache storage class provides helper methods to be used * by middleware implementations in order to store and retrieve * arbitrary data models in and from the storage cache. */ export declare class CacheStorage { /** * The cache storage properties. */ private props; /** * Cache storage constructor. */ constructor(props?: CacheProps); /** * Hashes the key and data to create a unique * and stable identifier for the element in the cache. * @param key the key of the element to put * in the cache. * @param data the data to put in the cache. * @returns */ private hash; /** * Inserts a new element in the cache. * @param key the key of the element to put * in the cache. * @param data the data to put in the cache. * @returns a pointer to the element in the cache. */ put(key: string, data: any): Promise>; }