@itwin/ecschema-metadata 3.6.0-dev.35 → 3.6.0-dev.36

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 (141) hide show
  1. package/LICENSE.md +1 -1
  2. package/lib/cjs/Constants.d.ts +23 -23
  3. package/lib/cjs/Constants.js +33 -33
  4. package/lib/cjs/Constants.js.map +1 -1
  5. package/lib/cjs/Context.d.ts +139 -139
  6. package/lib/cjs/Context.js +204 -204
  7. package/lib/cjs/DelayedPromise.d.ts +88 -88
  8. package/lib/cjs/DelayedPromise.js +91 -91
  9. package/lib/cjs/DelayedPromise.js.map +1 -1
  10. package/lib/cjs/Deserialization/AbstractParser.d.ts +45 -45
  11. package/lib/cjs/Deserialization/AbstractParser.js +11 -11
  12. package/lib/cjs/Deserialization/AbstractParser.js.map +1 -1
  13. package/lib/cjs/Deserialization/Helper.d.ts +251 -251
  14. package/lib/cjs/Deserialization/Helper.js +843 -843
  15. package/lib/cjs/Deserialization/Helper.js.map +1 -1
  16. package/lib/cjs/Deserialization/JsonParser.d.ts +165 -165
  17. package/lib/cjs/Deserialization/JsonParser.js +680 -680
  18. package/lib/cjs/Deserialization/JsonParser.js.map +1 -1
  19. package/lib/cjs/Deserialization/JsonProps.d.ts +282 -282
  20. package/lib/cjs/Deserialization/JsonProps.js +9 -9
  21. package/lib/cjs/Deserialization/JsonProps.js.map +1 -1
  22. package/lib/cjs/Deserialization/SchemaGraphUtil.d.ts +34 -34
  23. package/lib/cjs/Deserialization/SchemaGraphUtil.js +77 -77
  24. package/lib/cjs/Deserialization/SchemaGraphUtil.js.map +1 -1
  25. package/lib/cjs/Deserialization/XmlParser.d.ts +85 -85
  26. package/lib/cjs/Deserialization/XmlParser.js +973 -973
  27. package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
  28. package/lib/cjs/Deserialization/XmlSerializationUtils.d.ts +54 -54
  29. package/lib/cjs/Deserialization/XmlSerializationUtils.js +174 -174
  30. package/lib/cjs/Deserialization/XmlSerializationUtils.js.map +1 -1
  31. package/lib/cjs/ECName.d.ts +30 -30
  32. package/lib/cjs/ECName.js +85 -85
  33. package/lib/cjs/ECName.js.map +1 -1
  34. package/lib/cjs/ECObjects.d.ts +162 -162
  35. package/lib/cjs/ECObjects.js +453 -453
  36. package/lib/cjs/ECObjects.js.map +1 -1
  37. package/lib/cjs/Exception.d.ts +43 -43
  38. package/lib/cjs/Exception.js +86 -86
  39. package/lib/cjs/Exception.js.map +1 -1
  40. package/lib/cjs/Interfaces.d.ts +66 -66
  41. package/lib/cjs/Interfaces.js +9 -9
  42. package/lib/cjs/Interfaces.js.map +1 -1
  43. package/lib/cjs/Metadata/Class.d.ts +243 -243
  44. package/lib/cjs/Metadata/Class.js +558 -558
  45. package/lib/cjs/Metadata/Class.js.map +1 -1
  46. package/lib/cjs/Metadata/Constant.d.ts +64 -64
  47. package/lib/cjs/Metadata/Constant.js +123 -123
  48. package/lib/cjs/Metadata/Constant.js.map +1 -1
  49. package/lib/cjs/Metadata/CustomAttribute.d.ts +23 -23
  50. package/lib/cjs/Metadata/CustomAttribute.js +27 -27
  51. package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
  52. package/lib/cjs/Metadata/CustomAttributeClass.d.ts +39 -39
  53. package/lib/cjs/Metadata/CustomAttributeClass.js +68 -68
  54. package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
  55. package/lib/cjs/Metadata/EntityClass.d.ts +77 -77
  56. package/lib/cjs/Metadata/EntityClass.js +230 -230
  57. package/lib/cjs/Metadata/EntityClass.js.map +1 -1
  58. package/lib/cjs/Metadata/Enumeration.d.ts +86 -86
  59. package/lib/cjs/Metadata/Enumeration.js +159 -159
  60. package/lib/cjs/Metadata/Enumeration.js.map +1 -1
  61. package/lib/cjs/Metadata/Format.d.ts +98 -98
  62. package/lib/cjs/Metadata/Format.js +242 -242
  63. package/lib/cjs/Metadata/Format.js.map +1 -1
  64. package/lib/cjs/Metadata/InvertedUnit.d.ts +49 -49
  65. package/lib/cjs/Metadata/InvertedUnit.js +97 -97
  66. package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
  67. package/lib/cjs/Metadata/KindOfQuantity.d.ts +65 -65
  68. package/lib/cjs/Metadata/KindOfQuantity.js +225 -225
  69. package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
  70. package/lib/cjs/Metadata/Mixin.d.ts +54 -54
  71. package/lib/cjs/Metadata/Mixin.js +113 -113
  72. package/lib/cjs/Metadata/Mixin.js.map +1 -1
  73. package/lib/cjs/Metadata/OverrideFormat.d.ts +55 -55
  74. package/lib/cjs/Metadata/OverrideFormat.js +88 -88
  75. package/lib/cjs/Metadata/OverrideFormat.js.map +1 -1
  76. package/lib/cjs/Metadata/Phenomenon.d.ts +33 -33
  77. package/lib/cjs/Metadata/Phenomenon.js +59 -59
  78. package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
  79. package/lib/cjs/Metadata/Property.d.ts +197 -197
  80. package/lib/cjs/Metadata/Property.js +491 -491
  81. package/lib/cjs/Metadata/Property.js.map +1 -1
  82. package/lib/cjs/Metadata/PropertyCategory.d.ts +39 -39
  83. package/lib/cjs/Metadata/PropertyCategory.js +61 -61
  84. package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
  85. package/lib/cjs/Metadata/RelationshipClass.d.ts +152 -152
  86. package/lib/cjs/Metadata/RelationshipClass.js +349 -349
  87. package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
  88. package/lib/cjs/Metadata/Schema.d.ts +291 -291
  89. package/lib/cjs/Metadata/Schema.js +520 -520
  90. package/lib/cjs/Metadata/Schema.js.map +1 -1
  91. package/lib/cjs/Metadata/SchemaItem.d.ts +61 -61
  92. package/lib/cjs/Metadata/SchemaItem.js +136 -136
  93. package/lib/cjs/Metadata/SchemaItem.js.map +1 -1
  94. package/lib/cjs/Metadata/Unit.d.ts +76 -76
  95. package/lib/cjs/Metadata/Unit.js +162 -162
  96. package/lib/cjs/Metadata/UnitSystem.d.ts +20 -20
  97. package/lib/cjs/Metadata/UnitSystem.js +29 -29
  98. package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
  99. package/lib/cjs/PropertyTypes.d.ts +49 -49
  100. package/lib/cjs/PropertyTypes.js +91 -91
  101. package/lib/cjs/PropertyTypes.js.map +1 -1
  102. package/lib/cjs/SchemaJsonLocater.d.ts +34 -34
  103. package/lib/cjs/SchemaJsonLocater.js +42 -42
  104. package/lib/cjs/SchemaJsonLocater.js.map +1 -1
  105. package/lib/cjs/SchemaKey.d.ts +110 -110
  106. package/lib/cjs/SchemaKey.js +219 -219
  107. package/lib/cjs/SchemaKey.js.map +1 -1
  108. package/lib/cjs/SchemaLoader.d.ts +23 -23
  109. package/lib/cjs/SchemaLoader.js +47 -47
  110. package/lib/cjs/SchemaLoader.js.map +1 -1
  111. package/lib/cjs/SchemaPartVisitorDelegate.d.ts +274 -274
  112. package/lib/cjs/SchemaPartVisitorDelegate.js +212 -212
  113. package/lib/cjs/SchemaPartVisitorDelegate.js.map +1 -1
  114. package/lib/cjs/UnitConversion/Graph.d.ts +34 -34
  115. package/lib/cjs/UnitConversion/Graph.js +83 -83
  116. package/lib/cjs/UnitConversion/Graph.js.map +1 -1
  117. package/lib/cjs/UnitConversion/Parser.d.ts +8 -8
  118. package/lib/cjs/UnitConversion/Parser.js +42 -42
  119. package/lib/cjs/UnitConversion/Parser.js.map +1 -1
  120. package/lib/cjs/UnitConversion/UnitConversion.d.ts +45 -45
  121. package/lib/cjs/UnitConversion/UnitConversion.js +77 -77
  122. package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
  123. package/lib/cjs/UnitConversion/UnitConverter.d.ts +39 -39
  124. package/lib/cjs/UnitConversion/UnitConverter.js +116 -116
  125. package/lib/cjs/UnitConversion/UnitConverter.js.map +1 -1
  126. package/lib/cjs/UnitConversion/UnitTree.d.ts +43 -43
  127. package/lib/cjs/UnitConversion/UnitTree.js +169 -169
  128. package/lib/cjs/UnitConversion/UnitTree.js.map +1 -1
  129. package/lib/cjs/UnitProvider/SchemaUnitProvider.d.ts +77 -77
  130. package/lib/cjs/UnitProvider/SchemaUnitProvider.js +236 -236
  131. package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
  132. package/lib/cjs/Validation/SchemaWalker.d.ts +23 -23
  133. package/lib/cjs/Validation/SchemaWalker.js +53 -53
  134. package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
  135. package/lib/cjs/ecschema-metadata.d.ts +51 -51
  136. package/lib/cjs/ecschema-metadata.js +96 -96
  137. package/lib/cjs/ecschema-metadata.js.map +1 -1
  138. package/lib/cjs/utils/SchemaGraph.d.ts +25 -25
  139. package/lib/cjs/utils/SchemaGraph.js +65 -65
  140. package/lib/cjs/utils/SchemaGraph.js.map +1 -1
  141. 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