@itwin/presentation-common
Version:
Common pieces for iModel.js presentation packages
46 lines • 1.2 kB
TypeScript
/** @packageDocumentation
* @module Content
*/
import { ClassInfo, CompressedClassInfoJSON, PropertyInfo, PropertyInfoJSON } from "../EC.js";
/**
* Data structure that describes one step of property
* accessor path.
*
* @public
*/
export interface PropertyAccessor {
/** Name of ECProperty */
propertyName: string;
/** If the property is an array, array index. Otherwise undefined. */
arrayIndex?: number;
}
/**
* Describes path to a property.
* @public
*/
export type PropertyAccessorPath = PropertyAccessor[];
/**
* Data structure that describes a single ECProperty that's
* included in a [[PropertiesField]].
*
* @public
*/
export interface Property {
/** ECProperty information */
property: PropertyInfo;
}
/** @public */
export declare namespace Property {
/** Serialize [[Property]] to compressed JSON */
function toCompressedJSON(prop: Property, classesMap: {
[id: string]: CompressedClassInfoJSON;
}): PropertyJSON<string>;
}
/**
* JSON representation of [[Property]]
* @public
*/
export interface PropertyJSON<TClassInfoJSON = ClassInfo> {
property: PropertyInfoJSON<TClassInfoJSON>;
}
//# sourceMappingURL=Property.d.ts.map