export declare enum ShapeTypes { NilShape = 0, ScalarShape = 1, NodeShape = 2, ArrayShape = 3, UnionShape = 4, AnyShape = 5 } interface DomainElementDefinition { id: string; } export interface ParameterDefinition extends DomainElementDefinition { name: string; description: string; required: boolean; schema: ShapeDefinition; } export interface ShapeDefinition extends DomainElementDefinition { name: string; description: string; shapeType: ShapeTypes; inherits: ShapeDefinition[]; linkTarget: DomainElementDefinition | undefined; isLink: boolean; linkLabel: string; } export interface PropertyShapeDefinition extends ShapeDefinition { patternName: string; isOptional: boolean; range: ShapeDefinition; } export interface NodeShapeDefinition extends ShapeDefinition { discriminatorValue: string; properties: PropertyShapeDefinition[]; } export interface ArrayShapeDefinition extends ShapeDefinition { items: ShapeDefinition; } export interface UnionShapeDefinition extends ShapeDefinition { anyOf: ShapeDefinition[]; } export interface ScalarShapeDefinition extends ShapeDefinition { dataType: string; } export {};