import * as rdfjs from "@rdfjs/types";
import { ShaclReasoner } from "./shacl-reasoner";
/**
 * A restriction in OWL.
 */
interface OwlRestriction {
    onProperty?: rdfjs.NamedNode;
    cardinality?: number;
    minCardinality?: number;
    maxCardinality?: number;
    qualifiedCardinality?: number;
    onClass?: rdfjs.NamedNode;
    onDataRange?: rdfjs.NamedNode;
    allValuesFrom?: rdfjs.Quad_Subject | rdfjs.Quad_Object;
    someValuesFrom?: rdfjs.Quad_Subject | rdfjs.Quad_Object;
}
/**
 * A simple OWL reasoner that expands the graph with inferred triples.
 */
export declare class OwlReasoner extends ShaclReasoner {
    protected restrictions: {
        [subject: string]: OwlRestriction;
    };
    constructor();
    protected afterInference(): void;
    protected resetState(): void;
    protected inferClassAxioms(q: rdfjs.Quad): void;
    protected inferPropertyAxioms(q: rdfjs.Quad): void;
}
export {};
