/*
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 { ColumnFilterConditionDescriptionMetadata } from "./ColumnFilterConditionDescriptionMetadata";
import { FilterExpressionDescriptionMetadata } from "./FilterExpressionDescriptionMetadata";
import { CellInfoDescriptionMetadata } from "./CellInfoDescriptionMetadata";
import { FilterCellInfoDescription } from "./FilterCellInfoDescription";
/**
 * @hidden
 */
var FilterCellInfoDescriptionMetadata = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(FilterCellInfoDescriptionMetadata, _super);
    function FilterCellInfoDescriptionMetadata() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    FilterCellInfoDescriptionMetadata.b = function (a) {
        if (FilterCellInfoDescriptionMetadata.a == null) {
            FilterCellInfoDescriptionMetadata.a = new Dictionary$2(String_$type, String_$type, 0);
            FilterCellInfoDescriptionMetadata.c(FilterCellInfoDescriptionMetadata.a);
        }
        if (a.k(FilterCellInfoDescriptionMetadata.a)) {
            return;
        }
        a.aa(FilterCellInfoDescriptionMetadata.a);
        ColumnFilterConditionDescriptionMetadata.d(a);
        FilterExpressionDescriptionMetadata.d(a);
    };
    FilterCellInfoDescriptionMetadata.c = function (a) {
        CellInfoDescriptionMetadata.c(a);
        a.item("DataType", "ExportedType:string:DataSourceSchemaPropertyType");
        a.item("DataType@names", "StringValue;IntValue;BooleanValue;LongValue;ShortValue;DoubleValue;DecimalValue;SingleValue;DateTimeValue;DateTimeOffsetValue;ByteValue;ObjectValue");
        a.item("Filter", "ExportedType:ColumnFilterCondition");
        a.item("FilterExpression", "ExportedType:IFilterExpression");
        a.item("FilterOperands", "Collection:FilterOperand:GridFilterOperandsCollection:FilterOperand");
        a.item("OperatorType", "ExportedType:string:ColumnComparisonConditionOperatorType");
        a.item("OperatorType@names", "Equals;NotEquals;LessThan;LessThanOrEqualTo;GreaterThan;GreaterThanOrEqualTo;Top;Bottom;TopPercentile;BottomPercentile;True;False;Contains;DoesNotContain;StartsWith;DoesNotStartWith;EndsWith;DoesNotEndWith;Today;Tomorrow;Yesterday;NextWeek;ThisWeek;LastWeek;NextMonth;ThisMonth;LastMonth;NextQuarter;ThisQuarter;LastQuarter;NextYear;ThisYear;LastYear;YearToDate;Q1;Q2;Q3;Q4;Month;Year;Empty;NotEmpty;IsNull;IsNotNull;Custom");
        a.item("FilterValueRef", "(w:FilterValue,wf:FilterValue)DataRef");
        a.item("SelectorTop", "Number:double");
        a.item("SelectorLeft", "Number:double");
        a.item("EditorTop", "Number:double");
        a.item("EditorLeft", "Number:double");
        a.item("ClearIconTop", "Number:double");
        a.item("ClearIconLeft", "Number:double");
    };
    FilterCellInfoDescriptionMetadata.d = function (a) {
        FilterCellInfoDescriptionMetadata.b(a);
        a.ac("FilterCellInfo", function () { return new FilterCellInfoDescription(); });
        a.ab("FilterCellInfo", FilterCellInfoDescriptionMetadata.a);
    };
    FilterCellInfoDescriptionMetadata.$t = markType(FilterCellInfoDescriptionMetadata, 'FilterCellInfoDescriptionMetadata');
    FilterCellInfoDescriptionMetadata.a = null;
    return FilterCellInfoDescriptionMetadata;
}(Base));
export { FilterCellInfoDescriptionMetadata };
