/* gtkaml.h generated by valac 0.16.1, the Vala compiler, do not modify */


#ifndef __GTKAML_H__
#define __GTKAML_H__

#include <glib.h>
#include <vala.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <glib-object.h>
#include <valagee.h>

G_BEGIN_DECLS


#define GTKAML_TYPE_CODE_CONTEXT (gtkaml_code_context_get_type ())
#define GTKAML_CODE_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_CODE_CONTEXT, GtkamlCodeContext))
#define GTKAML_CODE_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_TYPE_CODE_CONTEXT, GtkamlCodeContextClass))
#define GTKAML_IS_CODE_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_CODE_CONTEXT))
#define GTKAML_IS_CODE_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_TYPE_CODE_CONTEXT))
#define GTKAML_CODE_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_TYPE_CODE_CONTEXT, GtkamlCodeContextClass))

typedef struct _GtkamlCodeContext GtkamlCodeContext;
typedef struct _GtkamlCodeContextClass GtkamlCodeContextClass;
typedef struct _GtkamlCodeContextPrivate GtkamlCodeContextPrivate;

#define GTKAML_TYPE_MARKUP_RESOLVER (gtkaml_markup_resolver_get_type ())
#define GTKAML_MARKUP_RESOLVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_MARKUP_RESOLVER, GtkamlMarkupResolver))
#define GTKAML_MARKUP_RESOLVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_TYPE_MARKUP_RESOLVER, GtkamlMarkupResolverClass))
#define GTKAML_IS_MARKUP_RESOLVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_MARKUP_RESOLVER))
#define GTKAML_IS_MARKUP_RESOLVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_TYPE_MARKUP_RESOLVER))
#define GTKAML_MARKUP_RESOLVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_TYPE_MARKUP_RESOLVER, GtkamlMarkupResolverClass))

typedef struct _GtkamlMarkupResolver GtkamlMarkupResolver;
typedef struct _GtkamlMarkupResolverClass GtkamlMarkupResolverClass;

#define GTKAML_TYPE_CODE_PARSER_PROVIDER (gtkaml_code_parser_provider_get_type ())
#define GTKAML_CODE_PARSER_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_CODE_PARSER_PROVIDER, GtkamlCodeParserProvider))
#define GTKAML_IS_CODE_PARSER_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_CODE_PARSER_PROVIDER))
#define GTKAML_CODE_PARSER_PROVIDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTKAML_TYPE_CODE_PARSER_PROVIDER, GtkamlCodeParserProviderIface))

typedef struct _GtkamlCodeParserProvider GtkamlCodeParserProvider;
typedef struct _GtkamlCodeParserProviderIface GtkamlCodeParserProviderIface;

#define GTKAML_TYPE_VALA_PARSER (gtkaml_vala_parser_get_type ())
#define GTKAML_VALA_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_VALA_PARSER, GtkamlValaParser))
#define GTKAML_VALA_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_TYPE_VALA_PARSER, GtkamlValaParserClass))
#define GTKAML_IS_VALA_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_VALA_PARSER))
#define GTKAML_IS_VALA_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_TYPE_VALA_PARSER))
#define GTKAML_VALA_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_TYPE_VALA_PARSER, GtkamlValaParserClass))

typedef struct _GtkamlValaParser GtkamlValaParser;
typedef struct _GtkamlValaParserClass GtkamlValaParserClass;

#define GTKAML_TYPE_MARKUP_PARSER (gtkaml_markup_parser_get_type ())
#define GTKAML_MARKUP_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_MARKUP_PARSER, GtkamlMarkupParser))
#define GTKAML_MARKUP_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_TYPE_MARKUP_PARSER, GtkamlMarkupParserClass))
#define GTKAML_IS_MARKUP_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_MARKUP_PARSER))
#define GTKAML_IS_MARKUP_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_TYPE_MARKUP_PARSER))
#define GTKAML_MARKUP_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_TYPE_MARKUP_PARSER, GtkamlMarkupParserClass))

typedef struct _GtkamlMarkupParser GtkamlMarkupParser;
typedef struct _GtkamlMarkupParserClass GtkamlMarkupParserClass;
typedef struct _GtkamlMarkupParserPrivate GtkamlMarkupParserPrivate;

#define TYPE_GTKON_TOKEN_TYPE (gtkon_token_type_get_type ())
typedef struct _GtkonToken GtkonToken;

#define TYPE_GTKON_PARSER (gtkon_parser_get_type ())
#define GTKON_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GTKON_PARSER, GtkonParser))
#define GTKON_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GTKON_PARSER, GtkonParserClass))
#define IS_GTKON_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GTKON_PARSER))
#define IS_GTKON_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GTKON_PARSER))
#define GTKON_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GTKON_PARSER, GtkonParserClass))

typedef struct _GtkonParser GtkonParser;
typedef struct _GtkonParserClass GtkonParserClass;
typedef struct _GtkonParserPrivate GtkonParserPrivate;
typedef struct _GtkamlMarkupResolverPrivate GtkamlMarkupResolverPrivate;

#define GTKAML_TYPE_MARKUP_HINTS_STORE (gtkaml_markup_hints_store_get_type ())
#define GTKAML_MARKUP_HINTS_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_MARKUP_HINTS_STORE, GtkamlMarkupHintsStore))
#define GTKAML_MARKUP_HINTS_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_TYPE_MARKUP_HINTS_STORE, GtkamlMarkupHintsStoreClass))
#define GTKAML_IS_MARKUP_HINTS_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_MARKUP_HINTS_STORE))
#define GTKAML_IS_MARKUP_HINTS_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_TYPE_MARKUP_HINTS_STORE))
#define GTKAML_MARKUP_HINTS_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_TYPE_MARKUP_HINTS_STORE, GtkamlMarkupHintsStoreClass))

typedef struct _GtkamlMarkupHintsStore GtkamlMarkupHintsStore;
typedef struct _GtkamlMarkupHintsStoreClass GtkamlMarkupHintsStoreClass;

#define GTKAML_TYPE_MARKUPCLASS (gtkaml_markupclass_get_type ())
#define GTKAML_MARKUPCLASS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_MARKUPCLASS, GtkamlMarkupClass))
#define GTKAML_MARKUPCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_TYPE_MARKUPCLASS, GtkamlMarkupClassClass))
#define GTKAML_IS_MARKUPCLASS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_MARKUPCLASS))
#define GTKAML_IS_MARKUPCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_TYPE_MARKUPCLASS))
#define GTKAML_MARKUPCLASS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_TYPE_MARKUPCLASS, GtkamlMarkupClassClass))

typedef struct _GtkamlMarkupClass GtkamlMarkupClass;
typedef struct _GtkamlMarkupClassClass GtkamlMarkupClassClass;

