import type { NullableCacheDataGeneratorAsync, CacheDataGeneratorAsync, CacheDirection } from './types'; import { CacheBranch } from './base/CacheBranch'; import { CacheDataAsync } from './CacheDataAsync'; export declare class CacheBranchAsync = Record> extends CacheBranch { protected readonly data: CacheDataAsync; protected readonly branches: Map>; protected readonly root: CacheBranchAsync; constructor(generator?: NullableCacheDataGeneratorAsync, root?: CacheBranchAsync); protected ensureBranch(key: K, generator: NullableCacheDataGeneratorAsync): CacheBranchAsync; protected getBranch(key: K): CacheBranchAsync | undefined; cache(key: keyof T, recursive?: CacheDirection): Promise; ensure(key: K, generator: CacheDataGeneratorAsync): Promise>; get(key: K): CacheDataAsync | undefined; set(key: K, generator: CacheDataGeneratorAsync): Promise; delete(key: string): Promise; }