export interface IObject {
    id: string;
    type: string;
}
export interface IClazz extends IObject {
}
export declare class Clazz implements IClazz {
    id: string;
    type: string;
    constructor();
    static FromJSON: (data: any) => Clazz;
}
export interface IDataType extends IObject {
}
export declare class DataType implements IDataType {
    id: string;
    type: string;
    constructor();
    static FromJSON: (data: any) => DataType;
}
export interface IProperty extends IObject {
}
export declare class Property implements IProperty {
    id: string;
    type: string;
    constructor();
    static FromJSON: (data: any) => Property;
}
export interface ILabel {
    text: string;
}
export declare class CLabel implements ILabel {
    text: string;
    constructor();
    static FromJSON: (data: any) => CLabel;
}
export declare class XImage {
    title: string;
    src: string;
    width: 32;
    height: 32;
    constructor();
    static FromJSON: (data: any) => XImage;
}
export interface IClassAttribute {
    id: string;
    label: ILabel;
    iri: string;
    baseIri: string;
    instances: number;
    subClasses: string[];
    superClasses: string[];
    xImage: XImage;
    category: number;
    annotations: object;
    comment: object;
    attributes: string[];
    equivalents: string[];
    union: any[];
    disjointUnion: any[];
    intersection: any[];
    individuals: any[];
}
export declare class ClassAttribute implements IClassAttribute {
    id: string;
    label: ILabel;
    iri: string;
    baseIri: string;
    instances: number;
    subClasses: string[];
    superClasses: string[];
    xImage: XImage;
    category: number;
    annotations: object;
    comment: object;
    attributes: any[];
    equivalents: string[];
    union: any[];
    disjointUnion: any[];
    intersection: any[];
    individuals: any[];
    constructor();
    static FromJSON: (data: any) => ClassAttribute;
}
export interface IDatatypeAttribute extends IClassAttribute {
}
export declare class DatatypeAttribute implements IDatatypeAttribute {
    id: string;
    label: ILabel;
    iri: string;
    baseIri: string;
    instances: number;
    subClasses: string[];
    superClasses: string[];
    xImage: XImage;
    category: number;
    annotations: object;
    attributes: any[];
    comment: object;
    equivalents: string[];
    union: any[];
    disjointUnion: any[];
    intersection: any[];
    individuals: any[];
    constructor();
    static FromJSON: (data: any) => DatatypeAttribute;
}
export interface IPropertyAttribute {
    id: string;
    label: ILabel;
    iri: string;
    subProperties: string[];
    superProperties: string[];
    domain: string;
    range: string;
    xImage: XImage;
    category: number;
    cardinality: number;
    minCardinality: number;
    maxCardinality: number;
    _inverse: string;
    equivalents: string[];
    annotations: object;
    comment: object;
    description: object;
    attributes: any[];
}
export declare class PropertyAttribute implements IPropertyAttribute {
    id: string;
    label: ILabel;
    iri: string;
    instances: number;
    subProperties: string[];
    superProperties: string[];
    domain: string;
    range: string;
    xImage: XImage;
    category: number;
    cardinality: number;
    minCardinality: number;
    maxCardinality: number;
    _inverse: string;
    equivalents: string[];
    annotations: object;
    comment: object;
    description: object;
    attributes: any[];
    constructor();
    static FromJSON: (data: any) => PropertyAttribute;
}
export interface IHeader {
    languages: string[];
    iri: string;
    prefixList: any;
    description: any;
    version: any;
    author: any;
    title: any;
    other: any;
}
export declare class Header implements IHeader {
    languages: string[];
    iri: string;
    baseIris: string[];
    title: string;
    description: any;
    author: any;
    prefixList: any;
    version: any;
    other: any;
    constructor();
    static FromJSON: (data: any) => Header;
}
export interface IMetrics {
    classCount: number;
    datatypeCount: number;
    objectPropertyCount: number;
    datatypePropertyCount: number;
    propertyCount: number;
    nodeCount: number;
    axiomCount: number;
    individualCount: number;
}
export declare class Metrics implements IMetrics {
    classCount: number;
    datatypeCount: number;
    objectPropertyCount: number;
    datatypePropertyCount: number;
    propertyCount: number;
    nodeCount: number;
    axiomCount: number;
    individualCount: number;
    constructor();
    static FromJSON: (data?: any) => Metrics;
}
export interface IVowl {
    _comment: string;
    namespace?: string[];
    header: IHeader;
    metrics: IMetrics;
    class: IClazz[];
    classAttribute: IClassAttribute[];
    property: IProperty[];
    propertyAttribute: IPropertyAttribute[];
}
export declare class Vowl implements IVowl {
    _comment: string;
    namespace?: string[];
    header: IHeader;
    metrics: IMetrics;
    class: IClazz[];
    classAttribute: IClassAttribute[];
    datatype: IDataType[];
    datatypeAttribute: IDatatypeAttribute[];
    property: IProperty[];
    propertyAttribute: IPropertyAttribute[];
    constructor();
    static FromJSON: (data: any) => Vowl;
}
