/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import * as tslib_1 from "tslib";
import { Base, String_$type, markType } from "./type";
import { Dictionary$2 } from "./Dictionary$2";
import { CalloutStyleUpdatingEventArgsDescriptionMetadata } from "./CalloutStyleUpdatingEventArgsDescriptionMetadata";
import { CalloutRenderStyleUpdatingEventArgsDescriptionMetadata } from "./CalloutRenderStyleUpdatingEventArgsDescriptionMetadata";
import { CalloutContentUpdatingEventArgsDescriptionMetadata } from "./CalloutContentUpdatingEventArgsDescriptionMetadata";
import { CalloutLabelUpdatingEventArgsDescriptionMetadata } from "./CalloutLabelUpdatingEventArgsDescriptionMetadata";
import { CalloutSeriesSelectingEventArgsDescriptionMetadata } from "./CalloutSeriesSelectingEventArgsDescriptionMetadata";
import { AnnotationLayerDescriptionMetadata } from "./AnnotationLayerDescriptionMetadata";
import { CalloutLayerDescription } from "./CalloutLayerDescription";
/**
 * @hidden
 */
var CalloutLayerDescriptionMetadata = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(CalloutLayerDescriptionMetadata, _super);
    function CalloutLayerDescriptionMetadata() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    CalloutLayerDescriptionMetadata.b = function (a) {
        if (CalloutLayerDescriptionMetadata.a == null) {
            CalloutLayerDescriptionMetadata.a = new Dictionary$2(String_$type, String_$type, 0);
            CalloutLayerDescriptionMetadata.c(CalloutLayerDescriptionMetadata.a);
        }
        if (a.k(CalloutLayerDescriptionMetadata.a)) {
            return;
        }
        a.aa(CalloutLayerDescriptionMetadata.a);
        CalloutStyleUpdatingEventArgsDescriptionMetadata.d(a);
        CalloutRenderStyleUpdatingEventArgsDescriptionMetadata.d(a);
        CalloutContentUpdatingEventArgsDescriptionMetadata.d(a);
        CalloutLabelUpdatingEventArgsDescriptionMetadata.d(a);
        CalloutSeriesSelectingEventArgsDescriptionMetadata.d(a);
    };
    CalloutLayerDescriptionMetadata.c = function (a) {
        AnnotationLayerDescriptionMetadata.c(a);
        a.item("LabelMemberPath", "String");
        a.item("XMemberPath", "String");
        a.item("YMemberPath", "String");
        a.item("KeyMemberPath", "String");
        a.item("IsCalloutOffsettingEnabled", "Boolean");
        a.item("ContentMemberPath", "String");
        a.item("TargetSeriesName", "String");
        a.item("TargetSeriesRef", "(w:TargetSeries,wf:TargetSeries)DataRef::object");
        a.item("CollisionChannel", "String");
        a.item("AllowedPositions", "Collection:string:CalloutPlacementPositionsCollection:CalloutPlacementPositions");
        a.item("AllowedPositions@names", "Top;Left;Right;Bottom;TopLeft;TopRight;BottomLeft;BottomRight");
        a.item("IsAutoCalloutBehaviorEnabled", "Boolean");
        a.item("UseInterpolatedValueForAutoCalloutLabels", "Boolean");
        a.item("UseSeriesColorForOutline", "Boolean");
        a.item("UseValueForAutoCalloutLabels", "Boolean");
        a.item("AutoCalloutVisibilityMode", "ExportedType:string:AutoCalloutVisibilityMode");
        a.item("AutoCalloutVisibilityMode@names", "Auto;Normal;DedicatedLanes");
        a.item("CalloutCornerRadius", "Number:double");
        a.item("IsCustomCalloutStyleEnabled", "Boolean");
        a.item("IsCustomCalloutRenderStyleEnabled", "Boolean");
        a.item("AutoCalloutLabelPrecision", "Number:int");
        a.item("CalloutTextColor", "Brush");
        a.item("CalloutBackground", "Brush");
        a.item("CalloutInterpolatedValuePrecision", "Number:int");
        a.item("CalloutOutline", "Brush");
        a.item("CalloutLeaderBrush", "Brush");
        a.item("CalloutPaddingLeft", "Number:double");
        a.item("CalloutPaddingTop", "Number:double");
        a.item("CalloutPaddingRight", "Number:double");
        a.item("CalloutPaddingBottom", "Number:double");
        a.item("CalloutCollisionMode", "ExportedType:string:CalloutCollisionMode");
        a.item("CalloutCollisionMode@names", "Auto;SimulatedAnnealing;Greedy;GreedyCenterOfMass");
        a.item("CalloutPositionPadding", "Number:double");
        a.item("CalloutStrokeThickness", "Number:double");
        a.item("TextStyle", "String");
        a.item("CalloutStyleUpdatingRef", "EventRef::calloutStyleUpdating");
        a.item("CalloutRenderStyleUpdatingRef", "EventRef::calloutRenderStyleUpdating");
        a.item("CalloutContentUpdatingRef", "EventRef::calloutContentUpdating");
        a.item("CalloutLabelUpdatingRef", "EventRef::calloutLabelUpdating");
        a.item("CalloutSeriesSelectingRef", "EventRef::calloutSeriesSelecting");
    };
    CalloutLayerDescriptionMetadata.d = function (a) {
        CalloutLayerDescriptionMetadata.b(a);
        a.ac("CalloutLayer", function () { return new CalloutLayerDescription(); });
        a.ab("CalloutLayer", CalloutLayerDescriptionMetadata.a);
    };
    CalloutLayerDescriptionMetadata.$t = markType(CalloutLayerDescriptionMetadata, 'CalloutLayerDescriptionMetadata');
    CalloutLayerDescriptionMetadata.a = null;
    return CalloutLayerDescriptionMetadata;
}(Base));
export { CalloutLayerDescriptionMetadata };
