import { CoreMap } from './CoreMap.js';
import { IGraphObjectSet } from '../interfaces/IGraphObjectSet.js';
import { NamedNode, Node } from '../models.js';
import { QuadSet } from './QuadSet.js';
import { QuadArray } from './QuadArray.js';
import { NodeSet } from './NodeSet.js';
import { ICoreIterable } from '../interfaces/ICoreIterable.js';
export declare class NodeMap<R extends Node> extends CoreMap<string, R> implements IGraphObjectSet<R> {
    constructor(iterable?: Iterable<[string, R]>);
    getQuads(property: NamedNode): QuadSet;
    getInverseQuads(property: NamedNode): QuadSet;
    getAll(property: NamedNode): NodeSet;
    getAllInverse(property: NamedNode): NodeSet<NamedNode>;
    getMultipleInverse(properties: ICoreIterable<NamedNode>): NodeSet;
    getMultiple(properties: ICoreIterable<NamedNode>): NodeSet;
    getDeep(property: NamedNode, maxDepth?: number): NodeSet;
    getOneFromPath(...properties: NamedNode[]): Node | undefined;
    getAllFromPath(...properties: NamedNode[]): NodeSet;
    getProperties(includeFromIncomingArcs?: boolean): NodeSet<NamedNode>;
    getInverseProperties(): NodeSet<NamedNode>;
    getOne(property: NamedNode): Node | any;
    getOneInverse(property: NamedNode): NamedNode | any;
    getAllQuads(includeAsObject?: boolean, includeImplicit?: boolean): QuadArray;
    getAllInverseQuads(includeImplicit?: boolean): QuadArray;
    where(property: NamedNode, value: Node): this;
    getWhere(property: NamedNode, value: Node): Node | undefined;
    setEach(property: NamedNode, value: Node): boolean;
    msetEach(property: NamedNode, values: ICoreIterable<Node>): boolean;
    updateEach(property: NamedNode, value: Node): boolean;
    mupdateEach(property: NamedNode, values: ICoreIterable<Node>): boolean;
    unsetEach(property: NamedNode, value: Node): boolean;
    unsetAllEach(property: NamedNode): boolean;
    promiseLoaded(loadInverseProperties?: boolean): Promise<boolean>;
    isLoaded(includingInverseProperties?: boolean): boolean;
}
