import * as rdfjs from "@rdfjs/types";
import { RdfsReasoner } from "./rdfs-reasoner";
/**
 * A simple SKOS reasoner that expands the graph with inferred triples.
 */
export declare class ShaclReasoner extends RdfsReasoner {
    protected classes: Set<string>;
    protected isClass(id: string): boolean;
    applyInference(quad: rdfjs.Quad): void;
    protected resetState(): void;
    protected assertShape(subject: rdfjs.Quad_Subject, type?: rdfjs.NamedNode): void;
    protected assertValidator(subject: rdfjs.Quad_Subject): void;
    protected assertParameterizable(subject: rdfjs.Quad_Subject): void;
    protected assertRule(subject: rdfjs.Quad_Subject): void;
    protected isShapeType(subject: rdfjs.Quad_Subject): boolean;
    protected isRuleType(subject: rdfjs.Quad_Subject): boolean;
    protected isValidatorType(subject: rdfjs.Quad_Subject): boolean;
    protected isParameterizableType(subject: rdfjs.Quad_Subject): boolean;
    inferShapeAxioms(quad: rdfjs.Quad): void;
}
