import { BlankNode, NamedNode, Store } from 'n3';
import { Term } from '@rdfjs/types';
import { Config } from './config';
import { ShaclNodeTemplate } from './node-template';
import { ShaclPropertyTemplate } from './property-template';
export declare class ShaclNode extends HTMLElement {
    nodeId: NamedNode | BlankNode;
    template: ShaclNodeTemplate;
    linked: boolean;
    ready: Promise<void>;
    ancestorShapeIds: Set<string>;
    constructor(template: ShaclNodeTemplate, valueSubject: NamedNode | BlankNode | undefined, nodeKind?: NamedNode, label?: string, linked?: boolean, ancestorShapeIds?: Set<string>);
    toRDF(graph: Store, subject?: NamedNode | BlankNode, generateNodeShapeReference?: string): (NamedNode | BlankNode);
    addPropertyInstance(template: ShaclPropertyTemplate, valueSubject: NamedNode | BlankNode | undefined, multiValuedPath?: boolean): Promise<void>;
    tryResolve(options: Term[], valueSubject: NamedNode | BlankNode | undefined, config: Config): Promise<void>;
}
