import ISpecificationProperty from "../ISpecificationProperty";
import { SHACLSpecificationEntry } from "./SHACLSpecificationEntry";
import { RdfStore } from "rdf-stores";
import { Term } from "@rdfjs/types/data-model";
import { SHACLSpecificationProvider } from "./SHACLSpecificationProvider";
export declare class SHACLSpecificationProperty extends SHACLSpecificationEntry implements ISpecificationProperty {
    constructor(uri: string, provider: SHACLSpecificationProvider, n3store: RdfStore, lang: string);
    /**
     * Tests whether the provided property shape URI will be turned into a Sparnatural property
     * @param propertyShapeUri
     * @param n3store
     * @returns false if the property is deactivated, or it has an sh:hasValue
     */
    static isSparnaturalSHACLSpecificationProperty(propertyShapeUri: string, n3store: RdfStore): boolean;
    getLabel(): string;
    getTooltip(): string | undefined;
    getPropertyType(range: string): string | undefined;
    /**
     * A property is multilingual if its datatype points to rdf:langString
     */
    isMultilingual(): boolean;
    isDeactivated(): boolean;
    getShPath(): Term;
    getParents(): string[];
    /**
     * @returns
     */
    getRange(): string[];
    getDatasource(): import("../IDatasource").IDatasource;
    getTreeChildrenDatasource(): import("../IDatasource").IDatasource;
    getTreeRootsDatasource(): import("../IDatasource").IDatasource;
    getMinValue(): string | undefined;
    getMaxValue(): string | undefined;
    getValues(): Term[] | undefined;
    getBeginDateProperty(): string | undefined;
    getEndDateProperty(): string | undefined;
    getExactDateProperty(): string | undefined;
    isEnablingNegation(): boolean;
    isEnablingOptional(): boolean;
    getServiceEndpoint(): string | undefined;
    isLogicallyExecutedAfter(): boolean;
    hasQualifiedValueShapeRange(): boolean;
    static compare(item1: SHACLSpecificationProperty, item2: SHACLSpecificationProperty): number;
}
