type MemoizedPromiseAllowedValue = NonNullable<unknown> | null;
export interface MemoizedPromiseContext<T extends MemoizedPromiseAllowedValue> {
    value: Promise<T> | T | undefined;
    init: (initializer: () => T | Promise<T>) => Promise<T>;
}
export declare const createMemoizedPromiseContext: <T extends MemoizedPromiseAllowedValue>() => MemoizedPromiseContext<T>;
export {};
