import { CachingMechanismInterface, Deposit, Fill, SlowFillRequest } from "../interfaces";
export declare function shouldCache(eventTimestamp: number, latestTime: number, cachingMaxAge: number): boolean;
/**
 * Calls the cache's get method and returns the result if it is defined, otherwise returns undefined.
 * @param key The key to get from the cache.
 * @param cache The cache to get the key from.
 * @returns The value associated with the key in the cache, or undefined if the key is not in the cache.
 */
export declare function getDepositInCache(key: string, cache: CachingMechanismInterface): Promise<Deposit | undefined>;
export declare function setDepositInCache(deposit: Deposit, currentChainTime: number, cache: CachingMechanismInterface, expirySeconds?: number, timeToCache?: number): Promise<void>;
/**
 * Resolves the key for caching a bridge event.
 * @param bridgeEvent The depositId, and originChainId are used to generate the key for v2, and the
 * full V3 relay hash is used for v3 events..
 * @returns The key for caching the event.
 */
export declare function getDepositKey(bridgeEvent: Deposit | Fill | SlowFillRequest): string;
export declare function getArweaveTopicCacheKey(tag: string): string;