#define GTKAML_AST_TYPE_MARKUP_TAG (gtkaml_ast_markup_tag_get_type ())
#define GTKAML_AST_MARKUP_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_AST_TYPE_MARKUP_TAG, GtkamlAstMarkupTag))
#define GTKAML_AST_MARKUP_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_AST_TYPE_MARKUP_TAG, GtkamlAstMarkupTagClass))
#define GTKAML_AST_IS_MARKUP_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_AST_TYPE_MARKUP_TAG))
#define GTKAML_AST_IS_MARKUP_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_AST_TYPE_MARKUP_TAG))
#define GTKAML_AST_MARKUP_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_AST_TYPE_MARKUP_TAG, GtkamlAstMarkupTagClass))

typedef struct _GtkamlAstMarkupTag GtkamlAstMarkupTag;
typedef struct _GtkamlAstMarkupTagClass GtkamlAstMarkupTagClass;

#define GTKAML_TYPE_CALLABLE (gtkaml_callable_get_type ())
#define GTKAML_CALLABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_CALLABLE, GtkamlCallable))
#define GTKAML_CALLABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_TYPE_CALLABLE, GtkamlCallableClass))
#define GTKAML_IS_CALLABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_CALLABLE))
#define GTKAML_IS_CALLABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_TYPE_CALLABLE))
#define GTKAML_CALLABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_TYPE_CALLABLE, GtkamlCallableClass))

typedef struct _GtkamlCallable GtkamlCallable;
typedef struct _GtkamlCallableClass GtkamlCallableClass;

#define GTKAML_AST_TYPE_MARKUP_ATTRIBUTE (gtkaml_ast_markup_attribute_get_type ())
#define GTKAML_AST_MARKUP_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_AST_TYPE_MARKUP_ATTRIBUTE, GtkamlAstMarkupAttribute))
#define GTKAML_AST_MARKUP_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_AST_TYPE_MARKUP_ATTRIBUTE, GtkamlAstMarkupAttributeClass))
#define GTKAML_AST_IS_MARKUP_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_AST_TYPE_MARKUP_ATTRIBUTE))
#define GTKAML_AST_IS_MARKUP_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_AST_TYPE_MARKUP_ATTRIBUTE))
#define GTKAML_AST_MARKUP_ATTRIBUTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_AST_TYPE_MARKUP_ATTRIBUTE, GtkamlAstMarkupAttributeClass))

typedef struct _GtkamlAstMarkupAttribute GtkamlAstMarkupAttribute;
typedef struct _GtkamlAstMarkupAttributeClass GtkamlAstMarkupAttributeClass;
typedef struct _GtkamlAstMarkupAttributePrivate GtkamlAstMarkupAttributePrivate;

#define GTKAML_AST_TYPE_MARKUP_COMPLEX_ATTRIBUTE (gtkaml_ast_markup_complex_attribute_get_type ())
#define GTKAML_AST_MARKUP_COMPLEX_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_AST_TYPE_MARKUP_COMPLEX_ATTRIBUTE, GtkamlAstMarkupComplexAttribute))
#define GTKAML_AST_MARKUP_COMPLEX_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_AST_TYPE_MARKUP_COMPLEX_ATTRIBUTE, GtkamlAstMarkupComplexAttributeClass))
#define GTKAML_AST_IS_MARKUP_COMPLEX_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_AST_TYPE_MARKUP_COMPLEX_ATTRIBUTE))
#define GTKAML_AST_IS_MARKUP_COMPLEX_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_AST_TYPE_MARKUP_COMPLEX_ATTRIBUTE))
#define GTKAML_AST_MARKUP_COMPLEX_ATTRIBUTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_AST_TYPE_MARKUP_COMPLEX_ATTRIBUTE, GtkamlAstMarkupComplexAttributeClass))

typedef struct _GtkamlAstMarkupComplexAttribute GtkamlAstMarkupComplexAttribute;
typedef struct _GtkamlAstMarkupComplexAttributeClass GtkamlAstMarkupComplexAttributeClass;
typedef struct _GtkamlAstMarkupComplexAttributePrivate GtkamlAstMarkupComplexAttributePrivate;
typedef struct _GtkamlMarkupClassPrivate GtkamlMarkupClassPrivate;

#define GTKAML_TYPE_MARKUP_NAMESPACE (gtkaml_markup_namespace_get_type ())
#define GTKAML_MARKUP_NAMESPACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_MARKUP_NAMESPACE, GtkamlMarkupNamespace))
#define GTKAML_MARKUP_NAMESPACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_TYPE_MARKUP_NAMESPACE, GtkamlMarkupNamespaceClass))
#define GTKAML_IS_MARKUP_NAMESPACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_MARKUP_NAMESPACE))
#define GTKAML_IS_MARKUP_NAMESPACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_TYPE_MARKUP_NAMESPACE))
#define GTKAML_MARKUP_NAMESPACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_TYPE_MARKUP_NAMESPACE, GtkamlMarkupNamespaceClass))

typedef struct _GtkamlMarkupNamespace GtkamlMarkupNamespace;
typedef struct _GtkamlMarkupNamespaceClass GtkamlMarkupNamespaceClass;
typedef struct _GtkamlAstMarkupTagPrivate GtkamlAstMarkupTagPrivate;

#define GTKAML_AST_TYPE_MARKUP_CHILD_TAG (gtkaml_ast_markup_child_tag_get_type ())
#define GTKAML_AST_MARKUP_CHILD_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_AST_TYPE_MARKUP_CHILD_TAG, GtkamlAstMarkupChildTag))
#define GTKAML_AST_MARKUP_CHILD_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_AST_TYPE_MARKUP_CHILD_TAG, GtkamlAstMarkupChildTagClass))
#define GTKAML_AST_IS_MARKUP_CHILD_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_AST_TYPE_MARKUP_CHILD_TAG))
#define GTKAML_AST_IS_MARKUP_CHILD_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_AST_TYPE_MARKUP_CHILD_TAG))
#define GTKAML_AST_MARKUP_CHILD_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_AST_TYPE_MARKUP_CHILD_TAG, GtkamlAstMarkupChildTagClass))

typedef struct _GtkamlAstMarkupChildTag GtkamlAstMarkupChildTag;
typedef struct _GtkamlAstMarkupChildTagClass GtkamlAstMarkupChildTagClass;

#define GTKAML_AST_TYPE_MARKUP_ROOT (gtkaml_ast_markup_root_get_type ())
#define GTKAML_AST_MARKUP_ROOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_AST_TYPE_MARKUP_ROOT, GtkamlAstMarkupRoot))
#define GTKAML_AST_MARKUP_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_AST_TYPE_MARKUP_ROOT, GtkamlAstMarkupRootClass))
#define GTKAML_AST_IS_MARKUP_ROOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_AST_TYPE_MARKUP_ROOT))
#define GTKAML_AST_IS_MARKUP_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_AST_TYPE_MARKUP_ROOT))
#define GTKAML_AST_MARKUP_ROOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_AST_TYPE_MARKUP_ROOT, GtkamlAstMarkupRootClass))

