import { IHasProperty } from "../../models/v2/ontologies/class-definition";
import { PropertyDefinition } from "../../models/v2/ontologies/property-definition";
import { ResourceClassDefinition } from "../../models/v2/ontologies/resource-class-definition";
/**
 * Represents a resource class definition containing all property definitions it has cardinalities for.
 *
 * @category Model V2
 */
export declare class ResourceClassDefinitionWithPropertyDefinition extends ResourceClassDefinition {
    propertiesList: IHasPropertyWithPropertyDefinition[];
    /**
     * Create an instance from a given `ResourceClassDefinition`.
     *
     * @param resClassDef instance of `ResourceClassDefinition`.
     * @param propertyDefinitions object containing all `PropertyDefinition`
     *                            the resource class definition has cardinalities for.
     */
    constructor(resClassDef: ResourceClassDefinition, propertyDefinitions: {
        [index: string]: PropertyDefinition;
    });
    /**
     * Gets the resource properties from properties list.
     */
    getResourcePropertiesList(): IHasPropertyWithPropertyDefinition[];
    /**
     * Gets the system properties from properties list.
     */
    getSystemPropertiesList(): IHasPropertyWithPropertyDefinition[];
}
/**
 * Represents a property defined on a resource class
 * including the property definition.
 *
 * @category Model V2
 */
export interface IHasPropertyWithPropertyDefinition extends IHasProperty {
    propertyDefinition: PropertyDefinition;
}
