import type { CachingContext, MapType } from '@xyo-network/xl1-protocol/protocol-lib';
/** Retrieves or creates a named cache from the caching context */
export declare function contextCache<TCacheValue>(context: CachingContext, name: string, create?: () => MapType<string, TCacheValue>): MapType<string, TCacheValue>;
/** Options for the withContextCacheResponse helper */
export interface withContextCacheResponseOptions {
    /** max configuration or state exposed by this contract. */
    max?: number;
}
/** Executes a function with LRU caching, returning the cached result if available */
export declare function withContextCacheResponse<T extends string | number | bigint | {}>(context: CachingContext, name: string, key: string, func: () => Promise<T extends string | number | bigint | {} ? T : never>, { max }?: withContextCacheResponseOptions): Promise<T>;
//# sourceMappingURL=ChainContextHelpers.d.ts.map