typedef struct _GtkamlAstMarkupRoot GtkamlAstMarkupRoot;
typedef struct _GtkamlAstMarkupRootClass GtkamlAstMarkupRootClass;
typedef struct _GtkamlAstMarkupRootPrivate GtkamlAstMarkupRootPrivate;
typedef struct _GtkamlAstMarkupChildTagPrivate GtkamlAstMarkupChildTagPrivate;

#define GTKAML_AST_TYPE_MARKUP_UNRESOLVED_TAG (gtkaml_ast_markup_unresolved_tag_get_type ())
#define GTKAML_AST_MARKUP_UNRESOLVED_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_AST_TYPE_MARKUP_UNRESOLVED_TAG, GtkamlAstMarkupUnresolvedTag))
#define GTKAML_AST_MARKUP_UNRESOLVED_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_AST_TYPE_MARKUP_UNRESOLVED_TAG, GtkamlAstMarkupUnresolvedTagClass))
#define GTKAML_AST_IS_MARKUP_UNRESOLVED_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_AST_TYPE_MARKUP_UNRESOLVED_TAG))
#define GTKAML_AST_IS_MARKUP_UNRESOLVED_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_AST_TYPE_MARKUP_UNRESOLVED_TAG))
#define GTKAML_AST_MARKUP_UNRESOLVED_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_AST_TYPE_MARKUP_UNRESOLVED_TAG, GtkamlAstMarkupUnresolvedTagClass))

typedef struct _GtkamlAstMarkupUnresolvedTag GtkamlAstMarkupUnresolvedTag;
typedef struct _GtkamlAstMarkupUnresolvedTagClass GtkamlAstMarkupUnresolvedTagClass;
typedef struct _GtkamlAstMarkupUnresolvedTagPrivate GtkamlAstMarkupUnresolvedTagPrivate;

#define GTKAML_AST_TYPE_MARKUP_MEMBER (gtkaml_ast_markup_member_get_type ())
#define GTKAML_AST_MARKUP_MEMBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_AST_TYPE_MARKUP_MEMBER, GtkamlAstMarkupMember))
#define GTKAML_AST_MARKUP_MEMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_AST_TYPE_MARKUP_MEMBER, GtkamlAstMarkupMemberClass))
#define GTKAML_AST_IS_MARKUP_MEMBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_AST_TYPE_MARKUP_MEMBER))
#define GTKAML_AST_IS_MARKUP_MEMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_AST_TYPE_MARKUP_MEMBER))
#define GTKAML_AST_MARKUP_MEMBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_AST_TYPE_MARKUP_MEMBER, GtkamlAstMarkupMemberClass))

typedef struct _GtkamlAstMarkupMember GtkamlAstMarkupMember;
typedef struct _GtkamlAstMarkupMemberClass GtkamlAstMarkupMemberClass;
typedef struct _GtkamlAstMarkupMemberPrivate GtkamlAstMarkupMemberPrivate;

#define GTKAML_TYPE_PROPERTY_SPEC (gtkaml_property_spec_get_type ())
#define GTKAML_PROPERTY_SPEC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_PROPERTY_SPEC, GtkamlPropertySpec))
#define GTKAML_PROPERTY_SPEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_TYPE_PROPERTY_SPEC, GtkamlPropertySpecClass))
#define GTKAML_IS_PROPERTY_SPEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_PROPERTY_SPEC))
#define GTKAML_IS_PROPERTY_SPEC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_TYPE_PROPERTY_SPEC))
#define GTKAML_PROPERTY_SPEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_TYPE_PROPERTY_SPEC, GtkamlPropertySpecClass))

typedef struct _GtkamlPropertySpec GtkamlPropertySpec;
typedef struct _GtkamlPropertySpecClass GtkamlPropertySpecClass;

#define GTKAML_AST_TYPE_MARKUP_TEMP (gtkaml_ast_markup_temp_get_type ())
#define GTKAML_AST_MARKUP_TEMP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_AST_TYPE_MARKUP_TEMP, GtkamlAstMarkupTemp))
#define GTKAML_AST_MARKUP_TEMP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_AST_TYPE_MARKUP_TEMP, GtkamlAstMarkupTempClass))
#define GTKAML_AST_IS_MARKUP_TEMP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_AST_TYPE_MARKUP_TEMP))
#define GTKAML_AST_IS_MARKUP_TEMP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_AST_TYPE_MARKUP_TEMP))
#define GTKAML_AST_MARKUP_TEMP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_AST_TYPE_MARKUP_TEMP, GtkamlAstMarkupTempClass))

typedef struct _GtkamlAstMarkupTemp GtkamlAstMarkupTemp;
typedef struct _GtkamlAstMarkupTempClass GtkamlAstMarkupTempClass;
typedef struct _GtkamlAstMarkupTempPrivate GtkamlAstMarkupTempPrivate;

#define GTKAML_AST_TYPE_MARKUP_REFERENCE (gtkaml_ast_markup_reference_get_type ())
#define GTKAML_AST_MARKUP_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_AST_TYPE_MARKUP_REFERENCE, GtkamlAstMarkupReference))
#define GTKAML_AST_MARKUP_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_AST_TYPE_MARKUP_REFERENCE, GtkamlAstMarkupReferenceClass))
#define GTKAML_AST_IS_MARKUP_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_AST_TYPE_MARKUP_REFERENCE))
#define GTKAML_AST_IS_MARKUP_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_AST_TYPE_MARKUP_REFERENCE))
#define GTKAML_AST_MARKUP_REFERENCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_AST_TYPE_MARKUP_REFERENCE, GtkamlAstMarkupReferenceClass))

typedef struct _GtkamlAstMarkupReference GtkamlAstMarkupReference;
typedef struct _GtkamlAstMarkupReferenceClass GtkamlAstMarkupReferenceClass;
typedef struct _GtkamlAstMarkupReferencePrivate GtkamlAstMarkupReferencePrivate;
typedef struct _GtkamlMarkupNamespacePrivate GtkamlMarkupNamespacePrivate;

#define GTKAML_TYPE_MARKUP_HINT (gtkaml_markup_hint_get_type ())
#define GTKAML_MARKUP_HINT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_MARKUP_HINT, GtkamlMarkupHint))
#define GTKAML_MARKUP_HINT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_TYPE_MARKUP_HINT, GtkamlMarkupHintClass))
#define GTKAML_IS_MARKUP_HINT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_MARKUP_HINT))
#define GTKAML_IS_MARKUP_HINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_TYPE_MARKUP_HINT))
#define GTKAML_MARKUP_HINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_TYPE_MARKUP_HINT, GtkamlMarkupHintClass))

