import { type AnyObject, type MaybePromise } from '@augment-vir/core'; export declare function getOrSetFromMap(map: WeakMap, key: MapKey, createCallback: () => NoInfer): MapValue; export declare function getOrSetFromMap(map: Map, key: MapKey, createCallback: () => NoInfer): MapValue; export declare function getOrSetFromMap(map: WeakMap, key: MapKey, createCallback: () => Promise>): Promise; export declare function getOrSetFromMap(map: Map, key: MapKey, createCallback: () => Promise>): Promise; export declare function getOrSetFromMap(map: WeakMap, key: MapKey, createCallback: () => MaybePromise>): MaybePromise; export declare function getOrSetFromMap(map: Map, key: MapKey, createCallback: () => MaybePromise>): MaybePromise; export declare function getOrSet(originalObject: OriginalObject, key: Key, createCallback: () => NoInfer): Required[Key]; export declare function getOrSet(originalObject: OriginalObject, key: Key, createCallback: () => Promise>): Promise[Key]>; export declare function getOrSet(originalObject: OriginalObject, key: Key, createCallback: () => MaybePromise>): MaybePromise[Key]>;