/*
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 { Base, String_$type, markType } from "./type";
import { Dictionary$2 } from "./Dictionary$2";
import { WebGridToolbarDescriptionMetadata } from "./WebGridToolbarDescriptionMetadata";
import { WebGridToolbarActionsDescriptionMetadata } from "./WebGridToolbarActionsDescriptionMetadata";
import { WebGridToolbarTitleDescriptionMetadata } from "./WebGridToolbarTitleDescriptionMetadata";
import { WebGridToolbarExporterDescriptionMetadata } from "./WebGridToolbarExporterDescriptionMetadata";
import { WebGridToolbarHidingDescriptionMetadata } from "./WebGridToolbarHidingDescriptionMetadata";
import { WebGridToolbarPinningDescriptionMetadata } from "./WebGridToolbarPinningDescriptionMetadata";
import { WebGridToolbarAdvancedFilteringDescriptionMetadata } from "./WebGridToolbarAdvancedFilteringDescriptionMetadata";
import { WebGridToolbarBaseActionDescriptionMetadata } from "./WebGridToolbarBaseActionDescriptionMetadata";
import { WebGridToolbarContentDescriptionMetadata } from "./WebGridToolbarContentDescriptionMetadata";
import { WebGroupByRecordDescriptionMetadata } from "./WebGroupByRecordDescriptionMetadata";
import { WebGroupingExpressionDescriptionMetadata } from "./WebGroupingExpressionDescriptionMetadata";
import { WebGroupByExpandStateDescriptionMetadata } from "./WebGroupByExpandStateDescriptionMetadata";
import { WebGridGroupingStrategyDescriptionMetadata } from "./WebGridGroupingStrategyDescriptionMetadata";
import { WebForOfStateEventArgsDescriptionMetadata } from "./WebForOfStateEventArgsDescriptionMetadata";
import { WebGroupingDoneEventArgsDescriptionMetadata } from "./WebGroupingDoneEventArgsDescriptionMetadata";
import { WebGridBaseDirectiveDescriptionMetadata } from "./WebGridBaseDirectiveDescriptionMetadata";
import { WebGridDescription } from "./WebGridDescription";
/**
 * @hidden
 */
export let WebGridDescriptionMetadata = /*@__PURE__*/ (() => {
    class WebGridDescriptionMetadata extends Base {
        static b(a) {
            if (WebGridDescriptionMetadata.a == null) {
                WebGridDescriptionMetadata.a = new Dictionary$2(String_$type, String_$type, 0);
                WebGridDescriptionMetadata.c(WebGridDescriptionMetadata.a);
            }
            if (a.k(WebGridDescriptionMetadata.a)) {
                return;
            }
            a.ab(WebGridDescriptionMetadata.a);
            WebGridDescriptionMetadata.f(a);
            WebGroupByRecordDescriptionMetadata.d(a);
            WebGroupingExpressionDescriptionMetadata.d(a);
            WebGroupByExpandStateDescriptionMetadata.d(a);
            WebGridGroupingStrategyDescriptionMetadata.d(a);
            WebForOfStateEventArgsDescriptionMetadata.d(a);
            WebGroupingDoneEventArgsDescriptionMetadata.d(a);
        }
        static c(a) {
            WebGridBaseDirectiveDescriptionMetadata.c(a);
            a.item("__qualifiedNameTS", "String:Grid");
            a.item("__tagNameWC", "String:igc-grid");
            a.item("__packageNameWC", "String:grids");
            a.item("__skipModuleRegisterWebComponents", "Boolean");
            a.item("__importOverrideWebComponents", "String:igniteui-webcomponents-grids/grids/combined");
            a.item("__importTypesWebComponents", "String:igniteui-webcomponents-grids/grids");
            if (a.containsKey("__skipSuffix")) {
                a.removeItem("__skipSuffix");
            }
            a.item("GroupsExpanded", "Boolean");
            a.item("DropAreaTemplateRef", "(w:DropAreaTemplate,wf:DropAreaTemplate)TemplateRef::object");
            a.item("DetailTemplateRef", "(w:DetailTemplate,wf:DetailTemplate)TemplateRef::object");
            a.item("Id", "String");
            a.item("GroupsRecords", "Array:WebGroupByRecordDescription:GroupByRecord");
            a.item("DataRef", "(w:Data,wf:Data)DataRef::object");
            a.item("FilteredData", "Unknown");
            a.item("TotalItemCount", "Number:double");
            a.item("GroupingExpressions", "Array:WebGroupingExpressionDescription:GroupingExpression");
            a.item("GroupingExpressions@mustSetInCode", "WebComponents;Blazor");
            a.item("GroupingExpansionState", "Array:WebGroupByExpandStateDescription:GroupByExpandState");
            a.item("HideGroupedColumns", "Boolean");
            a.item("GroupStrategy", "ExportedType:WebGridGroupingStrategy");
            a.item("DropAreaMessage", "String");
            a.item("GroupByRowSelectorTemplateRef", "(w:GroupByRowSelectorTemplate,wf:GroupByRowSelectorTemplate)TemplateRef::object");
            a.item("GroupRowTemplateRef", "(w:GroupRowTemplate,wf:GroupRowTemplate)TemplateRef::object");
            a.item("GroupAreaTemplateRef", "(w:GroupAreaTemplate,wf:GroupAreaTemplate)TemplateRef::object");
            a.item("ShowGroupArea", "Boolean");
            a.item("DataPreLoadRef", "EventRef::dataPreLoad:customEvent");
            a.item("GroupingDoneRef", "EventRef::groupingDone:customEvent");
            WebGridDescriptionMetadata.e(a);
        }
        static d(a) {
            WebGridDescriptionMetadata.b(a);
            a.ad("WebGrid", () => new WebGridDescription());
            a.ac("WebGrid", WebGridDescriptionMetadata.a);
        }
        static e(a) {
            a.item("__deferAttachWC", "Boolean");
            a.item("__skipModuleRegisterWebComponents", "Boolean");
            a.item("__importOverrideWebComponents", "String:igniteui-webcomponents-grids/grids/combined");
            a.item("__importTypesWebComponents", "String:igniteui-webcomponents-grids/grids");
        }
        static f(a) {
            WebGridToolbarDescriptionMetadata.d(a);
            WebGridToolbarActionsDescriptionMetadata.d(a);
            WebGridToolbarTitleDescriptionMetadata.d(a);
            WebGridToolbarExporterDescriptionMetadata.d(a);
            WebGridToolbarHidingDescriptionMetadata.d(a);
            WebGridToolbarPinningDescriptionMetadata.d(a);
            WebGridToolbarAdvancedFilteringDescriptionMetadata.d(a);
            WebGridToolbarBaseActionDescriptionMetadata.d(a);
            WebGridToolbarContentDescriptionMetadata.d(a);
        }
    }
    WebGridDescriptionMetadata.$t = markType(WebGridDescriptionMetadata, 'WebGridDescriptionMetadata');
    WebGridDescriptionMetadata.a = null;
    return WebGridDescriptionMetadata;
})();
