+typedef enum
+{
+ ELM_DAY_SUNDAY,
+ ELM_DAY_MONDAY,
+ ELM_DAY_TUESDAY,
+ ELM_DAY_WEDNESDAY,
+ ELM_DAY_THURSDAY,
+ ELM_DAY_FRIDAY,
+ ELM_DAY_SATURDAY,
+ ELM_DAY_LAST
+} _Elm_Calendar_Weekday;
+
+/**
+ * @enum _Elm_Calendar_Weekday
+ * @typedef Elm_Calendar_Weekday
+ *
+ * a weekday
+ *
+ * @see elm_calendar_first_day_of_week_set()
+ *
+ * @ingroup Calendar
+ */
+typedef _Elm_Calendar_Weekday Elm_Calendar_Weekday;
+
+
+typedef enum
+{
+ ELM_CALENDAR_SELECT_MODE_DEFAULT = 0, /**< Default value. a day is always selected. */
+ ELM_CALENDAR_SELECT_MODE_ALWAYS, /**< a day is always selected. */
+ ELM_CALENDAR_SELECT_MODE_NONE, /**< None of the days can be selected. */
+ ELM_CALENDAR_SELECT_MODE_ONDEMAND /**< User may have selected a day or not. */
+} _Elm_Calendar_Select_Mode;
+
+/**
+ * @enum _Elm_Calendar_Select_Mode
+ * @typedef Elm_Calendar_Select_Mode
+ *
+ * the mode, who determine how user could select a day
+ *
+ * @see elm_calendar_select_mode_set()
+ *
+ * @ingroup Calendar
+ */
+typedef _Elm_Calendar_Select_Mode Elm_Calendar_Select_Mode;
+