@itwin/ecschema-metadata
Version:
ECObjects core concepts in typescript
81 lines • 2.93 kB
TypeScript
/** @packageDocumentation
* @module Metadata
*/
import { ConstantProps } from "../Deserialization/JsonProps";
import { SchemaItemType } from "../ECObjects";
import { LazyLoadedPhenomenon } from "../Interfaces";
import { Schema } from "./Schema";
import { SchemaItem } from "./SchemaItem";
/**
* A Constant is a specific type of Unit that represents a number.
* @public @preview
*/
export declare class Constant extends SchemaItem {
readonly schemaItemType: SchemaItemType;
/** @internal */
static get schemaItemType(): SchemaItemType;
private _phenomenon?;
private _definition;
private _numerator?;
private _denominator?;
/** @internal */
constructor(schema: Schema, name: string);
get phenomenon(): LazyLoadedPhenomenon | undefined;
get definition(): string;
get numerator(): number;
get denominator(): number;
get hasNumerator(): boolean;
get hasDenominator(): boolean;
/**
* Save this Constants properties to an object for serializing to JSON.
* @param standalone Serialization includes only this object (as opposed to the full schema).
* @param includeSchemaVersion Include the Schema's version information in the serialized object.
*/
toJSON(standalone?: boolean, includeSchemaVersion?: boolean): ConstantProps;
/** @internal */
toXml(schemaXml: Document): Promise<Element>;
fromJSONSync(constantProps: ConstantProps): void;
fromJSON(constantProps: ConstantProps): Promise<void>;
/**
* @param phenomenon A LazyLoadedPhenomenon.
* @internal
*/
protected setPhenomenon(phenomenon: LazyLoadedPhenomenon): void;
/**
* @internal
*/
protected setDefinition(definition: string): void;
/**
* @internal
*/
protected setNumerator(numerator: number): void;
/**
* @internal
*/
protected setDenominator(denominator: number): void;
/**
* Type guard to check if the SchemaItem is of type Constant.
* @param item The SchemaItem to check.
* @returns True if the item is a Constant, false otherwise.
*/
static isConstant(item?: SchemaItem): item is Constant;
/**
* Type assertion to check if the SchemaItem is of type Constant.
* @param item The SchemaItem to check.
* @returns The item cast to Constant if it is a Constant, undefined otherwise.
* @internal
*/
static assertIsConstant(item?: SchemaItem): asserts item is Constant;
}
/**
* @internal
* An abstract class used for schema editing.
*/
export declare abstract class MutableConstant extends Constant {
abstract setPhenomenon(phenomenon: LazyLoadedPhenomenon): void;
abstract setDefinition(definition: string): void;
abstract setNumerator(numerator: number): void;
abstract setDenominator(denominator: number): void;
abstract setDisplayLabel(displayLabel: string): void;
}
//# sourceMappingURL=Constant.d.ts.map