import { Literal, NamedNode, Quad } from 'n3';
import { Term } from '@rdfjs/types';
import { Config } from './config';
import { ShaclNode } from './node';
export declare class ShaclPropertyTemplate {
    parent: ShaclNode;
    label: string;
    name: Literal | undefined;
    description: Literal | undefined;
    path: string | undefined;
    node: NamedNode | undefined;
    class: NamedNode | undefined;
    minCount: number | undefined;
    maxCount: number | undefined;
    minLength: number | undefined;
    maxLength: number | undefined;
    minInclusive: number | undefined;
    maxInclusive: number | undefined;
    minExclusive: number | undefined;
    maxExclusive: number | undefined;
    singleLine: boolean | undefined;
    readonly: boolean | undefined;
    cssClass: string | undefined;
    defaultValue: Term | undefined;
    pattern: string | undefined;
    order: number | undefined;
    nodeKind: NamedNode | undefined;
    shaclAnd: string | undefined;
    shaclIn: string | undefined;
    shaclOr: Term[] | undefined;
    languageIn: Term[] | undefined;
    datatype: NamedNode | undefined;
    hasValue: Term | undefined;
    owlImports: NamedNode[];
    config: Config;
    extendedShapes: NamedNode[] | undefined;
    constructor(quads: Quad[], parent: ShaclNode, config: Config);
    merge(quads: Quad[]): ShaclPropertyTemplate;
    clone(): ShaclPropertyTemplate;
}
