type Resolver = (value: T) => void; declare class SplitPromise { promise: Promise; resolver: Resolver; constructor(); } export declare class PromiseLookup { private args; constructor(args: { onKeyInit: (namespace: keyof Types, key: string) => void; }); namespaces: Map>>; private getNamespace; private getSplitPromise; get(namespace: N, key: string): Promise; resolve(namespace: N, key: string, value: Types[N]): void; } export {};