import { ISparnaturalSpecification } from "../ISparnaturalSpecification";
import { BaseRDFReader } from "../BaseRDFReader";
import { ISpecificationEntity } from "../ISpecificationEntity";
import ISpecificationProperty from "../ISpecificationProperty";
import { SHACLSpecificationEntity } from "./SHACLSpecificationEntity";
import { RdfStore } from "rdf-stores";
import { Quad_Subject } from '@rdfjs/types/data-model';
import { Term } from "@rdfjs/types";
import { DagIfc } from '../../dag/Dag';
export declare class SHACLSpecificationProvider extends BaseRDFReader implements ISparnaturalSpecification {
    #private;
    constructor(n3store: RdfStore, lang: string);
    getAllSparnaturalEntities(): string[];
    getEntitiesInDomainOfAnyProperty(): string[];
    getEntitiesTreeInDomainOfAnyProperty(): DagIfc<ISpecificationEntity>;
    expandSparql(sparql: string, prefixes: {
        [key: string]: string;
    }): string;
    getLanguages(): string[];
    getEntity(uri: string): ISpecificationEntity;
    getProperty(uri: string): ISpecificationProperty;
    getInitialEntityList(): SHACLSpecificationEntity[];
    /**
     * @param node a NodeShape
     * @returns true if the NodeShape is the subject of sh:deactivated true
     */
    isDeactivated(node: Term): boolean;
    getNodeShapesLocallyReferencedWithShNode(): string[];
    /**
     * @returns the NodeShape targeting the provided class, either implicitly or explicitly through sh:targetClass
     * @param c
     */
    getNodeShapeTargetingClass(c: Quad_Subject): Term | null;
}
