/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
 * @module Properties
 */
import { IModelApp } from "../IModelApp";
import { QuantityType } from "../quantity-formatting/QuantityFormatter";
import { FormattedQuantityDescription } from "./FormattedQuantityDescription";
/**
 * Length Property Description
 * @beta
 */
export class LengthDescription extends FormattedQuantityDescription {
    constructor(name, displayLabel, iconSpec) {
        const defaultName = "length";
        super(name ? name : defaultName, displayLabel ? displayLabel : IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"), iconSpec);
    }
    get formatterQuantityType() { return QuantityType.Length; }
    get quantityType() { return "Length"; }
    get parseError() { return IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
}
/**
 * Survey Length Property Description
 * @beta
 */
export class SurveyLengthDescription extends FormattedQuantityDescription {
    constructor(name, displayLabel, iconSpec) {
        const defaultName = "surveyLength";
        super(name ? name : defaultName, displayLabel ? displayLabel : IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"), iconSpec);
    }
    get formatterQuantityType() { return QuantityType.LengthSurvey; }
    get quantityType() { return "LengthSurvey"; }
    get parseError() { return IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
}
/**
 * Engineering Length Property Description
 * @beta
 */
export class EngineeringLengthDescription extends FormattedQuantityDescription {
    constructor(name, displayLabel, iconSpec) {
        const defaultName = "engineeringLength";
        super(name ? name : defaultName, displayLabel ? displayLabel : IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"), iconSpec);
    }
    get formatterQuantityType() { return QuantityType.LengthEngineering; }
    get quantityType() { return "LengthEngineering"; }
    get parseError() { return IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
}
//# sourceMappingURL=LengthDescription.js.map