import { StorageType } from './interfaces/index.js'; export * from "./interfaces/index.js"; export declare class CacheManager { /** * Nome da chave utilizada para armazenar o cache no armazenamento. */ private static readonly storageKey; /** * Estrutura de armazenamento em memória. */ private static inMemoryCache; /** * Recupera ou define o valor no cache. * * @param key Identificador único para armazenar e recuperar o valor. * @param fetchCallback Função que retorna uma `Promise` com o valor a ser armazenado no cache caso ele não exista ou tenha expirado. * @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`. * @returns Uma `Promise` com o valor armazenado ou obtido via `fetchCallback`. */ static getOrSet(key: string, fetchCallback: () => Promise, storageType?: StorageType): Promise; /** * Remove uma entrada específica do cache. * * @param key Identificador único da entrada a ser removida. * @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`. */ static clear(key: string, storageType?: StorageType): void; /** * Remove todas as entradas do cache. * * @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`. */ static clearAll(storageType?: StorageType): void; /** * Obtém o cache armazenado no armazenamento especificado. * @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`. * @returns Um objeto representando o cache armazenado. */ private static getCache; /** * Salva o cache no armazenamento especificado. * @param cache O objeto representando o cache a ser salvo. * @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`. */ private static saveCache; /** * Retorna o armazenamento correspondente ao tipo especificado. * @param storageType Tipo de armazenamento: `'sessionStorage'` ou `'localStorage'`. * @returns O objeto de armazenamento correspondente. */ private static getStorage; }