@itwin/ecschema-metadata 3.6.0-dev.7 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/Constants.d.ts +23 -23
  4. package/lib/cjs/Constants.js +33 -33
  5. package/lib/cjs/Constants.js.map +1 -1
  6. package/lib/cjs/Context.d.ts +139 -139
  7. package/lib/cjs/Context.js +204 -204
  8. package/lib/cjs/DelayedPromise.d.ts +88 -88
  9. package/lib/cjs/DelayedPromise.js +91 -91
  10. package/lib/cjs/DelayedPromise.js.map +1 -1
  11. package/lib/cjs/Deserialization/AbstractParser.d.ts +45 -45
  12. package/lib/cjs/Deserialization/AbstractParser.js +11 -11
  13. package/lib/cjs/Deserialization/AbstractParser.js.map +1 -1
  14. package/lib/cjs/Deserialization/Helper.d.ts +251 -251
  15. package/lib/cjs/Deserialization/Helper.js +843 -843
  16. package/lib/cjs/Deserialization/Helper.js.map +1 -1
  17. package/lib/cjs/Deserialization/JsonParser.d.ts +165 -165
  18. package/lib/cjs/Deserialization/JsonParser.js +680 -680
  19. package/lib/cjs/Deserialization/JsonParser.js.map +1 -1
  20. package/lib/cjs/Deserialization/JsonProps.d.ts +282 -282
  21. package/lib/cjs/Deserialization/JsonProps.js +9 -9
  22. package/lib/cjs/Deserialization/JsonProps.js.map +1 -1
  23. package/lib/cjs/Deserialization/SchemaGraphUtil.d.ts +34 -34
  24. package/lib/cjs/Deserialization/SchemaGraphUtil.js +77 -77
  25. package/lib/cjs/Deserialization/SchemaGraphUtil.js.map +1 -1
  26. package/lib/cjs/Deserialization/XmlParser.d.ts +85 -85
  27. package/lib/cjs/Deserialization/XmlParser.js +973 -973
  28. package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
  29. package/lib/cjs/Deserialization/XmlSerializationUtils.d.ts +54 -54
  30. package/lib/cjs/Deserialization/XmlSerializationUtils.js +174 -174
  31. package/lib/cjs/Deserialization/XmlSerializationUtils.js.map +1 -1
  32. package/lib/cjs/ECName.d.ts +30 -30
  33. package/lib/cjs/ECName.js +85 -85
  34. package/lib/cjs/ECName.js.map +1 -1
  35. package/lib/cjs/ECObjects.d.ts +162 -162
  36. package/lib/cjs/ECObjects.js +453 -453
  37. package/lib/cjs/ECObjects.js.map +1 -1
  38. package/lib/cjs/Exception.d.ts +43 -43
  39. package/lib/cjs/Exception.js +86 -86
  40. package/lib/cjs/Exception.js.map +1 -1
  41. package/lib/cjs/Interfaces.d.ts +66 -66
  42. package/lib/cjs/Interfaces.js +9 -9
  43. package/lib/cjs/Interfaces.js.map +1 -1
  44. package/lib/cjs/Metadata/Class.d.ts +243 -243
  45. package/lib/cjs/Metadata/Class.js +558 -558
  46. package/lib/cjs/Metadata/Class.js.map +1 -1
  47. package/lib/cjs/Metadata/Constant.d.ts +64 -64
  48. package/lib/cjs/Metadata/Constant.js +123 -123
  49. package/lib/cjs/Metadata/Constant.js.map +1 -1
  50. package/lib/cjs/Metadata/CustomAttribute.d.ts +23 -23
  51. package/lib/cjs/Metadata/CustomAttribute.js +27 -27
  52. package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
  53. package/lib/cjs/Metadata/CustomAttributeClass.d.ts +39 -39
  54. package/lib/cjs/Metadata/CustomAttributeClass.js +68 -68
  55. package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
  56. package/lib/cjs/Metadata/EntityClass.d.ts +77 -77
  57. package/lib/cjs/Metadata/EntityClass.js +230 -230
  58. package/lib/cjs/Metadata/EntityClass.js.map +1 -1
  59. package/lib/cjs/Metadata/Enumeration.d.ts +86 -86
  60. package/lib/cjs/Metadata/Enumeration.js +159 -159
  61. package/lib/cjs/Metadata/Enumeration.js.map +1 -1
  62. package/lib/cjs/Metadata/Format.d.ts +98 -98
  63. package/lib/cjs/Metadata/Format.js +242 -242
  64. package/lib/cjs/Metadata/Format.js.map +1 -1
  65. package/lib/cjs/Metadata/InvertedUnit.d.ts +49 -49
  66. package/lib/cjs/Metadata/InvertedUnit.js +97 -97
  67. package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
  68. package/lib/cjs/Metadata/KindOfQuantity.d.ts +65 -65
  69. package/lib/cjs/Metadata/KindOfQuantity.js +225 -225
  70. package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
  71. package/lib/cjs/Metadata/Mixin.d.ts +54 -54
  72. package/lib/cjs/Metadata/Mixin.js +113 -113
  73. package/lib/cjs/Metadata/Mixin.js.map +1 -1
  74. package/lib/cjs/Metadata/OverrideFormat.d.ts +55 -55
  75. package/lib/cjs/Metadata/OverrideFormat.js +88 -88
  76. package/lib/cjs/Metadata/OverrideFormat.js.map +1 -1
  77. package/lib/cjs/Metadata/Phenomenon.d.ts +33 -33
  78. package/lib/cjs/Metadata/Phenomenon.js +59 -59
  79. package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
  80. package/lib/cjs/Metadata/Property.d.ts +197 -197
  81. package/lib/cjs/Metadata/Property.js +491 -491
  82. package/lib/cjs/Metadata/Property.js.map +1 -1
  83. package/lib/cjs/Metadata/PropertyCategory.d.ts +39 -39
  84. package/lib/cjs/Metadata/PropertyCategory.js +61 -61
  85. package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
  86. package/lib/cjs/Metadata/RelationshipClass.d.ts +152 -152
  87. package/lib/cjs/Metadata/RelationshipClass.js +349 -349
  88. package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
  89. package/lib/cjs/Metadata/Schema.d.ts +291 -291
  90. package/lib/cjs/Metadata/Schema.js +520 -520
  91. package/lib/cjs/Metadata/Schema.js.map +1 -1
  92. package/lib/cjs/Metadata/SchemaItem.d.ts +61 -61
  93. package/lib/cjs/Metadata/SchemaItem.js +136 -136
  94. package/lib/cjs/Metadata/SchemaItem.js.map +1 -1
  95. package/lib/cjs/Metadata/Unit.d.ts +76 -76
  96. package/lib/cjs/Metadata/Unit.js +162 -162
  97. package/lib/cjs/Metadata/UnitSystem.d.ts +20 -20
  98. package/lib/cjs/Metadata/UnitSystem.js +29 -29
  99. package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
  100. package/lib/cjs/PropertyTypes.d.ts +49 -49
  101. package/lib/cjs/PropertyTypes.js +91 -91
  102. package/lib/cjs/PropertyTypes.js.map +1 -1
  103. package/lib/cjs/SchemaJsonLocater.d.ts +34 -34
  104. package/lib/cjs/SchemaJsonLocater.js +42 -42
  105. package/lib/cjs/SchemaJsonLocater.js.map +1 -1
  106. package/lib/cjs/SchemaKey.d.ts +110 -110
  107. package/lib/cjs/SchemaKey.js +219 -219
  108. package/lib/cjs/SchemaKey.js.map +1 -1
  109. package/lib/cjs/SchemaLoader.d.ts +23 -23
  110. package/lib/cjs/SchemaLoader.js +47 -47
  111. package/lib/cjs/SchemaLoader.js.map +1 -1
  112. package/lib/cjs/SchemaPartVisitorDelegate.d.ts +274 -274
  113. package/lib/cjs/SchemaPartVisitorDelegate.js +212 -212
  114. package/lib/cjs/SchemaPartVisitorDelegate.js.map +1 -1
  115. package/lib/cjs/UnitConversion/Graph.d.ts +34 -34
  116. package/lib/cjs/UnitConversion/Graph.js +83 -83
  117. package/lib/cjs/UnitConversion/Graph.js.map +1 -1
  118. package/lib/cjs/UnitConversion/Parser.d.ts +8 -8
  119. package/lib/cjs/UnitConversion/Parser.js +42 -42
  120. package/lib/cjs/UnitConversion/Parser.js.map +1 -1
  121. package/lib/cjs/UnitConversion/UnitConversion.d.ts +45 -45
  122. package/lib/cjs/UnitConversion/UnitConversion.js +77 -77
  123. package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
  124. package/lib/cjs/UnitConversion/UnitConverter.d.ts +39 -39
  125. package/lib/cjs/UnitConversion/UnitConverter.js +116 -116
  126. package/lib/cjs/UnitConversion/UnitConverter.js.map +1 -1
  127. package/lib/cjs/UnitConversion/UnitTree.d.ts +43 -43
  128. package/lib/cjs/UnitConversion/UnitTree.js +169 -169
  129. package/lib/cjs/UnitConversion/UnitTree.js.map +1 -1
  130. package/lib/cjs/UnitProvider/SchemaUnitProvider.d.ts +77 -77
  131. package/lib/cjs/UnitProvider/SchemaUnitProvider.js +236 -236
  132. package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
  133. package/lib/cjs/Validation/SchemaWalker.d.ts +23 -23
  134. package/lib/cjs/Validation/SchemaWalker.js +53 -53
  135. package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
  136. package/lib/cjs/ecschema-metadata.d.ts +51 -51
  137. package/lib/cjs/ecschema-metadata.js +96 -96
  138. package/lib/cjs/ecschema-metadata.js.map +1 -1
  139. package/lib/cjs/utils/SchemaGraph.d.ts +25 -25
  140. package/lib/cjs/utils/SchemaGraph.js +65 -65
  141. package/lib/cjs/utils/SchemaGraph.js.map +1 -1
  142. package/package.json +7 -7