typedef struct _GtkamlMarkupHint GtkamlMarkupHint;
typedef struct _GtkamlMarkupHintClass GtkamlMarkupHintClass;
typedef struct _GtkamlMarkupHintPrivate GtkamlMarkupHintPrivate;

#define GTKAML_TYPE_PAIR (gtkaml_pair_get_type ())
#define GTKAML_PAIR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKAML_TYPE_PAIR, GtkamlPair))
#define GTKAML_PAIR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKAML_TYPE_PAIR, GtkamlPairClass))
#define GTKAML_IS_PAIR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKAML_TYPE_PAIR))
#define GTKAML_IS_PAIR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKAML_TYPE_PAIR))
#define GTKAML_PAIR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKAML_TYPE_PAIR, GtkamlPairClass))

typedef struct _GtkamlPair GtkamlPair;
typedef struct _GtkamlPairClass GtkamlPairClass;
typedef struct _GtkamlPairPrivate GtkamlPairPrivate;
typedef struct _GtkamlMarkupHintsStorePrivate GtkamlMarkupHintsStorePrivate;
typedef struct _GtkamlPropertySpecPrivate GtkamlPropertySpecPrivate;
typedef struct _GtkamlCallablePrivate GtkamlCallablePrivate;
typedef struct _GtkamlValaParserPrivate GtkamlValaParserPrivate;

struct _GtkamlCodeContext {
	ValaCodeContext parent_instance;
	GtkamlCodeContextPrivate * priv;
};

struct _GtkamlCodeContextClass {
	ValaCodeContextClass parent_class;
};

struct _GtkamlCodeParserProviderIface {
	GTypeInterface parent_iface;
	GtkamlValaParser* (*get_code_parser) (GtkamlCodeParserProvider* self);
	void (*set_code_parser) (GtkamlCodeParserProvider* self, GtkamlValaParser* value);
};

struct _GtkamlMarkupParser {
	ValaCodeVisitor parent_instance;
	GtkamlMarkupParserPrivate * priv;
};

struct _GtkamlMarkupParserClass {
	ValaCodeVisitorClass parent_class;
};

typedef enum  {
	GTKON_TOKEN_TYPE_CODE,
	GTKON_TOKEN_TYPE_CLASS,
	GTKON_TOKEN_TYPE_COMMENT_LINE,
	GTKON_TOKEN_TYPE_COMMENT_BLOCK,
	GTKON_TOKEN_TYPE_ATTRIBUTE,
	GTKON_TOKEN_TYPE_BEGIN,
	GTKON_TOKEN_TYPE_END,
	GTKON_TOKEN_TYPE_INVALID
} GtkonTokenType;

struct _GtkonToken {
	guchar quoted;
	gchar* str;
	GtkonTokenType type;
	GDataInputStream* dis;
	gint bracket;
};

struct _GtkonParser {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GtkonParserPrivate * priv;
};

struct _GtkonParserClass {
	GTypeClass parent_class;
	void (*finalize) (GtkonParser *self);
};

struct _GtkamlMarkupResolver {
	ValaSymbolResolver parent_instance;
	GtkamlMarkupResolverPrivate * priv;
	GtkamlMarkupHintsStore* markup_hints;
};

struct _GtkamlMarkupResolverClass {
	ValaSymbolResolverClass parent_class;
};

struct _GtkamlAstMarkupAttribute {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GtkamlAstMarkupAttributePrivate * priv;
	ValaSourceReference* source_reference;
	gchar* _attribute_name;
	ValaSignal* signal;
};

struct _GtkamlAstMarkupAttributeClass {
	GTypeClass parent_class;
	void (*finalize) (GtkamlAstMarkupAttribute *self);
	ValaExpression* (*get_expression) (GtkamlAstMarkupAttribute* self, GtkamlMarkupResolver* resolver, GtkamlAstMarkupTag* markup_tag, GError** error);
	ValaStatement* (*get_assignment) (GtkamlAstMarkupAttribute* self, GtkamlMarkupResolver* resolver, GtkamlAstMarkupTag* markup_tag, GError** error);
	void (*resolve) (GtkamlAstMarkupAttribute* self, GtkamlMarkupResolver* resolver, GtkamlAstMarkupTag* markup_tag, GError** error);
};

struct _GtkamlAstMarkupComplexAttribute {
	GtkamlAstMarkupAttribute parent_instance;
	GtkamlAstMarkupComplexAttributePrivate * priv;
	GtkamlAstMarkupTag* value_tag;
};

struct _GtkamlAstMarkupComplexAttributeClass {
	GtkamlAstMarkupAttributeClass parent_class;
};

struct _GtkamlMarkupClass {
	ValaClass parent_instance;
	GtkamlMarkupClassPrivate * priv;
};

struct _GtkamlMarkupClassClass {
	ValaClassClass parent_class;
};

struct _GtkamlAstMarkupTag {
	GObject parent_instance;
	GtkamlAstMarkupTagPrivate * priv;
	ValaList* child_tags;
	ValaList* markup_attributes;
	gchar* construct_text;
	gchar* preconstruct_text;
	ValaList* creation_parameters;
	ValaCreationMethod* creation_method;
};

