import { Literal, NamedNode, Quad } from 'n3';
import { Term } from '@rdfjs/types';
import { Config } from './config';
import { ShaclNodeTemplate } from './node-template';
export declare const mappers: Record<string, (template: ShaclPropertyTemplate, term: Term) => void>;
export declare class ShaclPropertyTemplate {
    label: string;
    name: Literal | undefined;
    description: Literal | undefined;
    path: string | undefined;
    node: NamedNode | undefined;
    group: string | undefined;
    class: NamedNode | undefined;
    minCount: number | undefined;
    maxCount: number | undefined;
    qualifiedMinCount: number | undefined;
    qualifiedMaxCount: 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;
    and: string | undefined;
    in: string | undefined;
    or: Term[] | undefined;
    xone: Term[] | undefined;
    languageIn: Term[] | undefined;
    datatype: NamedNode | undefined;
    hasValue: Term | undefined;
    qualifiedValueShape: ShaclNodeTemplate | undefined;
    nodeShapes: Set<ShaclNodeTemplate>;
    owlImports: Set<NamedNode>;
    id: Term;
    parent: ShaclNodeTemplate;
    config: Config;
    constructor(id: Term, parent: ShaclNodeTemplate);
}
export declare function aggregatedMinCount(template: ShaclPropertyTemplate): number;
export declare function aggregatedMaxCount(template: ShaclPropertyTemplate): number;
export declare function cloneProperty(template: ShaclPropertyTemplate): ShaclPropertyTemplate;
export declare function mergeQuads(template: ShaclPropertyTemplate, quads: Quad[]): ShaclPropertyTemplate;
export declare function mergeProperty(target: ShaclPropertyTemplate, source: ShaclPropertyTemplate): void;