@@ -1,198 +1,198 @@
1
- /** @packageDocumentation
2
- * @module Metadata
3
- */
4
- import { EnumerationPropertyProps, NavigationPropertyProps, PrimitiveArrayPropertyProps, PrimitiveOrEnumPropertyBaseProps, PrimitivePropertyProps, PropertyProps, StructPropertyProps } from "../Deserialization/JsonProps";
5
- import { PrimitiveType, StrengthDirection } from "../ECObjects";
6
- import { AnyClass, LazyLoadedEnumeration, LazyLoadedKindOfQuantity, LazyLoadedPropertyCategory, LazyLoadedRelationshipClass } from "../Interfaces";
7
- import { PropertyType } from "../PropertyTypes";
8
- import { ECName } from "../ECName";
9
- import { ECClass, StructClass } from "./Class";
10
- import { CustomAttribute, CustomAttributeContainerProps, CustomAttributeSet } from "./CustomAttribute";
11
- import { KindOfQuantity } from "./KindOfQuantity";
12
- import { PropertyCategory } from "./PropertyCategory";
13
- import { RelationshipClass } from "./RelationshipClass";
14
- import { Schema } from "./Schema";
15
- /**
16
- * A common abstract class for all ECProperty types.
17
- * @beta
18
- */
19
- export declare abstract class Property implements CustomAttributeContainerProps {
20
- protected _name: ECName;
21
- protected _type: PropertyType;
22
- protected _class: AnyClass;
23
- protected _description?: string;
24
- protected _label?: string;
25
- protected _isReadOnly?: boolean;
26
- protected _priority?: number;
27
- protected _category?: LazyLoadedPropertyCategory;
28
- protected _kindOfQuantity?: LazyLoadedKindOfQuantity;
29
- private _customAttributes?;
30
- constructor(ecClass: ECClass, name: string, type: PropertyType);
31
- isArray(): this is AnyArrayProperty;
32
- isPrimitive(): this is AnyPrimitiveProperty;
33
- isStruct(): this is AnyStructProperty;
34
- isEnumeration(): this is AnyEnumerationProperty;
35
- isNavigation(): this is NavigationProperty;
36
- get name(): string;
37
- get class(): AnyClass;
38
- get label(): string | undefined;
39
- get description(): string | undefined;
40
- get isReadOnly(): boolean;
41
- get priority(): number;
42
- get category(): LazyLoadedPropertyCategory | undefined;
43
- get kindOfQuantity(): LazyLoadedKindOfQuantity | undefined;
44
- get propertyType(): PropertyType;
45
- get customAttributes(): CustomAttributeSet | undefined;
46
- /** Returns the name in the format 'ClassName.PropertyName'. */
47
- get fullName(): string;
48
- /** Returns the schema of the class holding the property. */
49
- get schema(): Schema;
50
- getCategorySync(): PropertyCategory | undefined;
51
- getKindOfQuantitySync(): KindOfQuantity | undefined;
52
- /**
53
- * Save this Property's properties to an object for serializing to JSON.
54
- */
55
- toJSON(): PropertyProps;
56
- /** @internal */
57
- toXml(schemaXml: Document): Promise<Element>;
58
- fromJSONSync(propertyProps: PropertyProps): void;
59
- fromJSON(propertyProps: PropertyProps): Promise<void>;
60
- protected addCustomAttribute(customAttribute: CustomAttribute): void;
61
- /**
62
- * Retrieve all custom attributes in the current property and its base
63
- * This is the async version of getCustomAttributesSync()
64
- */
65
- getCustomAttributes(): Promise<CustomAttributeSet>;
66
- /**
67
- * Retrieve all custom attributes in the current property and its base.
68
- */
69
- getCustomAttributesSync(): CustomAttributeSet;
70
- /**
71
- * @internal
72
- */
73
- static isProperty(object: any): object is Property;
74
- }
75
- /** @beta */
76
- export declare abstract class PrimitiveOrEnumPropertyBase extends Property {
77
- protected _extendedTypeName?: string;
78
- protected _minLength?: number;
79
- protected _maxLength?: number;
80
- protected _minValue?: number;
81
- protected _maxValue?: number;
82
- get extendedTypeName(): string | undefined;
83
- get minLength(): number | undefined;
84
- get maxLength(): number | undefined;
85
- get minValue(): number | undefined;
86
- get maxValue(): number | undefined;
87
- constructor(ecClass: ECClass, name: string, type: PropertyType);
88
- /**
89
- * Save this PrimitiveOrEnumPropertyBase's properties to an object for serializing to JSON.
90
- */
91
- toJSON(): PrimitiveOrEnumPropertyBaseProps;
92
- /** @internal */
93
- toXml(schemaXml: Document): Promise<Element>;
94
- fromJSONSync(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps): void;
95
- fromJSON(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps): Promise<void>;
96
- }
97
- /** @beta */
98
- export declare class PrimitiveProperty extends PrimitiveOrEnumPropertyBase {
99
- get primitiveType(): PrimitiveType;
100
- constructor(ecClass: ECClass, name: string, primitiveType?: PrimitiveType);
101
- fromJSONSync(primitivePropertyProps: PrimitivePropertyProps): void;
102
- fromJSON(primitivePropertyProps: PrimitivePropertyProps): Promise<void>;
103
- /**
104
- * Save this PrimitiveProperty's properties to an object for serializing to JSON.
105
- */
106
- toJSON(): PrimitivePropertyProps;
107
- /** @internal */
108
- toXml(schemaXml: Document): Promise<Element>;
109
- }
110
- /** @beta */
111
- export declare class EnumerationProperty extends PrimitiveOrEnumPropertyBase {
112
- protected _enumeration?: LazyLoadedEnumeration;
113
- get enumeration(): LazyLoadedEnumeration | undefined;
114
- /**
115
- * Save this EnumerationProperty's properties to an object for serializing to JSON.
116
- */
117
- toJSON(): EnumerationPropertyProps;
118
- constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration);
119
- fromJSONSync(enumerationPropertyProps: EnumerationPropertyProps): void;
120
- /** @internal */
121
- toXml(schemaXml: Document): Promise<Element>;
122
- fromJSON(enumerationPropertyProps: EnumerationPropertyProps): Promise<void>;
123
- }
124
- /** @beta */
125
- export declare class StructProperty extends Property {
126
- protected _structClass: StructClass;
127
- get structClass(): StructClass;
128
- constructor(ecClass: ECClass, name: string, type: StructClass);
129
- /**
130
- * Save this StructProperty's properties to an object for serializing to JSON.
131
- */
132
- toJSON(): StructPropertyProps;
133
- /** @internal */
134
- toXml(schemaXml: Document): Promise<Element>;
135
- fromJSONSync(structPropertyProps: StructPropertyProps): void;
136
- fromJSON(structPropertyProps: StructPropertyProps): Promise<void>;
137
- }
138
- /** @beta */
139
- export declare class NavigationProperty extends Property {
140
- protected _relationshipClass: LazyLoadedRelationshipClass;
141
- protected _direction: StrengthDirection;
142
- get relationshipClass(): LazyLoadedRelationshipClass;
143
- getRelationshipClassSync(): RelationshipClass | undefined;
144
- get direction(): StrengthDirection;
145
- /**
146
- * Save this NavigationProperty's properties to an object for serializing to JSON.
147
- */
148
- toJSON(): NavigationPropertyProps;
149
- /** @internal */
150
- toXml(schemaXml: Document): Promise<Element>;
151
- constructor(ecClass: ECClass, name: string, relationship: LazyLoadedRelationshipClass, direction?: StrengthDirection);
152
- }
153
- declare type Constructor<T> = new (...args: any[]) => T;
154
- /** @beta */
155
- export declare abstract class ArrayProperty extends Property {
156
- protected _minOccurs: number;
157
- protected _maxOccurs?: number;
158
- get minOccurs(): number;
159
- get maxOccurs(): number | undefined;
160
- }
161
- declare const PrimitiveArrayProperty_base: typeof PrimitiveProperty & Constructor<ArrayProperty>;
162
- /** @beta */
163
- export declare class PrimitiveArrayProperty extends PrimitiveArrayProperty_base {
164
- constructor(ecClass: ECClass, name: string, primitiveType?: PrimitiveType);
165
- /**
166
- * Save this PrimitiveArrayProperty's properties to an object for serializing to JSON.
167
- */
168
- toJSON(): PrimitiveArrayPropertyProps;
169
- }
170
- declare const EnumerationArrayProperty_base: typeof EnumerationProperty & Constructor<ArrayProperty>;
171
- /** @beta */
172
- export declare class EnumerationArrayProperty extends EnumerationArrayProperty_base {
173
- constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration);
174
- }
175
- declare const StructArrayProperty_base: typeof StructProperty & Constructor<ArrayProperty>;
176
- /** @beta */
177
- export declare class StructArrayProperty extends StructArrayProperty_base {
178
- constructor(ecClass: ECClass, name: string, type: StructClass);
179
- }
180
- /** @beta */
181
- export declare type AnyArrayProperty = PrimitiveArrayProperty | EnumerationArrayProperty | StructArrayProperty;
182
- /** @beta */
183
- export declare type AnyPrimitiveProperty = PrimitiveProperty | PrimitiveArrayProperty;
184
- /** @beta */
185
- export declare type AnyEnumerationProperty = EnumerationProperty | EnumerationArrayProperty;
186
- /** @beta */
187
- export declare type AnyStructProperty = StructProperty | StructArrayProperty;
188
- /** @beta */
189
- export declare type AnyProperty = AnyPrimitiveProperty | AnyEnumerationProperty | AnyStructProperty | NavigationProperty;
190
- /**
191
- * Hackish approach that works like a "friend class" so we can access protected members without making them public.
192
- * @internal
193
- */
194
- export declare abstract class MutableProperty extends Property {
195
- abstract addCustomAttribute(customAttribute: CustomAttribute): void;
196
- }
197
- export {};
1
+ /** @packageDocumentation
2
+ * @module Metadata
3
+ */
4
+ import { EnumerationPropertyProps, NavigationPropertyProps, PrimitiveArrayPropertyProps, PrimitiveOrEnumPropertyBaseProps, PrimitivePropertyProps, PropertyProps, StructPropertyProps } from "../Deserialization/JsonProps";
5
+ import { PrimitiveType, StrengthDirection } from "../ECObjects";
6
+ import { AnyClass, LazyLoadedEnumeration, LazyLoadedKindOfQuantity, LazyLoadedPropertyCategory, LazyLoadedRelationshipClass } from "../Interfaces";
7
+ import { PropertyType } from "../PropertyTypes";
8
+ import { ECName } from "../ECName";
9
+ import { ECClass, StructClass } from "./Class";
10
+ import { CustomAttribute, CustomAttributeContainerProps, CustomAttributeSet } from "./CustomAttribute";
11
+ import { KindOfQuantity } from "./KindOfQuantity";
12
+ import { PropertyCategory } from "./PropertyCategory";
13
+ import { RelationshipClass } from "./RelationshipClass";
14
+ import { Schema } from "./Schema";
15
+ /**
16
+ * A common abstract class for all ECProperty types.
17
+ * @beta
18
+ */
19
+ export declare abstract class Property implements CustomAttributeContainerProps {
20
+ protected _name: ECName;
21
+ protected _type: PropertyType;
22
+ protected _class: AnyClass;
23
+ protected _description?: string;
24
+ protected _label?: string;
25
+ protected _isReadOnly?: boolean;
26
+ protected _priority?: number;
27
+ protected _category?: LazyLoadedPropertyCategory;
28
+ protected _kindOfQuantity?: LazyLoadedKindOfQuantity;
29
+ private _customAttributes?;
30
+ constructor(ecClass: ECClass, name: string, type: PropertyType);
31
+ isArray(): this is AnyArrayProperty;
32
+ isPrimitive(): this is AnyPrimitiveProperty;
33
+ isStruct(): this is AnyStructProperty;
34
+ isEnumeration(): this is AnyEnumerationProperty;
35
+ isNavigation(): this is NavigationProperty;
36
+ get name(): string;
37
+ get class(): AnyClass;
38
+ get label(): string | undefined;
39
+ get description(): string | undefined;
40
+ get isReadOnly(): boolean;
41
+ get priority(): number;
42
+ get category(): LazyLoadedPropertyCategory | undefined;
43
+ get kindOfQuantity(): LazyLoadedKindOfQuantity | undefined;
44
+ get propertyType(): PropertyType;
45
+ get customAttributes(): CustomAttributeSet | undefined;
46
+ /** Returns the name in the format 'ClassName.PropertyName'. */
47
+ get fullName(): string;
48
+ /** Returns the schema of the class holding the property. */
49
+ get schema(): Schema;
50
+ getCategorySync(): PropertyCategory | undefined;
51
+ getKindOfQuantitySync(): KindOfQuantity | undefined;
52
+ /**
53
+ * Save this Property's properties to an object for serializing to JSON.
54
+ */
55
+ toJSON(): PropertyProps;
56
+ /** @internal */
57
+ toXml(schemaXml: Document): Promise<Element>;
58
+ fromJSONSync(propertyProps: PropertyProps): void;
59
+ fromJSON(propertyProps: PropertyProps): Promise<void>;
60
+ protected addCustomAttribute(customAttribute: CustomAttribute): void;
61
+ /**
62
+ * Retrieve all custom attributes in the current property and its base
63
+ * This is the async version of getCustomAttributesSync()
64
+ */
65
+ getCustomAttributes(): Promise<CustomAttributeSet>;
66
+ /**
67
+ * Retrieve all custom attributes in the current property and its base.
68
+ */
69
+ getCustomAttributesSync(): CustomAttributeSet;
70
+ /**
71
+ * @internal
72
+ */
73
+ static isProperty(object: any): object is Property;
74
+ }
75
+ /** @beta */
76
+ export declare abstract class PrimitiveOrEnumPropertyBase extends Property {
77
+ protected _extendedTypeName?: string;
78
+ protected _minLength?: number;
79
+ protected _maxLength?: number;
80
+ protected _minValue?: number;
81
+ protected _maxValue?: number;
82
+ get extendedTypeName(): string | undefined;
83
+ get minLength(): number | undefined;
84
+ get maxLength(): number | undefined;
85
+ get minValue(): number | undefined;
86
+ get maxValue(): number | undefined;
87
+ constructor(ecClass: ECClass, name: string, type: PropertyType);
88
+ /**
89
+ * Save this PrimitiveOrEnumPropertyBase's properties to an object for serializing to JSON.
90
+ */
91
+ toJSON(): PrimitiveOrEnumPropertyBaseProps;
92
+ /** @internal */
93
+ toXml(schemaXml: Document): Promise<Element>;
94
+ fromJSONSync(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps): void;
95
+ fromJSON(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps): Promise<void>;
96
+ }
97
+ /** @beta */
98
+ export declare class PrimitiveProperty extends PrimitiveOrEnumPropertyBase {
99
+ get primitiveType(): PrimitiveType;
100
+ constructor(ecClass: ECClass, name: string, primitiveType?: PrimitiveType);
101
+ fromJSONSync(primitivePropertyProps: PrimitivePropertyProps): void;
102
+ fromJSON(primitivePropertyProps: PrimitivePropertyProps): Promise<void>;
103
+ /**
104
+ * Save this PrimitiveProperty's properties to an object for serializing to JSON.
105
+ */
106
+ toJSON(): PrimitivePropertyProps;
107
+ /** @internal */
108
+ toXml(schemaXml: Document): Promise<Element>;
109
+ }
110
+ /** @beta */
111
+ export declare class EnumerationProperty extends PrimitiveOrEnumPropertyBase {
112
+ protected _enumeration?: LazyLoadedEnumeration;
113
+ get enumeration(): LazyLoadedEnumeration | undefined;
114
+ /**
115
+ * Save this EnumerationProperty's properties to an object for serializing to JSON.
116
+ */
117
+ toJSON(): EnumerationPropertyProps;
118
+ constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration);
119
+ fromJSONSync(enumerationPropertyProps: EnumerationPropertyProps): void;
120
+ /** @internal */
121
+ toXml(schemaXml: Document): Promise<Element>;
122
+ fromJSON(enumerationPropertyProps: EnumerationPropertyProps): Promise<void>;
123
+ }
124
+ /** @beta */
125
+ export declare class StructProperty extends Property {
126
+ protected _structClass: StructClass;
127
+ get structClass(): StructClass;
128
+ constructor(ecClass: ECClass, name: string, type: StructClass);
129
+ /**
130
+ * Save this StructProperty's properties to an object for serializing to JSON.
131
+ */
132
+ toJSON(): StructPropertyProps;
133
+ /** @internal */
134
+ toXml(schemaXml: Document): Promise<Element>;
135
+ fromJSONSync(structPropertyProps: StructPropertyProps): void;
136
+ fromJSON(structPropertyProps: StructPropertyProps): Promise<void>;
137
+ }
138
+ /** @beta */
139
+ export declare class NavigationProperty extends Property {
140
+ protected _relationshipClass: LazyLoadedRelationshipClass;
141
+ protected _direction: StrengthDirection;
142
+ get relationshipClass(): LazyLoadedRelationshipClass;
143
+ getRelationshipClassSync(): RelationshipClass | undefined;
144
+ get direction(): StrengthDirection;
145
+ /**
146
+ * Save this NavigationProperty's properties to an object for serializing to JSON.
147
+ */
148
+ toJSON(): NavigationPropertyProps;
149
+ /** @internal */
150
+ toXml(schemaXml: Document): Promise<Element>;
151
+ constructor(ecClass: ECClass, name: string, relationship: LazyLoadedRelationshipClass, direction?: StrengthDirection);
152
+ }
153
+ declare type Constructor<T> = new (...args: any[]) => T;
154
+ /** @beta */
155
+ export declare abstract class ArrayProperty extends Property {
156
+ protected _minOccurs: number;
157
+ protected _maxOccurs?: number;
158
+ get minOccurs(): number;
159
+ get maxOccurs(): number | undefined;
160
+ }
161
+ declare const PrimitiveArrayProperty_base: typeof PrimitiveProperty & Constructor<ArrayProperty>;
162
+ /** @beta */
163
+ export declare class PrimitiveArrayProperty extends PrimitiveArrayProperty_base {
164
+ constructor(ecClass: ECClass, name: string, primitiveType?: PrimitiveType);
165
+ /**
166
+ * Save this PrimitiveArrayProperty's properties to an object for serializing to JSON.
167
+ */
168
+ toJSON(): PrimitiveArrayPropertyProps;
169
+ }
170
+ declare const EnumerationArrayProperty_base: typeof EnumerationProperty & Constructor<ArrayProperty>;
171
+ /** @beta */
172
+ export declare class EnumerationArrayProperty extends EnumerationArrayProperty_base {
173
+ constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration);
174
+ }
175
+ declare const StructArrayProperty_base: typeof StructProperty & Constructor<ArrayProperty>;
176
+ /** @beta */
177
+ export declare class StructArrayProperty extends StructArrayProperty_base {
178
+ constructor(ecClass: ECClass, name: string, type: StructClass);
179
+ }
180
+ /** @beta */
181
+ export declare type AnyArrayProperty = PrimitiveArrayProperty | EnumerationArrayProperty | StructArrayProperty;
182
+ /** @beta */
183
+ export declare type AnyPrimitiveProperty = PrimitiveProperty | PrimitiveArrayProperty;
184
+ /** @beta */
185
+ export declare type AnyEnumerationProperty = EnumerationProperty | EnumerationArrayProperty;
186
+ /** @beta */
187
+ export declare type AnyStructProperty = StructProperty | StructArrayProperty;
188
+ /** @beta */
189
+ export declare type AnyProperty = AnyPrimitiveProperty | AnyEnumerationProperty | AnyStructProperty | NavigationProperty;
190
+ /**
191
+ * Hackish approach that works like a "friend class" so we can access protected members without making them public.
192
+ * @internal
193
+ */
194
+ export declare abstract class MutableProperty extends Property {
195
+ abstract addCustomAttribute(customAttribute: CustomAttribute): void;
196
+ }
197
+ export {};
198
198
  //# sourceMappingURL=Property.d.ts.map