export function createCachedPromiseGetter<T>(cache?: any): () => PromiseWithResolverAccess<T>;
export default createCachedPromiseGetter;
/**
 * @template T
 */
declare class PromiseWithResolverAccess<T> {
    /** @type {undefined | null | ((arg: T) => void)} */
    resolver: (arg: T) => void;
    /** @type {undefined | null | ((arg: any) => void)} */
    rejecter: (arg: any) => void;
    /** @readonly @type {Promise<T>} */
    readonly promise: Promise<T>;
    /**
     * @param {T} res
     */
    resolve(res: T): void;
    reject(err: any): void;
    /**
     *
     * @param {((value: T) => any) | undefined | null} [resolve]
     * @param {((reason: any) => any) | undefined | null} [reject]
     * @return {PromiseLike<T>}
     */
    then(resolve?: (value: T) => any, reject?: (reason: any) => any): PromiseLike<T>;
    checkResolverAndRejecter(): void;
}
//# sourceMappingURL=index.d.ts.map