/*
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 { CalendarFormatOptionsDescriptionMetadata } from "./CalendarFormatOptionsDescriptionMetadata";
import { CalendarResourceStringsDescriptionMetadata } from "./CalendarResourceStringsDescriptionMetadata";
import { WebComponentDataValueChangedEventArgsDescriptionMetadata } from "./WebComponentDataValueChangedEventArgsDescriptionMetadata";
import { WebCalendarBaseDescriptionMetadata } from "./WebCalendarBaseDescriptionMetadata";
import { WebCalendarDescription } from "./WebCalendarDescription";
/**
 * @hidden
 */
export let WebCalendarDescriptionMetadata = /*@__PURE__*/ (() => {
    class WebCalendarDescriptionMetadata extends Base {
        static b(a) {
            if (WebCalendarDescriptionMetadata.a == null) {
                WebCalendarDescriptionMetadata.a = new Dictionary$2(String_$type, String_$type, 0);
                WebCalendarDescriptionMetadata.c(WebCalendarDescriptionMetadata.a);
            }
            if (a.g(WebCalendarDescriptionMetadata.a)) {
                return;
            }
            a.s(WebCalendarDescriptionMetadata.a);
            CalendarFormatOptionsDescriptionMetadata.d(a);
            CalendarResourceStringsDescriptionMetadata.d(a);
            WebComponentDataValueChangedEventArgsDescriptionMetadata.d(a);
        }
        static c(a) {
            WebCalendarBaseDescriptionMetadata.c(a);
            a.item("__qualifiedNameTS", "String:Calendar");
            a.item("Value", "Date");
            a.item("Values", "Array:Date");
            a.item("ActiveDate", "Date");
            a.item("HideOutsideDays", "Boolean");
            a.item("HideHeader", "Boolean");
            a.item("HeaderOrientation", "ExportedType:string:CalendarHeaderOrientation");
            a.item("HeaderOrientation@names", "Vertical;Horizontal");
            a.item("Orientation", "ExportedType:string:CalendarOrientation");
            a.item("Orientation@names", "Vertical;Horizontal");
            a.item("VisibleMonths", "Number:double");
            a.item("ActiveView", "ExportedType:string:CalendarActiveView");
            a.item("ActiveView@names", "Days;Months;Years");
            a.item("FormatOptions", "ExportedType:CalendarFormatOptions");
            a.item("ResourceStrings", "ExportedType:CalendarResourceStrings");
            a.item("Size", "ExportedType:string:SizableComponentSize");
            a.item("Size@names", "Large;Small;Medium");
            a.item("ChangeRef", "EventRef::change");
        }
        static d(a) {
            WebCalendarDescriptionMetadata.b(a);
            a.u("WebCalendar", () => new WebCalendarDescription());
            a.t("WebCalendar", WebCalendarDescriptionMetadata.a);
        }
    }
    WebCalendarDescriptionMetadata.$t = markType(WebCalendarDescriptionMetadata, 'WebCalendarDescriptionMetadata');
    WebCalendarDescriptionMetadata.a = null;
    return WebCalendarDescriptionMetadata;
})();