struct _GtkamlAstMarkupTagClass {
	GObjectClass parent_class;
	void (*generate_public_ast) (GtkamlAstMarkupTag* self, GtkamlCodeParserProvider* parser, GError** error);
	GtkamlAstMarkupTag* (*resolve) (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
	void (*resolve_attributes) (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
	void (*generate) (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
	void (*generate_attributes) (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
	void (*generate_preconstruct) (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
	void (*generate_construct) (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
	void (*resolve_creation_method) (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver);
	void (*resolve_creation_method_failed) (GtkamlAstMarkupTag* self, ValaSourceReference* source_reference, const gchar* message);
	ValaList* (*get_creation_method_candidates) (GtkamlAstMarkupTag* self);
	const gchar* (*get_me) (GtkamlAstMarkupTag* self);
};

struct _GtkamlAstMarkupRoot {
	GtkamlAstMarkupTag parent_instance;
	GtkamlAstMarkupRootPrivate * priv;
};

struct _GtkamlAstMarkupRootClass {
	GtkamlAstMarkupTagClass parent_class;
};

struct _GtkamlAstMarkupChildTag {
	GtkamlAstMarkupTag parent_instance;
	GtkamlAstMarkupChildTagPrivate * priv;
	ValaList* composition_parameters;
	GtkamlCallable* composition_method;
};

struct _GtkamlAstMarkupChildTagClass {
	GtkamlAstMarkupTagClass parent_class;
};

struct _GtkamlAstMarkupUnresolvedTag {
	GtkamlAstMarkupChildTag parent_instance;
	GtkamlAstMarkupUnresolvedTagPrivate * priv;
};

struct _GtkamlAstMarkupUnresolvedTagClass {
	GtkamlAstMarkupChildTagClass parent_class;
};

struct _GtkamlAstMarkupMember {
	GtkamlAstMarkupChildTag parent_instance;
	GtkamlAstMarkupMemberPrivate * priv;
};

struct _GtkamlAstMarkupMemberClass {
	GtkamlAstMarkupChildTagClass parent_class;
};

struct _GtkamlAstMarkupTemp {
	GtkamlAstMarkupChildTag parent_instance;
	GtkamlAstMarkupTempPrivate * priv;
};

struct _GtkamlAstMarkupTempClass {
	GtkamlAstMarkupChildTagClass parent_class;
};

struct _GtkamlAstMarkupReference {
	GtkamlAstMarkupChildTag parent_instance;
	GtkamlAstMarkupReferencePrivate * priv;
};

struct _GtkamlAstMarkupReferenceClass {
	GtkamlAstMarkupChildTagClass parent_class;
};

struct _GtkamlMarkupNamespace {
	ValaUnresolvedSymbol parent_instance;
	GtkamlMarkupNamespacePrivate * priv;
};

struct _GtkamlMarkupNamespaceClass {
	ValaUnresolvedSymbolClass parent_class;
};

struct _GtkamlMarkupHint {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GtkamlMarkupHintPrivate * priv;
	gchar* target;
};

struct _GtkamlMarkupHintClass {
	GTypeClass parent_class;
	void (*finalize) (GtkamlMarkupHint *self);
};

struct _GtkamlPair {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GtkamlPairPrivate * priv;
	gpointer name;
	gpointer value;
};

struct _GtkamlPairClass {
	GTypeClass parent_class;
	void (*finalize) (GtkamlPair *self);
};

struct _GtkamlMarkupHintsStore {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GtkamlMarkupHintsStorePrivate * priv;
	ValaMap* markup_hints;
	GtkamlCodeContext* context;
};

struct _GtkamlMarkupHintsStoreClass {
	GTypeClass parent_class;
	void (*finalize) (GtkamlMarkupHintsStore *self);
};

struct _GtkamlPropertySpec {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GtkamlPropertySpecPrivate * priv;
	ValaSymbolAccessibility* getter_accessibility;
	ValaSymbolAccessibility* setter_accessibility;
};

struct _GtkamlPropertySpecClass {
	GTypeClass parent_class;
	void (*finalize) (GtkamlPropertySpec *self);
};

struct _GtkamlCallable {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GtkamlCallablePrivate * priv;
};

struct _GtkamlCallableClass {
	GTypeClass parent_class;
	void (*finalize) (GtkamlCallable *self);
};

struct _GtkamlValaParser {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GtkamlValaParserPrivate * priv;
	GtkamlCodeContext* real_context;
	ValaList* temp_source_files;
};

struct _GtkamlValaParserClass {
	GTypeClass parent_class;
	void (*finalize) (GtkamlValaParser *self);
};


GType gtkaml_code_context_get_type (void) G_GNUC_CONST;
GtkamlCodeContext* gtkaml_code_context_new (void);
GtkamlCodeContext* gtkaml_code_context_construct (GType object_type);
void gtkaml_code_context_check (GtkamlCodeContext* self);
gchar* gtkaml_code_context_get_markuphints_path (GtkamlCodeContext* self, const gchar* pkg);
GType gtkaml_markup_resolver_get_type (void) G_GNUC_CONST;
GtkamlMarkupResolver* gtkaml_code_context_get_markup_resolver (GtkamlCodeContext* self);
ValaSymbolResolver* gtkaml_code_context_get_resolver (GtkamlCodeContext* self);
gpointer gtkaml_vala_parser_ref (gpointer instance);
void gtkaml_vala_parser_unref (gpointer instance);
GParamSpec* gtkaml_param_spec_vala_parser (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gtkaml_value_set_vala_parser (GValue* value, gpointer v_object);
void gtkaml_value_take_vala_parser (GValue* value, gpointer v_object);
gpointer gtkaml_value_get_vala_parser (const GValue* value);
GType gtkaml_vala_parser_get_type (void) G_GNUC_CONST;
GType gtkaml_code_parser_provider_get_type (void) G_GNUC_CONST;
GType gtkaml_markup_parser_get_type (void) G_GNUC_CONST;
GtkamlMarkupParser* gtkaml_markup_parser_new (void);
GtkamlMarkupParser* gtkaml_markup_parser_construct (GType object_type);
void gtkaml_markup_parser_parse (GtkamlMarkupParser* self, GtkamlCodeContext* context);
void gtkaml_markup_parser_parse_markup (GtkamlMarkupParser* self, ValaSourceFile* source_file);
GType gtkon_token_type_get_type (void) G_GNUC_CONST;
extern gboolean genie_mode;
extern gint genie_indent;
extern gboolean nextiscode;
extern gint spaces;
extern gboolean newkeyword;
extern gint ospaces;
extern gboolean checkforindent;
void gtkon_token_free (GtkonToken* self);
GtkonToken* gtkon_token_new_copy (GtkonToken* src);
GtkonToken* gtkon_token_new_copy (GtkonToken* src);
GtkonToken* gtkon_token_new (GDataInputStream* dis, GError** error);
GtkonToken* gtkon_token_new (GDataInputStream* dis, GError** error);
gboolean gtkon_token_update (GtkonToken* self, guchar ch);
gchar* gtkon_token_to_xml (GtkonToken* self);
gpointer gtkon_parser_ref (gpointer instance);
void gtkon_parser_unref (gpointer instance);
GParamSpec* param_spec_gtkon_parser (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_gtkon_parser (GValue* value, gpointer v_object);
void value_take_gtkon_parser (GValue* value, gpointer v_object);
gpointer value_get_gtkon_parser (const GValue* value);
GType gtkon_parser_get_type (void) G_GNUC_CONST;
GtkonParser* gtkon_parser_new (void);
GtkonParser* gtkon_parser_construct (GType object_type);
void gtkon_parser_parse_format (GtkonParser* self, const gchar* format);
void gtkon_parser_use_genie (GtkonParser* self, gboolean use);
void gtkon_parser_parse_file (GtkonParser* self, const gchar* filename);
void gtkon_parser_to_file (GtkonParser* self, const gchar* filename);
gchar* gtkon_parser_to_string (GtkonParser* self);
gpointer gtkaml_markup_hints_store_ref (gpointer instance);
void gtkaml_markup_hints_store_unref (gpointer instance);
GParamSpec* gtkaml_param_spec_markup_hints_store (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gtkaml_value_set_markup_hints_store (GValue* value, gpointer v_object);
void gtkaml_value_take_markup_hints_store (GValue* value, gpointer v_object);
gpointer gtkaml_value_get_markup_hints_store (const GValue* value);
GType gtkaml_markup_hints_store_get_type (void) G_GNUC_CONST;
void gtkaml_markup_resolver_resolve (GtkamlMarkupResolver* self, GtkamlCodeContext* context);
GType gtkaml_markupclass_get_type (void) G_GNUC_CONST;
void gtkaml_markup_resolver_visit_markup_class (GtkamlMarkupResolver* self, GtkamlMarkupClass* mcl);
ValaSymbol* gtkaml_markup_resolver_search_symbol (GtkamlMarkupResolver* self, ValaObjectTypeSymbol* type, const gchar* sym_name);
GType gtkaml_ast_markup_tag_get_type (void) G_GNUC_CONST;
gboolean gtkaml_markup_resolver_resolve_markup_tag (GtkamlMarkupResolver* self, GtkamlAstMarkupTag* markup_tag, GError** error);
void gtkaml_markup_resolver_generate_markup_tag (GtkamlMarkupResolver* self, GtkamlAstMarkupTag* markup_tag, GError** error);
gpointer gtkaml_callable_ref (gpointer instance);
void gtkaml_callable_unref (gpointer instance);
GParamSpec* gtkaml_param_spec_callable (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gtkaml_value_set_callable (GValue* value, gpointer v_object);
void gtkaml_value_take_callable (GValue* value, gpointer v_object);
gpointer gtkaml_value_get_callable (const GValue* value);
GType gtkaml_callable_get_type (void) G_GNUC_CONST;
gpointer gtkaml_ast_markup_attribute_ref (gpointer instance);
void gtkaml_ast_markup_attribute_unref (gpointer instance);
GParamSpec* gtkaml_ast_param_spec_markup_attribute (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gtkaml_ast_value_set_markup_attribute (GValue* value, gpointer v_object);
void gtkaml_ast_value_take_markup_attribute (GValue* value, gpointer v_object);
gpointer gtkaml_ast_value_get_markup_attribute (const GValue* value);
GType gtkaml_ast_markup_attribute_get_type (void) G_GNUC_CONST;
ValaList* gtkaml_markup_resolver_get_default_parameters (GtkamlMarkupResolver* self, const gchar* full_type_name, GtkamlCallable* m, ValaSourceReference* source_reference);
ValaList* gtkaml_markup_resolver_get_composition_method_candidates (GtkamlMarkupResolver* self, ValaTypeSymbol* parent_tag_symbol);
ValaList* gtkaml_markup_resolver_get_composition_methods_cached (GtkamlMarkupResolver* self, ValaTypeSymbol* parent_tag_symbol, ValaSet* visited);
ValaSymbol* gtkaml_markup_resolver_search_method_or_signal (GtkamlMarkupResolver* self, ValaTypeSymbol* type, const gchar* name);
GtkamlMarkupResolver* gtkaml_markup_resolver_new (void);
GtkamlMarkupResolver* gtkaml_markup_resolver_construct (GType object_type);
GtkamlValaParser* gtkaml_code_parser_provider_get_code_parser (GtkamlCodeParserProvider* self);
void gtkaml_code_parser_provider_set_code_parser (GtkamlCodeParserProvider* self, GtkamlValaParser* value);
GtkamlAstMarkupAttribute* gtkaml_ast_markup_attribute_new (const gchar* attribute_name, const gchar* attribute_value, ValaSourceReference* source_reference);
GtkamlAstMarkupAttribute* gtkaml_ast_markup_attribute_construct (GType object_type, const gchar* attribute_name, const gchar* attribute_value, ValaSourceReference* source_reference);
GtkamlAstMarkupAttribute* gtkaml_ast_markup_attribute_new_with_type (const gchar* attribute_name, const gchar* attribute_value, ValaDataType* target_type, ValaSourceReference* source_reference);
GtkamlAstMarkupAttribute* gtkaml_ast_markup_attribute_construct_with_type (GType object_type, const gchar* attribute_name, const gchar* attribute_value, ValaDataType* target_type, ValaSourceReference* source_reference);
ValaExpression* gtkaml_ast_markup_attribute_get_expression (GtkamlAstMarkupAttribute* self, GtkamlMarkupResolver* resolver, GtkamlAstMarkupTag* markup_tag, GError** error);
ValaStatement* gtkaml_ast_markup_attribute_get_assignment (GtkamlAstMarkupAttribute* self, GtkamlMarkupResolver* resolver, GtkamlAstMarkupTag* markup_tag, GError** error);
void gtkaml_ast_markup_attribute_resolve (GtkamlAstMarkupAttribute* self, GtkamlMarkupResolver* resolver, GtkamlAstMarkupTag* markup_tag, GError** error);
ValaExpression* gtkaml_ast_markup_attribute_generate_literal (GtkamlAstMarkupAttribute* self, const gchar* stripped_value);
ValaDataType* gtkaml_ast_markup_attribute_get_target_type (GtkamlAstMarkupAttribute* self);
void gtkaml_ast_markup_attribute_set_target_type (GtkamlAstMarkupAttribute* self, ValaDataType* value);
const gchar* gtkaml_ast_markup_attribute_get_attribute_name (GtkamlAstMarkupAttribute* self);
const gchar* gtkaml_ast_markup_attribute_get_attribute_value (GtkamlAstMarkupAttribute* self);
GType gtkaml_ast_markup_complex_attribute_get_type (void) G_GNUC_CONST;
GtkamlAstMarkupComplexAttribute* gtkaml_ast_markup_complex_attribute_new (const gchar* attribute_name, GtkamlAstMarkupTag* parent_tag, GtkamlAstMarkupTag* value_tag, ValaSourceReference* source_reference);
GtkamlAstMarkupComplexAttribute* gtkaml_ast_markup_complex_attribute_construct (GType object_type, const gchar* attribute_name, GtkamlAstMarkupTag* parent_tag, GtkamlAstMarkupTag* value_tag, ValaSourceReference* source_reference);
GType gtkaml_markup_namespace_get_type (void) G_GNUC_CONST;
GtkamlMarkupClass* gtkaml_markupclass_new (const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, const gchar* class_name, ValaSourceReference* source_reference);
GtkamlMarkupClass* gtkaml_markupclass_construct (GType object_type, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, const gchar* class_name, ValaSourceReference* source_reference);
GtkamlAstMarkupTag* gtkaml_markupclass_get_markup_root (GtkamlMarkupClass* self);
void gtkaml_markupclass_set_markup_root (GtkamlMarkupClass* self, GtkamlAstMarkupTag* value);
GType gtkaml_ast_markup_child_tag_get_type (void) G_GNUC_CONST;
GtkamlAstMarkupTag* gtkaml_ast_markup_tag_construct (GType object_type, GtkamlMarkupClass* markup_class, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, ValaSourceReference* source_reference);
void gtkaml_ast_markup_tag_generate_public_ast (GtkamlAstMarkupTag* self, GtkamlCodeParserProvider* parser, GError** error);
GtkamlAstMarkupTag* gtkaml_ast_markup_tag_resolve (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
void gtkaml_ast_markup_tag_resolve_attributes (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
void gtkaml_ast_markup_tag_generate (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
void gtkaml_ast_markup_tag_generate_attributes (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
void gtkaml_ast_markup_tag_generate_preconstruct (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
void gtkaml_ast_markup_tag_generate_construct (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver, GError** error);
void gtkaml_ast_markup_tag_resolve_creation_method (GtkamlAstMarkupTag* self, GtkamlMarkupResolver* resolver);
void gtkaml_ast_markup_tag_resolve_creation_method_failed (GtkamlAstMarkupTag* self, ValaSourceReference* source_reference, const gchar* message);
ValaList* gtkaml_ast_markup_tag_get_creation_method_candidates (GtkamlAstMarkupTag* self);
ValaList* gtkaml_ast_markup_tag_get_child_tags (GtkamlAstMarkupTag* self);
void gtkaml_ast_markup_tag_add_child_tag (GtkamlAstMarkupTag* self, GtkamlAstMarkupChildTag* child_tag);
void gtkaml_ast_markup_tag_replace_child_tag (GtkamlAstMarkupTag* self, GtkamlAstMarkupChildTag* old_child, GtkamlAstMarkupChildTag* new_child);
void gtkaml_ast_markup_tag_remove_child_tag (GtkamlAstMarkupTag* self, GtkamlAstMarkupChildTag* old_child);
ValaList* gtkaml_ast_markup_tag_get_markup_attributes (GtkamlAstMarkupTag* self);
void gtkaml_ast_markup_tag_add_markup_attribute (GtkamlAstMarkupTag* self, GtkamlAstMarkupAttribute* markup_attribute);
GtkamlAstMarkupAttribute* gtkaml_ast_markup_tag_get_attribute (GtkamlAstMarkupTag* self, const gchar* name);
void gtkaml_ast_markup_tag_remove_attribute (GtkamlAstMarkupTag* self, GtkamlAstMarkupAttribute* attribute);
ValaMemberAccess* gtkaml_ast_markup_tag_get_class_expression (GtkamlAstMarkupTag* self);
const gchar* gtkaml_ast_markup_tag_get_text (GtkamlAstMarkupTag* self);
void gtkaml_ast_markup_tag_set_text (GtkamlAstMarkupTag* self, const gchar* value);
const gchar* gtkaml_ast_markup_tag_get_tag_name (GtkamlAstMarkupTag* self);
void gtkaml_ast_markup_tag_set_tag_name (GtkamlAstMarkupTag* self, const gchar* value);
GtkamlMarkupNamespace* gtkaml_ast_markup_tag_get_tag_namespace (GtkamlAstMarkupTag* self);
void gtkaml_ast_markup_tag_set_tag_namespace (GtkamlAstMarkupTag* self, GtkamlMarkupNamespace* value);
GtkamlMarkupClass* gtkaml_ast_markup_tag_get_markup_class (GtkamlAstMarkupTag* self);
ValaSourceReference* gtkaml_ast_markup_tag_get_source_reference (GtkamlAstMarkupTag* self);
void gtkaml_ast_markup_tag_set_source_reference (GtkamlAstMarkupTag* self, ValaSourceReference* value);
const gchar* gtkaml_ast_markup_tag_get_me (GtkamlAstMarkupTag* self);
ValaDataType* gtkaml_ast_markup_tag_get_data_type (GtkamlAstMarkupTag* self);
void gtkaml_ast_markup_tag_set_data_type (GtkamlAstMarkupTag* self, ValaDataType* value);
ValaDataType* gtkaml_ast_markup_tag_get_resolved_type (GtkamlAstMarkupTag* self);
const gchar* gtkaml_ast_markup_tag_get_full_name (GtkamlAstMarkupTag* self);
GType gtkaml_ast_markup_root_get_type (void) G_GNUC_CONST;
GtkamlAstMarkupRoot* gtkaml_ast_markup_root_new (GtkamlMarkupClass* markup_class, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, ValaSourceReference* source_reference);
GtkamlAstMarkupRoot* gtkaml_ast_markup_root_construct (GType object_type, GtkamlMarkupClass* markup_class, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, ValaSourceReference* source_reference);
GtkamlAstMarkupChildTag* gtkaml_ast_markup_child_tag_construct (GType object_type, GtkamlAstMarkupTag* parent_tag, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, ValaSourceReference* source_reference);
void gtkaml_ast_markup_child_tag_resolve_composition_method (GtkamlAstMarkupChildTag* self, GtkamlMarkupResolver* resolver, GError** error);
ValaObjectCreationExpression* gtkaml_ast_markup_child_tag_get_initializer (GtkamlAstMarkupChildTag* self, GtkamlMarkupResolver* resolver, GError** error);
void gtkaml_ast_markup_child_tag_generate_add (GtkamlAstMarkupChildTag* self, GtkamlMarkupResolver* resolver, GError** error);
gboolean gtkaml_ast_markup_child_tag_get_standalone (GtkamlAstMarkupChildTag* self);
void gtkaml_ast_markup_child_tag_set_standalone (GtkamlAstMarkupChildTag* self, gboolean value);
GtkamlAstMarkupTag* gtkaml_ast_markup_child_tag_get_parent_tag (GtkamlAstMarkupChildTag* self);
void gtkaml_ast_markup_child_tag_set_parent_tag (GtkamlAstMarkupChildTag* self, GtkamlAstMarkupTag* value);
GType gtkaml_ast_markup_unresolved_tag_get_type (void) G_GNUC_CONST;
GtkamlAstMarkupUnresolvedTag* gtkaml_ast_markup_unresolved_tag_new (GtkamlAstMarkupTag* parent_tag, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, ValaSourceReference* source_reference);
GtkamlAstMarkupUnresolvedTag* gtkaml_ast_markup_unresolved_tag_construct (GType object_type, GtkamlAstMarkupTag* parent_tag, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, ValaSourceReference* source_reference);
GType gtkaml_ast_markup_member_get_type (void) G_GNUC_CONST;
gpointer gtkaml_property_spec_ref (gpointer instance);
void gtkaml_property_spec_unref (gpointer instance);
GParamSpec* gtkaml_param_spec_property_spec (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gtkaml_value_set_property_spec (GValue* value, gpointer v_object);
void gtkaml_value_take_property_spec (GValue* value, gpointer v_object);
gpointer gtkaml_value_get_property_spec (const GValue* value);
GType gtkaml_property_spec_get_type (void) G_GNUC_CONST;
GtkamlAstMarkupMember* gtkaml_ast_markup_member_new (GtkamlAstMarkupTag* parent_tag, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, const gchar* member_name, ValaSymbolAccessibility access, GtkamlPropertySpec* property_spec, ValaSourceReference* source_reference);
GtkamlAstMarkupMember* gtkaml_ast_markup_member_construct (GType object_type, GtkamlAstMarkupTag* parent_tag, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, const gchar* member_name, ValaSymbolAccessibility access, GtkamlPropertySpec* property_spec, ValaSourceReference* source_reference);
const gchar* gtkaml_ast_markup_member_get_member_name (GtkamlAstMarkupMember* self);
ValaSymbolAccessibility gtkaml_ast_markup_member_get_access (GtkamlAstMarkupMember* self);
GtkamlPropertySpec* gtkaml_ast_markup_member_get_property_spec (GtkamlAstMarkupMember* self);
GType gtkaml_ast_markup_temp_get_type (void) G_GNUC_CONST;
GtkamlAstMarkupTemp* gtkaml_ast_markup_temp_new (GtkamlAstMarkupTag* parent_tag, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, ValaSourceReference* source_reference);
GtkamlAstMarkupTemp* gtkaml_ast_markup_temp_construct (GType object_type, GtkamlAstMarkupTag* parent_tag, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, ValaSourceReference* source_reference);
GType gtkaml_ast_markup_reference_get_type (void) G_GNUC_CONST;
GtkamlAstMarkupReference* gtkaml_ast_markup_reference_new (GtkamlAstMarkupTag* parent_tag, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, const gchar* existing_name, ValaSourceReference* source_reference);
GtkamlAstMarkupReference* gtkaml_ast_markup_reference_construct (GType object_type, GtkamlAstMarkupTag* parent_tag, const gchar* tag_name, GtkamlMarkupNamespace* tag_namespace, const gchar* existing_name, ValaSourceReference* source_reference);
const gchar* gtkaml_ast_markup_reference_get_existing_name (GtkamlAstMarkupReference* self);
GtkamlMarkupNamespace* gtkaml_markup_namespace_new (ValaUnresolvedSymbol* inner, const gchar* name, ValaSourceReference* source_reference);
GtkamlMarkupNamespace* gtkaml_markup_namespace_construct (GType object_type, ValaUnresolvedSymbol* inner, const gchar* name, ValaSourceReference* source_reference);
gboolean gtkaml_markup_namespace_get_explicit_prefix (GtkamlMarkupNamespace* self);
void gtkaml_markup_namespace_set_explicit_prefix (GtkamlMarkupNamespace* self, gboolean value);
gpointer gtkaml_markup_hint_ref (gpointer instance);
void gtkaml_markup_hint_unref (gpointer instance);
GParamSpec* gtkaml_param_spec_markup_hint (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gtkaml_value_set_markup_hint (GValue* value, gpointer v_object);
void gtkaml_value_take_markup_hint (GValue* value, gpointer v_object);
gpointer gtkaml_value_get_markup_hint (const GValue* value);
GType gtkaml_markup_hint_get_type (void) G_GNUC_CONST;
GtkamlMarkupHint* gtkaml_markup_hint_new (const gchar* target);
GtkamlMarkupHint* gtkaml_markup_hint_construct (GType object_type, const gchar* target);
ValaList* gtkaml_markup_hint_get_composition_method_names (GtkamlMarkupHint* self);
gpointer gtkaml_pair_ref (gpointer instance);
void gtkaml_pair_unref (gpointer instance);
GParamSpec* gtkaml_param_spec_pair (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gtkaml_value_set_pair (GValue* value, gpointer v_object);
void gtkaml_value_take_pair (GValue* value, gpointer v_object);
gpointer gtkaml_value_get_pair (const GValue* value);
GType gtkaml_pair_get_type (void) G_GNUC_CONST;
ValaList* gtkaml_markup_hint_get_creation_method_parameters (GtkamlMarkupHint* self, const gchar* name);
ValaList* gtkaml_markup_hint_get_composition_method_parameters (GtkamlMarkupHint* self, const gchar* name);
void gtkaml_markup_hint_add_creation_method (GtkamlMarkupHint* self, const gchar* creation_method_name);
void gtkaml_markup_hint_add_composition_method (GtkamlMarkupHint* self, const gchar* composition_method_name);
gboolean gtkaml_markup_hint_add_creation_method_parameter (GtkamlMarkupHint* self, const gchar* creation_method_name, const gchar* parameter, const gchar* default_value);
gboolean gtkaml_markup_hint_add_composition_method_parameter (GtkamlMarkupHint* self, const gchar* composition_method_name, const gchar* parameter, const gchar* default_value);
GtkamlPair* gtkaml_pair_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, gpointer name, gpointer value);
GtkamlPair* gtkaml_pair_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, gpointer name, gpointer value);
GtkamlMarkupHintsStore* gtkaml_markup_hints_store_new (GtkamlCodeContext* context);
GtkamlMarkupHintsStore* gtkaml_markup_hints_store_construct (GType object_type, GtkamlCodeContext* context);
void gtkaml_markup_hints_store_parse (GtkamlMarkupHintsStore* self);
GtkamlPropertySpec* gtkaml_property_spec_new (void);
GtkamlPropertySpec* gtkaml_property_spec_construct (GType object_type);
GtkamlCallable* gtkaml_callable_new (ValaSymbol* member);
GtkamlCallable* gtkaml_callable_construct (GType object_type, ValaSymbol* member);
ValaList* gtkaml_callable_get_parameters (GtkamlCallable* self);
ValaSymbol* gtkaml_callable_get_member (GtkamlCallable* self);
const gchar* gtkaml_callable_get_name (GtkamlCallable* self);
ValaSymbol* gtkaml_callable_get_parent_symbol (GtkamlCallable* self);
GtkamlValaParser* gtkaml_vala_parser_new (GtkamlCodeContext* real_context);
GtkamlValaParser* gtkaml_vala_parser_construct (GType object_type, GtkamlCodeContext* real_context);
ValaClass* gtkaml_vala_parser_parse_members (GtkamlValaParser* self, GtkamlMarkupClass* markup_class, const gchar* members_source, GError** error);
ValaExpression* gtkaml_vala_parser_parse_expression (GtkamlValaParser* self, GtkamlMarkupClass* markup_class, const gchar* target, const gchar* target_member, const gchar* expression_source, GError** error);
ValaBlock* gtkaml_vala_parser_parse_statements (GtkamlValaParser* self, GtkamlMarkupClass* markup_class, const gchar* target, const gchar* target_member, const gchar* statements_source, GError** error);
ValaProperty* gtkaml_vala_parser_parse_property_declaration (GtkamlValaParser* self, GtkamlMarkupClass* markup_class, const gchar* target, const gchar* target_member, const gchar* declaration, GError** error);


G_END_DECLS

#endif
