/* chrono.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __LIB_CHRONO_H__
#define __LIB_CHRONO_H__

#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gee.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define CHRONO_TYPE_CORE (chrono_core_get_type ())
#define CHRONO_CORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_CORE, ChronoCore))
#define CHRONO_CORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_CORE, ChronoCoreClass))
#define CHRONO_IS_CORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_CORE))
#define CHRONO_IS_CORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_CORE))
#define CHRONO_CORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_CORE, ChronoCoreClass))

typedef struct _ChronoCore ChronoCore;
typedef struct _ChronoCoreClass ChronoCoreClass;
typedef struct _ChronoCorePrivate ChronoCorePrivate;

#define CHRONO_TYPE_PARSE_RESULT (chrono_parse_result_get_type ())
#define CHRONO_PARSE_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_PARSE_RESULT, ChronoParseResult))
#define CHRONO_PARSE_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_PARSE_RESULT, ChronoParseResultClass))
#define CHRONO_IS_PARSE_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_PARSE_RESULT))
#define CHRONO_IS_PARSE_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_PARSE_RESULT))
#define CHRONO_PARSE_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_PARSE_RESULT, ChronoParseResultClass))

typedef struct _ChronoParseResult ChronoParseResult;
typedef struct _ChronoParseResultClass ChronoParseResultClass;

#define CHRONO_TYPE_LANGUAGE_PARSER (chrono_language_parser_get_type ())
#define CHRONO_LANGUAGE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_LANGUAGE_PARSER, ChronoLanguageParser))
#define CHRONO_LANGUAGE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_LANGUAGE_PARSER, ChronoLanguageParserClass))
#define CHRONO_IS_LANGUAGE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_LANGUAGE_PARSER))
#define CHRONO_IS_LANGUAGE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_LANGUAGE_PARSER))
#define CHRONO_LANGUAGE_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_LANGUAGE_PARSER, ChronoLanguageParserClass))

typedef struct _ChronoLanguageParser ChronoLanguageParser;
typedef struct _ChronoLanguageParserClass ChronoLanguageParserClass;
typedef struct _ChronoLanguageParserPrivate ChronoLanguageParserPrivate;

#define CHRONO_TYPE_PARSER (chrono_parser_get_type ())
#define CHRONO_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_PARSER, ChronoParser))
#define CHRONO_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_PARSER, ChronoParserClass))
#define CHRONO_IS_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_PARSER))
#define CHRONO_IS_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_PARSER))
#define CHRONO_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_PARSER, ChronoParserClass))

typedef struct _ChronoParser ChronoParser;
typedef struct _ChronoParserClass ChronoParserClass;
typedef struct _ChronoParserPrivate ChronoParserPrivate;
typedef struct _ChronoParseResultPrivate ChronoParseResultPrivate;

#define CHRONO_TYPE_RECURRENCE_RULE (chrono_recurrence_rule_get_type ())
#define CHRONO_RECURRENCE_RULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_RECURRENCE_RULE, ChronoRecurrenceRule))
#define CHRONO_RECURRENCE_RULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_RECURRENCE_RULE, ChronoRecurrenceRuleClass))
#define CHRONO_IS_RECURRENCE_RULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_RECURRENCE_RULE))
#define CHRONO_IS_RECURRENCE_RULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_RECURRENCE_RULE))
#define CHRONO_RECURRENCE_RULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_RECURRENCE_RULE, ChronoRecurrenceRuleClass))

typedef struct _ChronoRecurrenceRule ChronoRecurrenceRule;
typedef struct _ChronoRecurrenceRuleClass ChronoRecurrenceRuleClass;
typedef enum  {
	CHRONO_RECURRENCE_TYPE_DAILY,
	CHRONO_RECURRENCE_TYPE_WEEKLY,
	CHRONO_RECURRENCE_TYPE_MONTHLY,
	CHRONO_RECURRENCE_TYPE_YEARLY
} ChronoRecurrenceType;

#define CHRONO_TYPE_RECURRENCE_TYPE (chrono_recurrence_type_get_type ())
typedef struct _ChronoRecurrenceRulePrivate ChronoRecurrenceRulePrivate;

#define CHRONO_TYPE_ISO_PARSER (chrono_iso_parser_get_type ())
#define CHRONO_ISO_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_ISO_PARSER, ChronoISOParser))
#define CHRONO_ISO_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_ISO_PARSER, ChronoISOParserClass))
#define CHRONO_IS_ISO_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_ISO_PARSER))
#define CHRONO_IS_ISO_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_ISO_PARSER))
#define CHRONO_ISO_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_ISO_PARSER, ChronoISOParserClass))

typedef struct _ChronoISOParser ChronoISOParser;
typedef struct _ChronoISOParserClass ChronoISOParserClass;
typedef struct _ChronoISOParserPrivate ChronoISOParserPrivate;

#define CHRONO_TYPE_SLASH_PARSER (chrono_slash_parser_get_type ())
#define CHRONO_SLASH_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_SLASH_PARSER, ChronoSlashParser))
#define CHRONO_SLASH_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_SLASH_PARSER, ChronoSlashParserClass))
#define CHRONO_IS_SLASH_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_SLASH_PARSER))
#define CHRONO_IS_SLASH_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_SLASH_PARSER))
#define CHRONO_SLASH_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_SLASH_PARSER, ChronoSlashParserClass))

typedef struct _ChronoSlashParser ChronoSlashParser;
typedef struct _ChronoSlashParserClass ChronoSlashParserClass;
typedef struct _ChronoSlashParserPrivate ChronoSlashParserPrivate;

#define CHRONO_TYPE_TIME_PARSER (chrono_time_parser_get_type ())
#define CHRONO_TIME_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_TIME_PARSER, ChronoTimeParser))
#define CHRONO_TIME_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_TIME_PARSER, ChronoTimeParserClass))
#define CHRONO_IS_TIME_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_TIME_PARSER))
#define CHRONO_IS_TIME_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_TIME_PARSER))
#define CHRONO_TIME_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_TIME_PARSER, ChronoTimeParserClass))

typedef struct _ChronoTimeParser ChronoTimeParser;
typedef struct _ChronoTimeParserClass ChronoTimeParserClass;
typedef struct _ChronoTimeParserPrivate ChronoTimeParserPrivate;

#define CHRONO_TYPE_EN_CASUAL_DATE_PARSER (chrono_en_casual_date_parser_get_type ())
#define CHRONO_EN_CASUAL_DATE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_EN_CASUAL_DATE_PARSER, ChronoENCasualDateParser))
#define CHRONO_EN_CASUAL_DATE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_EN_CASUAL_DATE_PARSER, ChronoENCasualDateParserClass))
#define CHRONO_IS_EN_CASUAL_DATE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_EN_CASUAL_DATE_PARSER))
#define CHRONO_IS_EN_CASUAL_DATE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_EN_CASUAL_DATE_PARSER))
#define CHRONO_EN_CASUAL_DATE_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_EN_CASUAL_DATE_PARSER, ChronoENCasualDateParserClass))

typedef struct _ChronoENCasualDateParser ChronoENCasualDateParser;
typedef struct _ChronoENCasualDateParserClass ChronoENCasualDateParserClass;
typedef struct _ChronoENCasualDateParserPrivate ChronoENCasualDateParserPrivate;

#define CHRONO_TYPE_EN_CASUAL_TIME_PARSER (chrono_en_casual_time_parser_get_type ())
#define CHRONO_EN_CASUAL_TIME_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_EN_CASUAL_TIME_PARSER, ChronoENCasualTimeParser))
#define CHRONO_EN_CASUAL_TIME_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_EN_CASUAL_TIME_PARSER, ChronoENCasualTimeParserClass))
#define CHRONO_IS_EN_CASUAL_TIME_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_EN_CASUAL_TIME_PARSER))
#define CHRONO_IS_EN_CASUAL_TIME_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_EN_CASUAL_TIME_PARSER))
#define CHRONO_EN_CASUAL_TIME_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_EN_CASUAL_TIME_PARSER, ChronoENCasualTimeParserClass))

typedef struct _ChronoENCasualTimeParser ChronoENCasualTimeParser;
typedef struct _ChronoENCasualTimeParserClass ChronoENCasualTimeParserClass;
typedef struct _ChronoENCasualTimeParserPrivate ChronoENCasualTimeParserPrivate;
typedef enum  {
	CHRONO_TIME_UNIT_SECOND,
	CHRONO_TIME_UNIT_MINUTE,
	CHRONO_TIME_UNIT_HOUR,
	CHRONO_TIME_UNIT_DAY,
	CHRONO_TIME_UNIT_WEEK,
	CHRONO_TIME_UNIT_MONTH,
	CHRONO_TIME_UNIT_QUARTER,
	CHRONO_TIME_UNIT_YEAR
} ChronoTimeUnit;

#define CHRONO_TYPE_TIME_UNIT (chrono_time_unit_get_type ())

#define CHRONO_TYPE_EN_CONSTANTS (chrono_en_constants_get_type ())
#define CHRONO_EN_CONSTANTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_EN_CONSTANTS, ChronoENConstants))
#define CHRONO_EN_CONSTANTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_EN_CONSTANTS, ChronoENConstantsClass))
#define CHRONO_IS_EN_CONSTANTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_EN_CONSTANTS))
#define CHRONO_IS_EN_CONSTANTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_EN_CONSTANTS))
#define CHRONO_EN_CONSTANTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_EN_CONSTANTS, ChronoENConstantsClass))

typedef struct _ChronoENConstants ChronoENConstants;
typedef struct _ChronoENConstantsClass ChronoENConstantsClass;
typedef struct _ChronoENConstantsPrivate ChronoENConstantsPrivate;

#define CHRONO_TYPE_EN_DATE_TIME_COMBO_PARSER (chrono_en_date_time_combo_parser_get_type ())
#define CHRONO_EN_DATE_TIME_COMBO_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_EN_DATE_TIME_COMBO_PARSER, ChronoENDateTimeComboParser))
#define CHRONO_EN_DATE_TIME_COMBO_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_EN_DATE_TIME_COMBO_PARSER, ChronoENDateTimeComboParserClass))
#define CHRONO_IS_EN_DATE_TIME_COMBO_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_EN_DATE_TIME_COMBO_PARSER))
#define CHRONO_IS_EN_DATE_TIME_COMBO_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_EN_DATE_TIME_COMBO_PARSER))
#define CHRONO_EN_DATE_TIME_COMBO_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_EN_DATE_TIME_COMBO_PARSER, ChronoENDateTimeComboParserClass))

typedef struct _ChronoENDateTimeComboParser ChronoENDateTimeComboParser;
typedef struct _ChronoENDateTimeComboParserClass ChronoENDateTimeComboParserClass;
typedef struct _ChronoENDateTimeComboParserPrivate ChronoENDateTimeComboParserPrivate;

#define CHRONO_TYPE_ENGLISH_PARSER (chrono_english_parser_get_type ())
#define CHRONO_ENGLISH_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_ENGLISH_PARSER, ChronoEnglishParser))
#define CHRONO_ENGLISH_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_ENGLISH_PARSER, ChronoEnglishParserClass))
#define CHRONO_IS_ENGLISH_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_ENGLISH_PARSER))
#define CHRONO_IS_ENGLISH_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_ENGLISH_PARSER))
#define CHRONO_ENGLISH_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_ENGLISH_PARSER, ChronoEnglishParserClass))

typedef struct _ChronoEnglishParser ChronoEnglishParser;
typedef struct _ChronoEnglishParserClass ChronoEnglishParserClass;
typedef struct _ChronoEnglishParserPrivate ChronoEnglishParserPrivate;

#define CHRONO_TYPE_EN_MONTH_NAME_PARSER (chrono_en_month_name_parser_get_type ())
#define CHRONO_EN_MONTH_NAME_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_EN_MONTH_NAME_PARSER, ChronoENMonthNameParser))
#define CHRONO_EN_MONTH_NAME_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_EN_MONTH_NAME_PARSER, ChronoENMonthNameParserClass))
#define CHRONO_IS_EN_MONTH_NAME_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_EN_MONTH_NAME_PARSER))
#define CHRONO_IS_EN_MONTH_NAME_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_EN_MONTH_NAME_PARSER))
#define CHRONO_EN_MONTH_NAME_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_EN_MONTH_NAME_PARSER, ChronoENMonthNameParserClass))

typedef struct _ChronoENMonthNameParser ChronoENMonthNameParser;
typedef struct _ChronoENMonthNameParserClass ChronoENMonthNameParserClass;
typedef struct _ChronoENMonthNameParserPrivate ChronoENMonthNameParserPrivate;

#define CHRONO_TYPE_EN_RECURRENCE_PARSER (chrono_en_recurrence_parser_get_type ())
#define CHRONO_EN_RECURRENCE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_EN_RECURRENCE_PARSER, ChronoENRecurrenceParser))
#define CHRONO_EN_RECURRENCE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_EN_RECURRENCE_PARSER, ChronoENRecurrenceParserClass))
#define CHRONO_IS_EN_RECURRENCE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_EN_RECURRENCE_PARSER))
#define CHRONO_IS_EN_RECURRENCE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_EN_RECURRENCE_PARSER))
#define CHRONO_EN_RECURRENCE_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_EN_RECURRENCE_PARSER, ChronoENRecurrenceParserClass))

typedef struct _ChronoENRecurrenceParser ChronoENRecurrenceParser;
typedef struct _ChronoENRecurrenceParserClass ChronoENRecurrenceParserClass;
typedef struct _ChronoENRecurrenceParserPrivate ChronoENRecurrenceParserPrivate;

#define CHRONO_TYPE_EN_RELATIVE_DATE_FORMAT_PARSER (chrono_en_relative_date_format_parser_get_type ())
#define CHRONO_EN_RELATIVE_DATE_FORMAT_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_EN_RELATIVE_DATE_FORMAT_PARSER, ChronoENRelativeDateFormatParser))
#define CHRONO_EN_RELATIVE_DATE_FORMAT_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_EN_RELATIVE_DATE_FORMAT_PARSER, ChronoENRelativeDateFormatParserClass))
#define CHRONO_IS_EN_RELATIVE_DATE_FORMAT_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_EN_RELATIVE_DATE_FORMAT_PARSER))
#define CHRONO_IS_EN_RELATIVE_DATE_FORMAT_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_EN_RELATIVE_DATE_FORMAT_PARSER))
#define CHRONO_EN_RELATIVE_DATE_FORMAT_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_EN_RELATIVE_DATE_FORMAT_PARSER, ChronoENRelativeDateFormatParserClass))

typedef struct _ChronoENRelativeDateFormatParser ChronoENRelativeDateFormatParser;
typedef struct _ChronoENRelativeDateFormatParserClass ChronoENRelativeDateFormatParserClass;
typedef struct _ChronoENRelativeDateFormatParserPrivate ChronoENRelativeDateFormatParserPrivate;

#define CHRONO_TYPE_EN_TIME_EXPRESSION_PARSER (chrono_en_time_expression_parser_get_type ())
#define CHRONO_EN_TIME_EXPRESSION_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_EN_TIME_EXPRESSION_PARSER, ChronoENTimeExpressionParser))
#define CHRONO_EN_TIME_EXPRESSION_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_EN_TIME_EXPRESSION_PARSER, ChronoENTimeExpressionParserClass))
#define CHRONO_IS_EN_TIME_EXPRESSION_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_EN_TIME_EXPRESSION_PARSER))
#define CHRONO_IS_EN_TIME_EXPRESSION_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_EN_TIME_EXPRESSION_PARSER))
#define CHRONO_EN_TIME_EXPRESSION_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_EN_TIME_EXPRESSION_PARSER, ChronoENTimeExpressionParserClass))

typedef struct _ChronoENTimeExpressionParser ChronoENTimeExpressionParser;
typedef struct _ChronoENTimeExpressionParserClass ChronoENTimeExpressionParserClass;
typedef struct _ChronoENTimeExpressionParserPrivate ChronoENTimeExpressionParserPrivate;

#define CHRONO_TYPE_ES_CASUAL_DATE_PARSER (chrono_es_casual_date_parser_get_type ())
#define CHRONO_ES_CASUAL_DATE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_ES_CASUAL_DATE_PARSER, ChronoESCasualDateParser))
#define CHRONO_ES_CASUAL_DATE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_ES_CASUAL_DATE_PARSER, ChronoESCasualDateParserClass))
#define CHRONO_IS_ES_CASUAL_DATE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_ES_CASUAL_DATE_PARSER))
#define CHRONO_IS_ES_CASUAL_DATE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_ES_CASUAL_DATE_PARSER))
#define CHRONO_ES_CASUAL_DATE_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_ES_CASUAL_DATE_PARSER, ChronoESCasualDateParserClass))

typedef struct _ChronoESCasualDateParser ChronoESCasualDateParser;
typedef struct _ChronoESCasualDateParserClass ChronoESCasualDateParserClass;
typedef struct _ChronoESCasualDateParserPrivate ChronoESCasualDateParserPrivate;

#define CHRONO_TYPE_ES_CASUAL_TIME_PARSER (chrono_es_casual_time_parser_get_type ())
#define CHRONO_ES_CASUAL_TIME_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_ES_CASUAL_TIME_PARSER, ChronoESCasualTimeParser))
#define CHRONO_ES_CASUAL_TIME_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_ES_CASUAL_TIME_PARSER, ChronoESCasualTimeParserClass))
#define CHRONO_IS_ES_CASUAL_TIME_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_ES_CASUAL_TIME_PARSER))
#define CHRONO_IS_ES_CASUAL_TIME_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_ES_CASUAL_TIME_PARSER))
#define CHRONO_ES_CASUAL_TIME_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_ES_CASUAL_TIME_PARSER, ChronoESCasualTimeParserClass))

typedef struct _ChronoESCasualTimeParser ChronoESCasualTimeParser;
typedef struct _ChronoESCasualTimeParserClass ChronoESCasualTimeParserClass;
typedef struct _ChronoESCasualTimeParserPrivate ChronoESCasualTimeParserPrivate;

#define CHRONO_TYPE_ES_CONSTANTS (chrono_es_constants_get_type ())
#define CHRONO_ES_CONSTANTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_ES_CONSTANTS, ChronoESConstants))
#define CHRONO_ES_CONSTANTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_ES_CONSTANTS, ChronoESConstantsClass))
#define CHRONO_IS_ES_CONSTANTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_ES_CONSTANTS))
#define CHRONO_IS_ES_CONSTANTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_ES_CONSTANTS))
#define CHRONO_ES_CONSTANTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_ES_CONSTANTS, ChronoESConstantsClass))

typedef struct _ChronoESConstants ChronoESConstants;
typedef struct _ChronoESConstantsClass ChronoESConstantsClass;
typedef struct _ChronoESConstantsPrivate ChronoESConstantsPrivate;

#define CHRONO_TYPE_ES_DATE_TIME_COMBO_PARSER (chrono_es_date_time_combo_parser_get_type ())
#define CHRONO_ES_DATE_TIME_COMBO_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_ES_DATE_TIME_COMBO_PARSER, ChronoESDateTimeComboParser))
#define CHRONO_ES_DATE_TIME_COMBO_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_ES_DATE_TIME_COMBO_PARSER, ChronoESDateTimeComboParserClass))
#define CHRONO_IS_ES_DATE_TIME_COMBO_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_ES_DATE_TIME_COMBO_PARSER))
#define CHRONO_IS_ES_DATE_TIME_COMBO_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_ES_DATE_TIME_COMBO_PARSER))
#define CHRONO_ES_DATE_TIME_COMBO_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_ES_DATE_TIME_COMBO_PARSER, ChronoESDateTimeComboParserClass))

typedef struct _ChronoESDateTimeComboParser ChronoESDateTimeComboParser;
typedef struct _ChronoESDateTimeComboParserClass ChronoESDateTimeComboParserClass;
typedef struct _ChronoESDateTimeComboParserPrivate ChronoESDateTimeComboParserPrivate;

#define CHRONO_TYPE_ES_MONTH_NAME_PARSER (chrono_es_month_name_parser_get_type ())
#define CHRONO_ES_MONTH_NAME_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_ES_MONTH_NAME_PARSER, ChronoESMonthNameParser))
#define CHRONO_ES_MONTH_NAME_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_ES_MONTH_NAME_PARSER, ChronoESMonthNameParserClass))
#define CHRONO_IS_ES_MONTH_NAME_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_ES_MONTH_NAME_PARSER))
#define CHRONO_IS_ES_MONTH_NAME_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_ES_MONTH_NAME_PARSER))
#define CHRONO_ES_MONTH_NAME_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_ES_MONTH_NAME_PARSER, ChronoESMonthNameParserClass))

typedef struct _ChronoESMonthNameParser ChronoESMonthNameParser;
typedef struct _ChronoESMonthNameParserClass ChronoESMonthNameParserClass;
typedef struct _ChronoESMonthNameParserPrivate ChronoESMonthNameParserPrivate;

#define CHRONO_TYPE_ES_RELATIVE_DATE_FORMAT_PARSER (chrono_es_relative_date_format_parser_get_type ())
#define CHRONO_ES_RELATIVE_DATE_FORMAT_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_ES_RELATIVE_DATE_FORMAT_PARSER, ChronoESRelativeDateFormatParser))
#define CHRONO_ES_RELATIVE_DATE_FORMAT_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_ES_RELATIVE_DATE_FORMAT_PARSER, ChronoESRelativeDateFormatParserClass))
#define CHRONO_IS_ES_RELATIVE_DATE_FORMAT_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_ES_RELATIVE_DATE_FORMAT_PARSER))
#define CHRONO_IS_ES_RELATIVE_DATE_FORMAT_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_ES_RELATIVE_DATE_FORMAT_PARSER))
#define CHRONO_ES_RELATIVE_DATE_FORMAT_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_ES_RELATIVE_DATE_FORMAT_PARSER, ChronoESRelativeDateFormatParserClass))

typedef struct _ChronoESRelativeDateFormatParser ChronoESRelativeDateFormatParser;
typedef struct _ChronoESRelativeDateFormatParserClass ChronoESRelativeDateFormatParserClass;
typedef struct _ChronoESRelativeDateFormatParserPrivate ChronoESRelativeDateFormatParserPrivate;

#define CHRONO_TYPE_ES_TIME_EXPRESSION_PARSER (chrono_es_time_expression_parser_get_type ())
#define CHRONO_ES_TIME_EXPRESSION_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_ES_TIME_EXPRESSION_PARSER, ChronoESTimeExpressionParser))
#define CHRONO_ES_TIME_EXPRESSION_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_ES_TIME_EXPRESSION_PARSER, ChronoESTimeExpressionParserClass))
#define CHRONO_IS_ES_TIME_EXPRESSION_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_ES_TIME_EXPRESSION_PARSER))
#define CHRONO_IS_ES_TIME_EXPRESSION_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_ES_TIME_EXPRESSION_PARSER))
#define CHRONO_ES_TIME_EXPRESSION_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_ES_TIME_EXPRESSION_PARSER, ChronoESTimeExpressionParserClass))

typedef struct _ChronoESTimeExpressionParser ChronoESTimeExpressionParser;
typedef struct _ChronoESTimeExpressionParserClass ChronoESTimeExpressionParserClass;
typedef struct _ChronoESTimeExpressionParserPrivate ChronoESTimeExpressionParserPrivate;

#define CHRONO_TYPE_SPANISH_PARSER (chrono_spanish_parser_get_type ())
#define CHRONO_SPANISH_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHRONO_TYPE_SPANISH_PARSER, ChronoSpanishParser))
#define CHRONO_SPANISH_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHRONO_TYPE_SPANISH_PARSER, ChronoSpanishParserClass))
#define CHRONO_IS_SPANISH_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHRONO_TYPE_SPANISH_PARSER))
#define CHRONO_IS_SPANISH_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHRONO_TYPE_SPANISH_PARSER))
#define CHRONO_SPANISH_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHRONO_TYPE_SPANISH_PARSER, ChronoSpanishParserClass))

typedef struct _ChronoSpanishParser ChronoSpanishParser;
typedef struct _ChronoSpanishParserClass ChronoSpanishParserClass;
typedef struct _ChronoSpanishParserPrivate ChronoSpanishParserPrivate;

struct _ChronoCore {
	GObject parent_instance;
	ChronoCorePrivate * priv;
};

struct _ChronoCoreClass {
	GObjectClass parent_class;
};

struct _ChronoLanguageParser {
	GObject parent_instance;
	ChronoLanguageParserPrivate * priv;
};

struct _ChronoLanguageParserClass {
	GObjectClass parent_class;
	ChronoParseResult* (*parse) (ChronoLanguageParser* self, const gchar* text, gboolean parse_recurrence);
};

struct _ChronoParser {
	GObject parent_instance;
	ChronoParserPrivate * priv;
};

struct _ChronoParserClass {
	GObjectClass parent_class;
};

struct _ChronoParseResult {
	GObject parent_instance;
	ChronoParseResultPrivate * priv;
};

struct _ChronoParseResultClass {
	GObjectClass parent_class;
};

struct _ChronoRecurrenceRule {
	GObject parent_instance;
	ChronoRecurrenceRulePrivate * priv;
};

struct _ChronoRecurrenceRuleClass {
	GObjectClass parent_class;
};

struct _ChronoISOParser {
	GObject parent_instance;
	ChronoISOParserPrivate * priv;
};

struct _ChronoISOParserClass {
	GObjectClass parent_class;
};

struct _ChronoSlashParser {
	GObject parent_instance;
	ChronoSlashParserPrivate * priv;
};

struct _ChronoSlashParserClass {
	GObjectClass parent_class;
};

struct _ChronoTimeParser {
	GObject parent_instance;
	ChronoTimeParserPrivate * priv;
};

struct _ChronoTimeParserClass {
	GObjectClass parent_class;
};

struct _ChronoENCasualDateParser {
	GObject parent_instance;
	ChronoENCasualDateParserPrivate * priv;
};

struct _ChronoENCasualDateParserClass {
	GObjectClass parent_class;
};

struct _ChronoENCasualTimeParser {
	GObject parent_instance;
	ChronoENCasualTimeParserPrivate * priv;
};

struct _ChronoENCasualTimeParserClass {
	GObjectClass parent_class;
};

struct _ChronoENConstants {
	GObject parent_instance;
	ChronoENConstantsPrivate * priv;
};

struct _ChronoENConstantsClass {
	GObjectClass parent_class;
};

struct _ChronoENDateTimeComboParser {
	GObject parent_instance;
	ChronoENDateTimeComboParserPrivate * priv;
};

struct _ChronoENDateTimeComboParserClass {
	GObjectClass parent_class;
};

struct _ChronoEnglishParser {
	ChronoLanguageParser parent_instance;
	ChronoEnglishParserPrivate * priv;
};

struct _ChronoEnglishParserClass {
	ChronoLanguageParserClass parent_class;
};

struct _ChronoENMonthNameParser {
	GObject parent_instance;
	ChronoENMonthNameParserPrivate * priv;
};

struct _ChronoENMonthNameParserClass {
	GObjectClass parent_class;
};

struct _ChronoENRecurrenceParser {
	GObject parent_instance;
	ChronoENRecurrenceParserPrivate * priv;
};

struct _ChronoENRecurrenceParserClass {
	GObjectClass parent_class;
};

struct _ChronoENRelativeDateFormatParser {
	GObject parent_instance;
	ChronoENRelativeDateFormatParserPrivate * priv;
};

struct _ChronoENRelativeDateFormatParserClass {
	GObjectClass parent_class;
};

struct _ChronoENTimeExpressionParser {
	GObject parent_instance;
	ChronoENTimeExpressionParserPrivate * priv;
};

struct _ChronoENTimeExpressionParserClass {
	GObjectClass parent_class;
};

struct _ChronoESCasualDateParser {
	GObject parent_instance;
	ChronoESCasualDateParserPrivate * priv;
};

struct _ChronoESCasualDateParserClass {
	GObjectClass parent_class;
};

struct _ChronoESCasualTimeParser {
	GObject parent_instance;
	ChronoESCasualTimeParserPrivate * priv;
};

struct _ChronoESCasualTimeParserClass {
	GObjectClass parent_class;
};

struct _ChronoESConstants {
	GObject parent_instance;
	ChronoESConstantsPrivate * priv;
};

struct _ChronoESConstantsClass {
	GObjectClass parent_class;
};

struct _ChronoESDateTimeComboParser {
	GObject parent_instance;
	ChronoESDateTimeComboParserPrivate * priv;
};

struct _ChronoESDateTimeComboParserClass {
	GObjectClass parent_class;
};

struct _ChronoESMonthNameParser {
	GObject parent_instance;
	ChronoESMonthNameParserPrivate * priv;
};

struct _ChronoESMonthNameParserClass {
	GObjectClass parent_class;
};

struct _ChronoESRelativeDateFormatParser {
	GObject parent_instance;
	ChronoESRelativeDateFormatParserPrivate * priv;
};

struct _ChronoESRelativeDateFormatParserClass {
	GObjectClass parent_class;
};

struct _ChronoESTimeExpressionParser {
	GObject parent_instance;
	ChronoESTimeExpressionParserPrivate * priv;
};

struct _ChronoESTimeExpressionParserClass {
	GObjectClass parent_class;
};

struct _ChronoSpanishParser {
	ChronoLanguageParser parent_instance;
	ChronoSpanishParserPrivate * priv;
};

struct _ChronoSpanishParserClass {
	ChronoLanguageParserClass parent_class;
};

VALA_EXTERN GType chrono_core_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoCore, g_object_unref)
VALA_EXTERN ChronoCore* chrono_core_new (const gchar* language);
VALA_EXTERN ChronoCore* chrono_core_construct (GType object_type,
                                   const gchar* language);
VALA_EXTERN GType chrono_parse_result_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoParseResult, g_object_unref)
VALA_EXTERN ChronoParseResult* chrono_core_parse (ChronoCore* self,
                                      const gchar* text,
                                      gboolean parse_recurrence);
VALA_EXTERN GType chrono_language_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoLanguageParser, g_object_unref)
VALA_EXTERN ChronoParseResult* chrono_language_parser_parse (ChronoLanguageParser* self,
                                                 const gchar* text,
                                                 gboolean parse_recurrence);
VALA_EXTERN ChronoLanguageParser* chrono_language_parser_construct (GType object_type);
VALA_EXTERN GType chrono_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoParser, g_object_unref)
VALA_EXTERN ChronoParser* chrono_parser_new (void);
VALA_EXTERN ChronoParser* chrono_parser_construct (GType object_type);
VALA_EXTERN void chrono_parser_register_language (ChronoParser* self,
                                      const gchar* code,
                                      ChronoLanguageParser* parser);
VALA_EXTERN ChronoParseResult* chrono_parser_parse (ChronoParser* self,
                                        const gchar* text,
                                        const gchar* language,
                                        gboolean parse_recurrence);
VALA_EXTERN ChronoParseResult* chrono_parse_result_new (void);
VALA_EXTERN ChronoParseResult* chrono_parse_result_construct (GType object_type);
VALA_EXTERN GDateTime* chrono_parse_result_get_date (ChronoParseResult* self);
VALA_EXTERN void chrono_parse_result_set_date (ChronoParseResult* self,
                                   GDateTime* value);
VALA_EXTERN GType chrono_recurrence_rule_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoRecurrenceRule, g_object_unref)
VALA_EXTERN ChronoRecurrenceRule* chrono_parse_result_get_recurrence (ChronoParseResult* self);
VALA_EXTERN void chrono_parse_result_set_recurrence (ChronoParseResult* self,
                                         ChronoRecurrenceRule* value);
VALA_EXTERN gint chrono_parse_result_get_start_index (ChronoParseResult* self);
VALA_EXTERN void chrono_parse_result_set_start_index (ChronoParseResult* self,
                                          gint value);
VALA_EXTERN gint chrono_parse_result_get_end_index (ChronoParseResult* self);
VALA_EXTERN void chrono_parse_result_set_end_index (ChronoParseResult* self,
                                        gint value);
VALA_EXTERN const gchar* chrono_parse_result_get_matched_text (ChronoParseResult* self);
VALA_EXTERN void chrono_parse_result_set_matched_text (ChronoParseResult* self,
                                           const gchar* value);
VALA_EXTERN GType chrono_recurrence_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ChronoRecurrenceRule* chrono_recurrence_rule_new (ChronoRecurrenceType recurrence_type);
VALA_EXTERN ChronoRecurrenceRule* chrono_recurrence_rule_construct (GType object_type,
                                                        ChronoRecurrenceType recurrence_type);
VALA_EXTERN ChronoRecurrenceType chrono_recurrence_rule_get_recurrence_type (ChronoRecurrenceRule* self);
VALA_EXTERN void chrono_recurrence_rule_set_recurrence_type (ChronoRecurrenceRule* self,
                                                 ChronoRecurrenceType value);
VALA_EXTERN gint chrono_recurrence_rule_get_interval (ChronoRecurrenceRule* self);
VALA_EXTERN void chrono_recurrence_rule_set_interval (ChronoRecurrenceRule* self,
                                          gint value);
VALA_EXTERN GeeArrayList* chrono_recurrence_rule_get_days_of_week (ChronoRecurrenceRule* self);
VALA_EXTERN void chrono_recurrence_rule_set_days_of_week (ChronoRecurrenceRule* self,
                                              GeeArrayList* value);
VALA_EXTERN gint chrono_recurrence_rule_get_day_of_month (ChronoRecurrenceRule* self);
VALA_EXTERN void chrono_recurrence_rule_set_day_of_month (ChronoRecurrenceRule* self,
                                              gint value);
VALA_EXTERN gint chrono_recurrence_rule_get_month_of_year (ChronoRecurrenceRule* self);
VALA_EXTERN void chrono_recurrence_rule_set_month_of_year (ChronoRecurrenceRule* self,
                                               gint value);
VALA_EXTERN gint chrono_recurrence_rule_get_hour (ChronoRecurrenceRule* self);
VALA_EXTERN void chrono_recurrence_rule_set_hour (ChronoRecurrenceRule* self,
                                      gint value);
VALA_EXTERN gboolean chrono_recurrence_rule_get_last_day (ChronoRecurrenceRule* self);
VALA_EXTERN void chrono_recurrence_rule_set_last_day (ChronoRecurrenceRule* self,
                                          gboolean value);
VALA_EXTERN GType chrono_iso_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoISOParser, g_object_unref)
VALA_EXTERN ChronoISOParser* chrono_iso_parser_new (void);
VALA_EXTERN ChronoISOParser* chrono_iso_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_iso_parser_parse (ChronoISOParser* self,
                                            const gchar* text);
VALA_EXTERN GType chrono_slash_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoSlashParser, g_object_unref)
VALA_EXTERN ChronoSlashParser* chrono_slash_parser_new (void);
VALA_EXTERN ChronoSlashParser* chrono_slash_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_slash_parser_parse (ChronoSlashParser* self,
                                              const gchar* text);
VALA_EXTERN GType chrono_time_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoTimeParser, g_object_unref)
VALA_EXTERN ChronoTimeParser* chrono_time_parser_new (void);
VALA_EXTERN ChronoTimeParser* chrono_time_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_time_parser_parse (ChronoTimeParser* self,
                                             const gchar* text);
VALA_EXTERN GType chrono_en_casual_date_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoENCasualDateParser, g_object_unref)
VALA_EXTERN ChronoENCasualDateParser* chrono_en_casual_date_parser_new (void);
VALA_EXTERN ChronoENCasualDateParser* chrono_en_casual_date_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_en_casual_date_parser_parse (ChronoENCasualDateParser* self,
                                                       const gchar* text);
VALA_EXTERN GType chrono_en_casual_time_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoENCasualTimeParser, g_object_unref)
VALA_EXTERN ChronoENCasualTimeParser* chrono_en_casual_time_parser_new (void);
VALA_EXTERN ChronoENCasualTimeParser* chrono_en_casual_time_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_en_casual_time_parser_parse (ChronoENCasualTimeParser* self,
                                                       const gchar* text);
VALA_EXTERN GType chrono_time_unit_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType chrono_en_constants_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoENConstants, g_object_unref)
VALA_EXTERN gint* chrono_en_constants_get_month (const gchar* name);
VALA_EXTERN ChronoTimeUnit* chrono_en_constants_get_time_unit (const gchar* name);
VALA_EXTERN ChronoENConstants* chrono_en_constants_new (void);
VALA_EXTERN ChronoENConstants* chrono_en_constants_construct (GType object_type);
VALA_EXTERN GType chrono_en_date_time_combo_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoENDateTimeComboParser, g_object_unref)
VALA_EXTERN ChronoENDateTimeComboParser* chrono_en_date_time_combo_parser_new (void);
VALA_EXTERN ChronoENDateTimeComboParser* chrono_en_date_time_combo_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_en_date_time_combo_parser_parse (ChronoENDateTimeComboParser* self,
                                                           const gchar* text);
VALA_EXTERN GType chrono_english_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoEnglishParser, g_object_unref)
VALA_EXTERN ChronoEnglishParser* chrono_english_parser_new (void);
VALA_EXTERN ChronoEnglishParser* chrono_english_parser_construct (GType object_type);
VALA_EXTERN GType chrono_en_month_name_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoENMonthNameParser, g_object_unref)
VALA_EXTERN ChronoENMonthNameParser* chrono_en_month_name_parser_new (void);
VALA_EXTERN ChronoENMonthNameParser* chrono_en_month_name_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_en_month_name_parser_parse (ChronoENMonthNameParser* self,
                                                      const gchar* text);
VALA_EXTERN GType chrono_en_recurrence_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoENRecurrenceParser, g_object_unref)
VALA_EXTERN ChronoENRecurrenceParser* chrono_en_recurrence_parser_new (void);
VALA_EXTERN ChronoENRecurrenceParser* chrono_en_recurrence_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_en_recurrence_parser_parse (ChronoENRecurrenceParser* self,
                                                      const gchar* text,
                                                      GDateTime* reference_date);
VALA_EXTERN GType chrono_en_relative_date_format_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoENRelativeDateFormatParser, g_object_unref)
VALA_EXTERN ChronoENRelativeDateFormatParser* chrono_en_relative_date_format_parser_new (void);
VALA_EXTERN ChronoENRelativeDateFormatParser* chrono_en_relative_date_format_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_en_relative_date_format_parser_parse (ChronoENRelativeDateFormatParser* self,
                                                                const gchar* text);
VALA_EXTERN GType chrono_en_time_expression_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoENTimeExpressionParser, g_object_unref)
VALA_EXTERN ChronoENTimeExpressionParser* chrono_en_time_expression_parser_new (void);
VALA_EXTERN ChronoENTimeExpressionParser* chrono_en_time_expression_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_en_time_expression_parser_parse (ChronoENTimeExpressionParser* self,
                                                           const gchar* text);
VALA_EXTERN GType chrono_es_casual_date_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoESCasualDateParser, g_object_unref)
VALA_EXTERN ChronoESCasualDateParser* chrono_es_casual_date_parser_new (void);
VALA_EXTERN ChronoESCasualDateParser* chrono_es_casual_date_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_es_casual_date_parser_parse (ChronoESCasualDateParser* self,
                                                       const gchar* text);
VALA_EXTERN GType chrono_es_casual_time_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoESCasualTimeParser, g_object_unref)
VALA_EXTERN ChronoESCasualTimeParser* chrono_es_casual_time_parser_new (void);
VALA_EXTERN ChronoESCasualTimeParser* chrono_es_casual_time_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_es_casual_time_parser_parse (ChronoESCasualTimeParser* self,
                                                       const gchar* text);
VALA_EXTERN GType chrono_es_constants_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoESConstants, g_object_unref)
VALA_EXTERN gint* chrono_es_constants_get_month (const gchar* name);
VALA_EXTERN ChronoTimeUnit* chrono_es_constants_get_time_unit (const gchar* name);
VALA_EXTERN ChronoESConstants* chrono_es_constants_new (void);
VALA_EXTERN ChronoESConstants* chrono_es_constants_construct (GType object_type);
VALA_EXTERN GType chrono_es_date_time_combo_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoESDateTimeComboParser, g_object_unref)
VALA_EXTERN ChronoESDateTimeComboParser* chrono_es_date_time_combo_parser_new (void);
VALA_EXTERN ChronoESDateTimeComboParser* chrono_es_date_time_combo_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_es_date_time_combo_parser_parse (ChronoESDateTimeComboParser* self,
                                                           const gchar* text);
VALA_EXTERN GType chrono_es_month_name_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoESMonthNameParser, g_object_unref)
VALA_EXTERN ChronoESMonthNameParser* chrono_es_month_name_parser_new (void);
VALA_EXTERN ChronoESMonthNameParser* chrono_es_month_name_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_es_month_name_parser_parse (ChronoESMonthNameParser* self,
                                                      const gchar* text);
VALA_EXTERN GType chrono_es_relative_date_format_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoESRelativeDateFormatParser, g_object_unref)
VALA_EXTERN ChronoESRelativeDateFormatParser* chrono_es_relative_date_format_parser_new (void);
VALA_EXTERN ChronoESRelativeDateFormatParser* chrono_es_relative_date_format_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_es_relative_date_format_parser_parse (ChronoESRelativeDateFormatParser* self,
                                                                const gchar* text);
VALA_EXTERN GType chrono_es_time_expression_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoESTimeExpressionParser, g_object_unref)
VALA_EXTERN ChronoESTimeExpressionParser* chrono_es_time_expression_parser_new (void);
VALA_EXTERN ChronoESTimeExpressionParser* chrono_es_time_expression_parser_construct (GType object_type);
VALA_EXTERN ChronoParseResult* chrono_es_time_expression_parser_parse (ChronoESTimeExpressionParser* self,
                                                           const gchar* text);
VALA_EXTERN GType chrono_spanish_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ChronoSpanishParser, g_object_unref)
VALA_EXTERN ChronoSpanishParser* chrono_spanish_parser_new (void);
VALA_EXTERN ChronoSpanishParser* chrono_spanish_parser_construct (GType object_type);

G_END_DECLS

#endif
