import { IDataNode } from '@comyata/run/DataNode';
/**
 * @internal
 */
export declare class ValueSubscriberPromise<T> extends Promise<T> {
    #private;
    readonly dataNode: () => IDataNode;
    constructor(subscribers: ((result: T, err?: any) => void)[], dataNode: IDataNode);
    addDependent(n: IDataNode): void;
    hasDependent(n: IDataNode): boolean;
    getDependents(): IDataNode[];
    then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => (PromiseLike<TResult1> | TResult1)) | undefined | null, onrejected?: ((reason: any) => (PromiseLike<TResult2> | TResult2)) | undefined | null): Promise<TResult1 | TResult2>;
    catch<TResult = never>(onrejected?: ((reason: any) => (PromiseLike<TResult> | TResult)) | undefined | null): Promise<T | TResult>;
}
