/* libspelling-1.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Spelling", gir_namespace = "Spelling", gir_version = "1", lower_case_cprefix = "spelling_")]
namespace Spelling {
	[CCode (cheader_filename = "libspelling.h", type_id = "spelling_checker_get_type ()")]
	public sealed class Checker : GLib.Object {
		[CCode (has_construct_function = false)]
		public Checker (Spelling.Provider? provider, string? language);
		public void add_word (string word);
		public bool check_word (string word, ssize_t word_len);
		public static unowned Spelling.Checker get_default ();
		public unowned string get_extra_word_chars ();
		public unowned string? get_language ();
		public unowned Spelling.Provider get_provider ();
		public void ignore_word (string word);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[]? list_corrections (string word);
		public void set_language (string language);
		public string language { get; set; }
		public Spelling.Provider provider { get; construct; }
	}
	[CCode (cheader_filename = "libspelling.h", type_id = "spelling_dictionary_get_type ()")]
	public abstract class Dictionary : GLib.Object {
		[CCode (has_construct_function = false)]
		protected Dictionary ();
		public void add_word (string word);
		public bool contains_word (string word, ssize_t word_len);
		public unowned string? get_code ();
		public unowned string get_extra_word_chars ();
		public void ignore_word (string word);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[]? list_corrections (string word, ssize_t word_len);
		public string code { get; construct; }
	}
	[CCode (cheader_filename = "libspelling.h", type_id = "spelling_language_get_type ()")]
	public sealed class Language : GLib.Object {
		[CCode (has_construct_function = false)]
		protected Language ();
		public unowned string? get_code ();
		public unowned string? get_group ();
		public unowned string? get_name ();
		public string code { get; construct; }
		public string group { get; construct; }
		public string name { get; construct; }
	}
	[CCode (cheader_filename = "libspelling.h", type_id = "spelling_provider_get_type ()")]
	public abstract class Provider : GLib.Object {
		[CCode (has_construct_function = false)]
		protected Provider ();
		public static unowned Spelling.Provider get_default ();
		public unowned string? get_default_code ();
		public unowned string? get_display_name ();
		public GLib.ListModel list_languages ();
		public Spelling.Dictionary? load_dictionary (string language);
		public bool supports_language (string language);
		public string display_name { get; construct; }
	}
	[CCode (cheader_filename = "libspelling.h", type_id = "spelling_text_buffer_adapter_get_type ()")]
	public sealed class TextBufferAdapter : GLib.Object, GLib.ActionGroup {
		[CCode (has_construct_function = false)]
		public TextBufferAdapter (GtkSource.Buffer buffer, Spelling.Checker checker);
		public unowned GtkSource.Buffer? get_buffer ();
		public unowned Spelling.Checker? get_checker ();
		public bool get_enabled ();
		public unowned string? get_language ();
		public unowned GLib.MenuModel get_menu_model ();
		public unowned Gtk.TextTag? get_tag ();
		public void invalidate_all ();
		public void set_checker (Spelling.Checker checker);
		public void set_enabled (bool enabled);
		public void set_language (string language);
		public void update_corrections ();
		public GtkSource.Buffer buffer { get; construct; }
		public Spelling.Checker checker { get; set; }
		public bool enabled { get; set; }
		public string language { get; set; }
	}
	[CCode (cheader_filename = "libspelling.h")]
	public static void init ();
}
