/* telepathy-glib.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Tp", lower_case_cprefix = "tp_")]
namespace TelepathyGLib {
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class Account : TelepathyGLib.Proxy {
		public weak TelepathyGLib.Proxy parent;
		public TelepathyGLib.AccountPrivate priv;
		[CCode (has_construct_function = false)]
		public Account (TelepathyGLib.DBusDaemon bus_daemon, string object_path) throws GLib.Error;
		public unowned TelepathyGLib.Connection ensure_connection ();
		public async void get_avatar_async ();
		public bool get_changing_presence ();
		public bool get_connect_automatically ();
		public unowned TelepathyGLib.Connection get_connection ();
		public unowned string get_connection_manager ();
		public TelepathyGLib.ConnectionStatus get_connection_status ();
		public TelepathyGLib.ConnectionPresenceType get_current_presence ([CCode (array_length_pos = 0.5)] out string status_message);
		public unowned string get_display_name ();
		public static GLib.Quark get_feature_quark_core ();
		public static GLib.Quark get_feature_quark_storage ();
		public bool get_has_been_online ();
		public unowned string get_icon_name ();
		public unowned string get_nickname ();
		public unowned GLib.HashTable<weak string,weak GLib.Value> get_parameters ();
		public unowned string get_protocol ();
		public TelepathyGLib.ConnectionPresenceType get_requested_presence ([CCode (array_length_pos = 0.5)] out string status_message);
		public unowned string get_service ();
		public GLib.Value get_storage_identifier ();
		public unowned string get_storage_provider ();
		public TelepathyGLib.StorageRestrictionFlags get_storage_restrictions ();
		public async unowned GLib.HashTable<weak string,weak GLib.Value> get_storage_specific_information_async () throws GLib.Error;
		public static void init_known_interfaces ();
		public bool is_enabled ();
		public bool is_valid ();
		public static bool parse_object_path ([CCode (array_length_pos = 0.5)] out string cm, [CCode (array_length_pos = 0.5)] out string protocol, [CCode (array_length_pos = 0.5)] out string account_id) throws GLib.Error;
		public async bool reconnect_async () throws GLib.Error;
		public async bool remove_async () throws GLib.Error;
		public async bool request_presence_async ([CCode (array_length_pos = 0.5)] string status, [CCode (array_length_pos = 0.5)] string message) throws GLib.Error;
		public async bool set_avatar_async ([CCode (array_length_pos = 0.333333)] string? mime_type) throws GLib.Error;
		public async bool set_connect_automatically_async () throws GLib.Error;
		public async bool set_display_name_async () throws GLib.Error;
		public async bool set_enabled_async () throws GLib.Error;
		public async bool set_icon_name_async () throws GLib.Error;
		public async bool set_nickname_async () throws GLib.Error;
		public async bool set_service_async () throws GLib.Error;
		public async bool update_parameters_async ([CCode (array_length_pos = 0.5)] string unset_parameters, out string[] reconnect_required) throws GLib.Error;
		public bool changing_presence { get; }
		public bool connect_automatically { get; }
		public TelepathyGLib.Connection connection { get; }
		public string connection_error { get; }
		public GLib.HashTable<weak void*,weak void*> connection_error_details { get; }
		public string connection_manager { get; }
		public uint connection_status { get; }
		public uint connection_status_reason { get; }
		public uint current_presence_type { get; }
		public string current_status { get; }
		public string current_status_message { get; }
		public string display_name { get; }
		public bool enabled { get; }
		public bool has_been_online { get; }
		public string icon_name { get; }
		public string nickname { get; }
		public string protocol { get; }
		public uint requested_presence_type { get; }
		public string requested_status { get; }
		public string requested_status_message { get; }
		public string service { get; }
		public GLib.Value storage_identifier { get; }
		public string storage_provider { get; }
		public uint storage_restrictions { get; }
		public bool valid { get; }
		public signal void presence_changed (uint object, string p0, string p1);
		public signal void status_changed (uint object, uint p0, uint p1, string? p2, GLib.HashTable<weak string,weak GLib.Value> p3);
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class AccountChannelRequest : GLib.Object {
		[CCode (has_construct_function = false)]
		public AccountChannelRequest (TelepathyGLib.Account account, GLib.HashTable<weak string,weak GLib.Value> request, int64 user_action_time);
		public async TelepathyGLib.Channel create_and_handle_channel_async (out TelepathyGLib.HandleChannelsContext? context) throws GLib.Error;
		public async bool create_channel_async ([CCode (array_length_pos = 0.5)] GLib.Cancellable? cancellable) throws GLib.Error;
		public async TelepathyGLib.Channel ensure_and_handle_channel_async (out TelepathyGLib.HandleChannelsContext? context) throws GLib.Error;
		public async bool ensure_channel_async ([CCode (array_length_pos = 0.5)] GLib.Cancellable? cancellable) throws GLib.Error;
		public unowned TelepathyGLib.Account get_account ();
		public unowned GLib.HashTable<weak void*,weak void*> get_request ();
		public int64 get_user_action_time ();
		public TelepathyGLib.Account account { get; construct; }
		public int64 user_action_time { get; construct; }
		public signal void re_handled (TelepathyGLib.Channel object, int64 p0, TelepathyGLib.HandleChannelsContext p1);
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class AccountManager : TelepathyGLib.Proxy {
		public weak TelepathyGLib.Proxy parent;
		public TelepathyGLib.AccountManagerPrivate priv;
		[CCode (has_construct_function = false)]
		public AccountManager (TelepathyGLib.DBusDaemon bus_daemon);
		public async unowned TelepathyGLib.Account create_account_async ([CCode (array_length_pos = 0.5)] string protocol, [CCode (array_length_pos = 0.5)] string display_name, [CCode (array_length_pos = 0.5)] GLib.HashTable<weak string,weak GLib.Value> parameters, [CCode (array_length_pos = 0.5)] GLib.HashTable<weak string,weak GLib.Value> properties) throws GLib.Error;
		public static TelepathyGLib.AccountManager dup ();
		public void enable_restart ();
		public unowned TelepathyGLib.Account ensure_account ();
		public static GLib.Quark get_feature_quark_core ();
		public TelepathyGLib.ConnectionPresenceType get_most_available_presence ([CCode (array_length_pos = 0.5)] out string message);
		public GLib.List<weak TelepathyGLib.Account> get_valid_accounts ();
		public static void init_known_interfaces ();
		public void set_all_requested_presences ([CCode (array_length_pos = 0.5)] string status, [CCode (array_length_pos = 0.5)] string message);
		public signal void account_disabled (TelepathyGLib.Account object);
		public signal void account_enabled (TelepathyGLib.Account object);
		public signal void account_removed (TelepathyGLib.Account object);
		public signal void account_validity_changed (TelepathyGLib.Account object, bool p0);
		public signal void most_available_presence_changed (uint object, string p0, string p1);
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class AddDispatchOperationContext : GLib.Object {
		public void accept ();
		public void delay ();
		public void fail ();
		public TelepathyGLib.Account account { get; construct; }
		public GLib.GenericArray<weak void*> channels { get; construct; }
		public TelepathyGLib.Connection connection { get; construct; }
		public TelepathyGLib.ChannelDispatchOperation dispatch_operation { get; construct; }
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class AutomaticProxyFactory : GLib.Object {
		public weak GLib.Object parent;
		[CCode (has_construct_function = false)]
		public AutomaticProxyFactory ();
		public static TelepathyGLib.AutomaticProxyFactory dup ();
	}
	[Compact]
	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "tp_avatar_requirements_get_type ()", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class AvatarRequirements {
		public void* _1;
		public void* _2;
		public void* _3;
		public void* _4;
		public uint maximum_bytes;
		public uint maximum_height;
		public uint maximum_width;
		public uint minimum_height;
		public uint minimum_width;
		public uint recommended_height;
		public uint recommended_width;
		public weak string[] supported_mime_types;
		public TelepathyGLib.AvatarRequirements copy ();
		public void destroy ();
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class BaseClient : GLib.Object {
		public weak GLib.Object parent;
		public TelepathyGLib.BaseClientPrivate priv;
		public void add_account_features ();
		public void add_approver_filter ();
		public void add_channel_features ();
		public void add_connection_features ();
		public void add_handler_capabilities ();
		public void add_handler_capability ();
		public void add_handler_filter ();
		public void add_observer_filter ();
		public void be_a_handler ();
		public unowned string get_bus_name ();
		public GLib.List<weak TelepathyGLib.Channel> get_handled_channels ();
		public unowned string get_object_path ();
		public GLib.List<weak TelepathyGLib.ChannelRequest> get_pending_requests ();
		public bool register () throws GLib.Error;
		public void set_handler_bypass_approval ();
		public void set_handler_request_notification ();
		public void set_observer_recover ();
		public void unregister ();
		public TelepathyGLib.AccountManager account_manager { get; construct; }
		public GLib.Object channel_factory { get; construct; }
		public TelepathyGLib.DBusDaemon dbus_daemon { get; construct; }
		public string name { get; construct; }
		public bool uniquify_name { get; construct; }
		public signal void request_added (TelepathyGLib.Account object, TelepathyGLib.ChannelRequest p0);
		public signal void request_removed (TelepathyGLib.ChannelRequest object, string p0, string p1);
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class BaseConnection : GLib.Object {
		public void* _future1;
		public void* _future2;
		public void* _future3;
		public void* _future4;
		public weak string bus_name;
		public weak string object_path;
		public weak GLib.Object parent;
		public TelepathyGLib.BaseConnectionPrivate priv;
		public TelepathyGLib.Handle self_handle;
		public TelepathyGLib.ConnectionStatus status;
		public void add_client_interest ([CCode (array_length_pos = 0.5)] string token, [CCode (array_length_pos = 0.5)] bool only_if_uninterested);
		public void add_possible_client_interest ();
		public void change_status ([CCode (array_length_pos = 0.5)] TelepathyGLib.ConnectionStatusReason reason);
		public unowned TelepathyGLib.HandleRepoIface get_handles ();
		public bool register ([CCode (array_length_pos = 0.5)] out string bus_name, [CCode (array_length_pos = 0.5)] out string object_path) throws GLib.Error;
		public void set_self_handle ();
		public signal void clients_interested (string object);
		public signal void clients_uninterested (string object);
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class BasicProxyFactory : GLib.Object {
		public weak GLib.Object parent;
		[CCode (has_construct_function = false)]
		public BasicProxyFactory ();
		public static TelepathyGLib.BasicProxyFactory dup ();
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class Capabilities : GLib.Object {
		public unowned GLib.GenericArray<weak void*> get_channel_classes ();
		public bool is_specific_to_contact ();
		public bool supports_dbus_tubes ([CCode (array_length_pos = 0.5)] string service_name);
		public bool supports_stream_tubes ([CCode (array_length_pos = 0.5)] string service);
		public bool supports_text_chatrooms ();
		public bool supports_text_chats ();
		public bool contact_specific { get; construct; }
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class Channel : TelepathyGLib.Proxy {
		public weak TelepathyGLib.Proxy parent;
		public TelepathyGLib.ChannelPrivate priv;
		[CCode (has_construct_function = false)]
		public Channel (TelepathyGLib.Connection conn, string object_path, string optional_channel_type, TelepathyGLib.HandleType optional_handle_type, TelepathyGLib.Handle optional_handle) throws GLib.Error;
		public unowned TelepathyGLib.Connection borrow_connection ();
		public unowned GLib.HashTable<weak string,weak GLib.Value> borrow_immutable_properties ();
		[CCode (has_construct_function = false)]
		public Channel.from_properties (TelepathyGLib.Connection conn, string object_path, GLib.HashTable<weak string,weak GLib.Value> immutable_properties) throws GLib.Error;
		public unowned string get_channel_type ();
		public GLib.Quark get_channel_type_id ();
		public TelepathyGLib.ChannelChatState get_chat_state ();
		public static GLib.Quark get_feature_quark_chat_states ();
		public static GLib.Quark get_feature_quark_core ();
		public static GLib.Quark get_feature_quark_group ();
		public TelepathyGLib.Handle get_handle ();
		public unowned string get_identifier ();
		public TelepathyGLib.ChannelGroupFlags group_get_flags ();
		public TelepathyGLib.Handle group_get_handle_owner ();
		public unowned TelepathyGLib.Intset group_get_local_pending ();
		public bool group_get_local_pending_info ([CCode (array_length_pos = 0.5)] TelepathyGLib.Handle actor, [CCode (array_length_pos = 0.5)] TelepathyGLib.ChannelGroupChangeReason reason, [CCode (array_length_pos = 0.5)] string message);
		public unowned TelepathyGLib.Intset group_get_members ();
		public unowned TelepathyGLib.Intset group_get_remote_pending ();
		public TelepathyGLib.Handle group_get_self_handle ();
		public static void init_known_interfaces ();
		public bool channel_ready { get; }
		public TelepathyGLib.Connection connection { get; construct; }
		public uint group_flags { get; }
		public uint group_self_handle { get; }
		public string identifier { get; }
		public uint initiator_handle { get; }
		public string initiator_identifier { get; }
		public bool requested { get; }
		public signal void chat_state_changed (uint object, uint p0);
		public signal void group_flags_changed (uint object, uint p0);
		public signal void group_members_changed_detailed (GLib.Array<weak uint> object, GLib.Array<weak uint> p0, GLib.Array<weak uint> p1, GLib.Array<weak uint> p2, GLib.HashTable<weak string,weak GLib.Value> p3);
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class ChannelDispatchOperation : TelepathyGLib.Proxy {
		public weak TelepathyGLib.Proxy parent;
		public TelepathyGLib.ChannelDispatchOperationPrivate priv;
		[CCode (has_construct_function = false)]
		public ChannelDispatchOperation (TelepathyGLib.DBusDaemon bus_daemon, string object_path, GLib.HashTable<weak void*,weak void*> immutable_properties) throws GLib.Error;
		public async bool claim_async () throws GLib.Error;
		public static GLib.Quark get_feature_quark_core ();
		public async bool handle_with_async () throws GLib.Error;
		public async bool handle_with_time_async ([CCode (array_length_pos = 0.5)] int64 user_action_time) throws GLib.Error;
		public static void init_known_interfaces ();
		public TelepathyGLib.Account account { get; construct; }
		public GLib.GenericArray<weak void*> channels { get; construct; }
		public TelepathyGLib.Connection connection { get; construct; }
		public string[] possible_handlers { get; }
		public signal void channel_lost (TelepathyGLib.Channel object, uint p0, int p1, string p2);
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class ChannelRequest : TelepathyGLib.Proxy {
		public weak TelepathyGLib.Proxy parent;
		public TelepathyGLib.ChannelRequestPrivate priv;
		[CCode (has_construct_function = false)]
		public ChannelRequest (TelepathyGLib.DBusDaemon bus_daemon, string object_path, GLib.HashTable<weak void*,weak void*> immutable_properties) throws GLib.Error;
		public static void init_known_interfaces ();
		public signal void succeeded ();
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class Connection : TelepathyGLib.Proxy {
		public weak TelepathyGLib.Proxy parent;
		public TelepathyGLib.ConnectionPrivate priv;
		[CCode (has_construct_function = false)]
		public Connection (TelepathyGLib.DBusDaemon dbus, string? bus_name, string? object_path) throws GLib.Error;
		public void add_client_interest ();
		public TelepathyGLib.AvatarRequirements get_avatar_requirements ();
		public unowned TelepathyGLib.Capabilities get_capabilities ();
		public void get_contact_attributes ([CCode (array_length_cname = "n_handles", array_length_pos = 0.666667)] TelepathyGLib.Handle[] handles, [CCode (array_length_pos = 0.333333)] string interfaces, [CCode (array_length_pos = 0.333333)] bool hold, [CCode (array_length_pos = 0.333333, delegate_target_pos = 4.33333)] owned GLib.Callback callback, [CCode (array_length_pos = 0.333333)] GLib.Object weak_object);
		public TelepathyGLib.ContactInfoFlags get_contact_info_flags ();
		public GLib.List<weak TelepathyGLib.ContactInfoFieldSpec> get_contact_info_supported_fields ();
		public void get_contact_list_attributes ([CCode (array_length_pos = 0.5)] string interfaces, [CCode (array_length_pos = 0.5)] bool hold, [CCode (array_length_pos = 0.5, delegate_target_pos = 3.33333)] owned GLib.Callback callback, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
		public void get_contacts_by_handle ([CCode (array_length_cname = "n_handles", array_length_pos = 0.5)] uint[] handles, [CCode (array_length_cname = "n_features", array_length_pos = 1.5)] uint[]? features, [CCode (array_length_pos = 0.5, delegate_target_pos = 3.33333)] owned TelepathyGLib.ConnectionContactsByHandleCb callback, [CCode (array_length_pos = 0.5)] GLib.Object? weak_object);
		public void get_contacts_by_id ([CCode (array_length_cname = "n_ids", array_length_pos = 0.5)] string[] ids, [CCode (array_length_cname = "n_features", array_length_pos = 1.5)] TelepathyGLib.ContactFeature[]? features, [CCode (array_length_pos = 0.5, delegate_target_pos = 3.33333)] owned TelepathyGLib.ConnectionContactsByIdCb callback, [CCode (array_length_pos = 0.5)] GLib.Object? weak_object);
		public unowned string get_detailed_error ();
		public static GLib.Quark get_feature_quark_avatar_requirements ();
		public static GLib.Quark get_feature_quark_capabilities ();
		public static GLib.Quark get_feature_quark_connected ();
		public static GLib.Quark get_feature_quark_contact_info ();
		public static GLib.Quark get_feature_quark_core ();
		public TelepathyGLib.Handle get_self_handle ();
		public TelepathyGLib.ConnectionStatus get_status ();
		public void hold_handles ([CCode (array_length_pos = 0.5)] TelepathyGLib.HandleType handle_type, [CCode (array_length_cname = "n_handles", array_length_pos = 1.5)] TelepathyGLib.Handle[] handles, [CCode (array_length_pos = 0.5, delegate_target_pos = 3.33333)] owned TelepathyGLib.ConnectionHoldHandlesCb callback, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
		public static void init_known_interfaces ();
		public bool parse_object_path ([CCode (array_length_pos = 0.5)] out string cm_name);
		public static int presence_type_cmp_availability ([CCode (array_length_pos = 0.5)] TelepathyGLib.ConnectionPresenceType p2);
		public void refresh_contact_info ([CCode (array_length_cname = "n_contacts", array_length_pos = 0.5)] TelepathyGLib.Contact[] contacts);
		public void request_handles ([CCode (array_length_pos = 0.5)] TelepathyGLib.HandleType handle_type, [CCode (array_length_cname = "timeout_ms", array_length_pos = 0.5)] string[] ids, [CCode (array_length_pos = 0.5, delegate_target_pos = 3.33333)] owned TelepathyGLib.ConnectionRequestHandlesCb callback, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
		public async bool set_contact_info_async () throws GLib.Error;
		public void unref_handles ([CCode (array_length_cname = "n_handles", array_length_pos = 0.666667)] TelepathyGLib.Handle[] handles);
		public void upgrade_contacts ([CCode (array_length_cname = "n_contacts", array_length_pos = 0.5)] TelepathyGLib.Contact[] contacts, [CCode (array_length_cname = "n_features", array_length_pos = 1.5)] TelepathyGLib.ContactFeature[] features, [CCode (array_length_pos = 0.5, delegate_target_pos = 3.33333)] owned TelepathyGLib.ConnectionUpgradeContactsCb callback, [CCode (array_length_pos = 0.5)] GLib.Object? weak_object);
		public TelepathyGLib.Capabilities capabilities { get; }
		public bool connection_ready { get; }
		public uint self_handle { get; }
		public uint status { get; }
		public uint status_reason { get; }
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class ConnectionManager : TelepathyGLib.Proxy {
		public weak string name;
		public weak TelepathyGLib.Proxy parent;
		public TelepathyGLib.ConnectionManagerPrivate priv;
		public weak TelepathyGLib.ConnectionManagerProtocol protocols;
		public uint reserved_flags;
		public uint running;
		[CCode (has_construct_function = false)]
		public ConnectionManager (TelepathyGLib.DBusDaemon dbus, string name, string? manager_filename) throws GLib.Error;
		public static bool check_valid_name () throws GLib.Error;
		public static bool check_valid_protocol_name () throws GLib.Error;
		public string[] dup_protocol_names ();
		public static GLib.Quark get_feature_quark_core ();
		public TelepathyGLib.CMInfoSource get_info_source ();
		public unowned string get_name ();
		public unowned TelepathyGLib.ConnectionManagerProtocol get_protocol ();
		public unowned TelepathyGLib.Protocol get_protocol_object ();
		public bool has_protocol ();
		public static void init_known_interfaces ();
		public bool is_running ();
		public bool always_introspect { get; set; }
		public string connection_manager { get; }
		public uint info_source { get; }
		public string manager_file { get; set construct; }
		public signal void activated ();
		public signal void exited ();
		public signal void got_info (uint object);
	}
	[Compact]
	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "tp_connection_manager_param_get_type ()", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class ConnectionManagerParam {
		public weak string dbus_signature;
		public GLib.Value default_value;
		public uint flags;
		public weak string name;
		public void* priv;
		public TelepathyGLib.ConnectionManagerParam copy ();
		public void free ();
		public unowned string get_dbus_signature ();
		public bool get_default ();
		public unowned string get_name ();
		public bool is_dbus_property ();
		public bool is_required ();
		public bool is_required_for_registration ();
		public bool is_secret ();
	}
	[Compact]
	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "tp_connection_manager_protocol_get_type ()", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class ConnectionManagerProtocol {
		public weak string name;
		public weak TelepathyGLib.ConnectionManagerParam @params;
		public void* priv;
		public bool can_register ();
		public TelepathyGLib.ConnectionManagerProtocol copy ();
		public string[] dup_param_names ();
		public void free ();
		public unowned TelepathyGLib.ConnectionManagerParam get_param ();
		public bool has_param ();
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class Contact : GLib.Object {
		public unowned string get_alias ();
		public unowned GLib.File get_avatar_file ();
		public unowned string get_avatar_mime_type ();
		public unowned string get_avatar_token ();
		public unowned TelepathyGLib.Capabilities get_capabilities ();
		public unowned string[] get_client_types ();
		public unowned TelepathyGLib.Connection get_connection ();
		public GLib.List<weak TelepathyGLib.ContactInfoField> get_contact_info ();
		public TelepathyGLib.Handle get_handle ();
		public unowned string get_identifier ();
		public unowned GLib.HashTable<weak string,weak GLib.Value> get_location ();
		public unowned string get_presence_message ();
		public unowned string get_presence_status ();
		public TelepathyGLib.ConnectionPresenceType get_presence_type ();
		public bool has_feature ();
		public async bool request_contact_info_async () throws GLib.Error;
		public string alias { get; }
		public GLib.File avatar_file { get; }
		public string avatar_mime_type { get; }
		public string avatar_token { get; }
		public TelepathyGLib.Capabilities capabilities { get; }
		public string[] client_types { get; }
		public TelepathyGLib.Connection connection { get; }
		public TelepathyGLib.ContactInfoList contact_info { get; }
		public uint handle { get; }
		public string identifier { get; }
		public string presence_message { get; }
		public string presence_status { get; }
		public uint presence_type { get; }
		public signal void presence_changed (uint object, string p0, string p1);
	}
	[Compact]
	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "tp_contact_info_field_get_type ()", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class ContactInfoField {
		public weak string field_name;
		public weak string[] field_value;
		public weak string[] parameters;
		public void* priv;
	}
	[Compact]
	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "tp_contact_info_field_spec_get_type ()", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class ContactInfoFieldSpec {
		public TelepathyGLib.ContactInfoFieldFlags flags;
		public uint max;
		public weak string name;
		public weak string[] parameters;
		public void* priv;
	}
	[Compact]
	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "tp_contact_info_list_get_type ()", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class ContactInfoList {
	}
	[Compact]
	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "tp_contact_info_spec_list_get_type ()", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class ContactInfoSpecList {
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class DBusDaemon : TelepathyGLib.Proxy {
		public static TelepathyGLib.DBusDaemon dup () throws GLib.Error;
		public unowned string get_unique_name ();
		public static void init_known_interfaces ();
		public void list_activatable_names ([CCode (array_length_pos = 0.5, delegate_target_pos = 1.33333)] owned TelepathyGLib.DBusDaemonListNamesCb callback, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
		public void list_names ([CCode (array_length_pos = 0.5, delegate_target_pos = 1.33333)] owned TelepathyGLib.DBusDaemonListNamesCb callback, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
		public void register_object ([CCode (array_length_pos = 0.5)] GLib.Object object);
		public bool release_name () throws GLib.Error;
		public bool request_name ([CCode (array_length_pos = 0.5)] bool idempotent) throws GLib.Error;
		public void unregister_object ();
		public void watch_name_owner ([CCode (array_length_pos = 0.5)] owned TelepathyGLib.DBusDaemonNameOwnerChangedCb callback);
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class HandleChannelsContext : GLib.Object {
		public void accept ();
		public void delay ();
		public void fail ();
		public unowned GLib.HashTable<weak string,weak GLib.Value> get_handler_info ();
		public TelepathyGLib.Account account { get; construct; }
		public GLib.GenericArray<weak void*> channels { get; construct; }
		public TelepathyGLib.Connection connection { get; construct; }
		public GLib.GenericArray<weak void*> requests_satisfied { get; construct; }
		public int64 user_action_time { get; construct; }
		public signal void done ();
	}
	[Compact]
	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "tp_handle_set_get_type ()", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class HandleSet {
		public string dump ();
	}
	[Compact]
	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "tp_intset_get_type ()", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class Intset {
		public void add ();
		public void clear ();
		public TelepathyGLib.Intset copy ();
		public void destroy ();
		public TelepathyGLib.Intset difference ();
		public string dump ();
		public void @foreach ();
		public TelepathyGLib.Intset intersection ();
		public bool is_empty ();
		public bool is_equal ();
		public bool is_member ();
		public bool remove ();
		public uint size ();
		public TelepathyGLib.Intset symmetric_difference ();
		public GLib.Array<uint> to_array ();
		public TelepathyGLib.Intset union ();
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class ObserveChannelsContext : GLib.Object {
		public void accept ();
		public void delay ();
		public void fail ();
		public bool is_recovering ();
		public TelepathyGLib.Account account { get; construct; }
		public GLib.GenericArray<weak void*> channels { get; construct; }
		public TelepathyGLib.Connection connection { get; construct; }
		public TelepathyGLib.ChannelDispatchOperation dispatch_operation { get; construct; }
		public GLib.GenericArray<weak void*> requests { get; construct; }
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class Protocol : TelepathyGLib.Proxy {
		public weak TelepathyGLib.Proxy parent;
		public TelepathyGLib.ProtocolPrivate priv;
		[CCode (has_construct_function = false)]
		public Protocol (TelepathyGLib.DBusDaemon dbus, string cm_name, string protocol_name, GLib.HashTable<weak void*,weak void*> immutable_properties) throws GLib.Error;
		public bool can_register ();
		public string[] dup_param_names ();
		public unowned TelepathyGLib.Capabilities get_capabilities ();
		public unowned string get_english_name ();
		public static GLib.Quark get_feature_quark_core ();
		public static GLib.Quark get_feature_quark_parameters ();
		public unowned string get_icon_name ();
		public unowned string get_name ();
		public unowned TelepathyGLib.ConnectionManagerParam get_param ();
		public unowned string get_vcard_field ();
		public bool has_param ();
		public static void init_known_interfaces ();
		public TelepathyGLib.Capabilities capabilities { get; }
		public string english_name { get; }
		public string icon_name { get; }
		public string[] param_names { get; }
		public string protocol_name { get; construct; }
		public string vcard_field { get; }
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class Proxy : GLib.Object {
		public weak GLib.Object parent;
		public TelepathyGLib.ProxyPrivate priv;
		public void dbus_error_to_gerror ([CCode (array_length_pos = 0.5)] string debug_message) throws GLib.Error;
		public unowned string get_bus_name ();
		public unowned TelepathyGLib.DBusDaemon get_dbus_daemon ();
		public unowned GLib.Error get_invalidated ();
		public unowned string get_object_path ();
		public bool has_interface ();
		public bool has_interface_by_id ();
		public bool is_prepared ();
		public async bool prepare_async () throws GLib.Error;
		public string bus_name { get; construct; }
		public TelepathyGLib.DBusDaemon dbus_daemon { get; construct; }
		public string[] interfaces { get; }
		public string object_path { get; construct; }
		public signal void invalidated (uint object, int p0, string p1);
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class SimpleApprover : TelepathyGLib.BaseClient {
		public weak TelepathyGLib.BaseClient parent;
		public TelepathyGLib.SimpleApproverPrivate priv;
		[CCode (has_construct_function = false)]
		public SimpleApprover (TelepathyGLib.DBusDaemon dbus, string name, bool unique, owned TelepathyGLib.SimpleApproverAddDispatchOperationImpl callback, void* user_data, GLib.DestroyNotify destroy);
		[CCode (has_construct_function = false)]
		public SimpleApprover.with_am (TelepathyGLib.AccountManager account_manager, string name, bool unique, owned TelepathyGLib.SimpleApproverAddDispatchOperationImpl callback, void* user_data, GLib.DestroyNotify destroy);
		public void* callback { construct; }
		public void* destroy { construct; }
		public void* user_data { construct; }
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class SimpleHandler : TelepathyGLib.BaseClient {
		public weak TelepathyGLib.BaseClient parent;
		public TelepathyGLib.SimpleHandlerPrivate priv;
		[CCode (has_construct_function = false)]
		public SimpleHandler (TelepathyGLib.DBusDaemon dbus, bool bypass_approval, bool requests, string name, bool unique, owned TelepathyGLib.SimpleHandlerHandleChannelsImpl callback, void* user_data, GLib.DestroyNotify destroy);
		[CCode (has_construct_function = false)]
		public SimpleHandler.with_am (TelepathyGLib.AccountManager account_manager, bool bypass_approval, bool requests, string name, bool unique, owned TelepathyGLib.SimpleHandlerHandleChannelsImpl callback, void* user_data, GLib.DestroyNotify destroy);
		public bool bypass_approval { construct; }
		public void* callback { construct; }
		public void* destroy { construct; }
		public bool requests { construct; }
		public void* user_data { construct; }
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class SimpleObserver : TelepathyGLib.BaseClient {
		public weak TelepathyGLib.BaseClient parent;
		public TelepathyGLib.SimpleObserverPrivate priv;
		[CCode (has_construct_function = false)]
		public SimpleObserver (TelepathyGLib.DBusDaemon dbus, bool recover, string name, bool unique, owned TelepathyGLib.SimpleObserverObserveChannelsImpl callback, void* user_data, GLib.DestroyNotify destroy);
		[CCode (has_construct_function = false)]
		public SimpleObserver.with_am (TelepathyGLib.AccountManager account_manager, bool recover, string name, bool unique, owned TelepathyGLib.SimpleObserverObserveChannelsImpl callback, void* user_data, GLib.DestroyNotify destroy);
		public void* callback { construct; }
		public void* destroy { construct; }
		public bool recover { construct; }
		public void* user_data { construct; }
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class StreamTubeChannel : TelepathyGLib.Channel {
		public weak TelepathyGLib.Channel parent;
		public TelepathyGLib.StreamTubeChannelPrivate priv;
		[CCode (has_construct_function = false)]
		public StreamTubeChannel (TelepathyGLib.Connection conn, string object_path, GLib.HashTable<weak string,weak GLib.Value> immutable_properties) throws GLib.Error;
		public async TelepathyGLib.StreamTubeConnection accept_async () throws GLib.Error;
		public async bool offer_async () throws GLib.Error;
		public string service { get; }
		public signal void incoming (TelepathyGLib.StreamTubeConnection object);
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public class StreamTubeConnection : GLib.Object {
		public TelepathyGLib.StreamTubeChannel channel { get; construct; }
		public TelepathyGLib.Contact contact { get; construct; }
		public GLib.SocketConnection socket_connection { get; construct; }
		public signal void closed (void* object);
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public interface HandleRepoIface : GLib.Object {
		public uint handle_type { get; construct; }
	}
	[CCode (type_id = "TP_TYPE_ACCOUNT_CHANNEL_REQUEST_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct AccountChannelRequestPrivate {
	}
	[CCode (type_id = "TP_TYPE_ACCOUNT_CLASS_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct AccountClassPrivate {
	}
	[CCode (type_id = "TP_TYPE_ACCOUNT_MANAGER_CLASS_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct AccountManagerClassPrivate {
	}
	[CCode (type_id = "TP_TYPE_ACCOUNT_MANAGER_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct AccountManagerPrivate {
	}
	[CCode (type_id = "TP_TYPE_ACCOUNT_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct AccountPrivate {
	}
	[CCode (type_id = "TP_TYPE_ADD_DISPATCH_OPERATION_CONTEXT_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct AddDispatchOperationContextPrivate {
	}
	[CCode (type_id = "TP_TYPE_BASE_CLIENT_CLASS_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct BaseClientClassPrivate {
	}
	[CCode (type_id = "TP_TYPE_BASE_CLIENT_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct BaseClientPrivate {
	}
	[CCode (type_id = "TP_TYPE_BASE_CONNECTION_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct BaseConnectionPrivate {
	}
	[CCode (type_id = "TP_TYPE_CAPABILITIES_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct CapabilitiesPrivate {
	}
	[CCode (type_id = "TP_TYPE_CHANNEL_DISPATCH_OPERATION_CLASS_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ChannelDispatchOperationClassPrivate {
	}
	[CCode (type_id = "TP_TYPE_CHANNEL_DISPATCH_OPERATION_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ChannelDispatchOperationPrivate {
	}
	[CCode (type_id = "TP_TYPE_CHANNEL_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ChannelPrivate {
	}
	[CCode (type_id = "TP_TYPE_CHANNEL_REQUEST_CLASS_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ChannelRequestClassPrivate {
	}
	[CCode (type_id = "TP_TYPE_CHANNEL_REQUEST_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ChannelRequestPrivate {
	}
	[CCode (type_id = "TP_TYPE_CONNECTION_MANAGER_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ConnectionManagerPrivate {
	}
	[CCode (type_id = "TP_TYPE_CONNECTION_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ConnectionPrivate {
	}
	[CCode (type_id = "TP_TYPE_CONTACT_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ContactPrivate {
	}
	[CCode (type_id = "TP_TYPE_CONTACTS_MIXIN", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ContactsMixin {
		public TelepathyGLib.ContactsMixinPrivate priv;
	}
	[CCode (type_id = "TP_TYPE_CONTACTS_MIXIN_CLASS", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ContactsMixinClass {
		public TelepathyGLib.ContactsMixinClassPrivate priv;
	}
	[CCode (type_id = "TP_TYPE_CONTACTS_MIXIN_CLASS_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ContactsMixinClassPrivate {
	}
	[CCode (type_id = "TP_TYPE_CONTACTS_MIXIN_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ContactsMixinPrivate {
	}
	[CCode (type_id = "TP_TYPE_DBUS_DAEMON_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct DBusDaemonPrivate {
	}
	[CCode (type_id = "TP_TYPE_DBUS_PROPERTIES_MIXIN_IFACE_IMPL", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct DBusPropertiesMixinIfaceImpl {
		public weak string name;
		public weak TelepathyGLib.DBusPropertiesMixinGetter getter;
		public weak TelepathyGLib.DBusPropertiesMixinSetter setter;
		public TelepathyGLib.DBusPropertiesMixinPropImpl props;
		public weak GLib.Callback _1;
		public weak GLib.Callback _2;
		public void* mixin_next;
		public void* mixin_priv;
	}
	[CCode (type_id = "TP_TYPE_DBUS_PROPERTIES_MIXIN_IFACE_INFO", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct DBusPropertiesMixinIfaceInfo {
		public GLib.Quark dbus_interface;
		public TelepathyGLib.DBusPropertiesMixinPropInfo props;
		public weak GLib.Callback _1;
		public weak GLib.Callback _2;
	}
	[CCode (type_id = "TP_TYPE_DBUS_PROPERTIES_MIXIN_PROP_IMPL", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct DBusPropertiesMixinPropImpl {
		public weak string name;
		public void* getter_data;
		public void* setter_data;
		public weak GLib.Callback _1;
		public weak GLib.Callback _2;
		public void* mixin_priv;
	}
	[CCode (type_id = "TP_TYPE_DBUS_PROPERTIES_MIXIN_PROP_INFO", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct DBusPropertiesMixinPropInfo {
		public GLib.Quark name;
		public TelepathyGLib.DBusPropertiesMixinFlags flags;
		public weak string dbus_signature;
		public GLib.Type type;
		public weak GLib.Callback _1;
		public weak GLib.Callback _2;
	}
	[CCode (type_id = "TP_TYPE_GROUP_MIXIN", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct GroupMixin {
		public weak TelepathyGLib.HandleRepoIface handle_repo;
		public TelepathyGLib.Handle self_handle;
		public TelepathyGLib.ChannelGroupFlags group_flags;
		public weak TelepathyGLib.HandleSet members;
		public weak TelepathyGLib.HandleSet local_pending;
		public weak TelepathyGLib.HandleSet remote_pending;
		public TelepathyGLib.GroupMixinPrivate priv;
	}
	[CCode (type_id = "TP_TYPE_GROUP_MIXIN_CLASS", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct GroupMixinClass {
		public weak TelepathyGLib.GroupMixinAddMemberFunc add_member;
		public weak TelepathyGLib.GroupMixinRemMemberFunc remove_member;
		public TelepathyGLib.GroupMixinClassPrivate priv;
	}
	[CCode (type_id = "TP_TYPE_GROUP_MIXIN_CLASS_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct GroupMixinClassPrivate {
	}
	[CCode (type_id = "TP_TYPE_GROUP_MIXIN_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct GroupMixinPrivate {
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	[SimpleType]
	[IntegerType (rank = 0)]
	public struct Handle : uint {
	}
	[CCode (type_id = "TP_TYPE_HANDLE_CHANNELS_CONTEXT_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct HandleChannelsContextPrivate {
	}
	[CCode (type_id = "TP_TYPE_HANDLE_REPO_IFACE_CLASS", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct HandleRepoIfaceClass {
	}
	[CCode (type_id = "TP_TYPE_INTSET_FAST_ITER", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct IntsetFastIter {
		public weak void*[] _dummy;
		public void init ();
		public bool next ();
	}
	[CCode (type_id = "TP_TYPE_INTSET_ITER", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct IntsetIter {
		public weak TelepathyGLib.Intset @set;
		public uint element;
		public bool next ();
	}
	[CCode (type_id = "TP_TYPE_OBSERVE_CHANNELS_CONTEXT_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ObserveChannelsContextPrivate {
	}
	[CCode (type_id = "TP_TYPE_PRESENCE_MIXIN", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct PresenceMixin {
		public TelepathyGLib.PresenceMixinPrivate priv;
	}
	[CCode (type_id = "TP_TYPE_PRESENCE_MIXIN_CLASS", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct PresenceMixinClass {
		public weak TelepathyGLib.PresenceMixinStatusAvailableFunc status_available;
		public weak TelepathyGLib.PresenceMixinGetContactStatusesFunc get_contact_statuses;
		public weak TelepathyGLib.PresenceMixinSetOwnStatusFunc set_own_status;
		public TelepathyGLib.PresenceStatusSpec statuses;
		public TelepathyGLib.PresenceMixinClassPrivate priv;
		public void* _future1;
		public void* _future2;
		public void* _future3;
		public void* _future4;
	}
	[CCode (type_id = "TP_TYPE_PRESENCE_MIXIN_CLASS_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct PresenceMixinClassPrivate {
	}
	[CCode (type_id = "TP_TYPE_PRESENCE_MIXIN_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct PresenceMixinPrivate {
	}
	[CCode (type_id = "TP_TYPE_PRESENCE_STATUS", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct PresenceStatus {
		public uint index;
		public weak GLib.HashTable<weak void*,weak void*> optional_arguments;
		public void* _future1;
		public void* _future2;
	}
	[CCode (type_id = "TP_TYPE_PRESENCE_STATUS_OPTIONAL_ARGUMENT_SPEC", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct PresenceStatusOptionalArgumentSpec {
		public weak string name;
		public weak string dtype;
		public void* _future1;
		public void* _future2;
	}
	[CCode (type_id = "TP_TYPE_PRESENCE_STATUS_SPEC", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct PresenceStatusSpec {
		public weak string name;
		public TelepathyGLib.ConnectionPresenceType presence_type;
		public bool self;
		public TelepathyGLib.PresenceStatusOptionalArgumentSpec optional_arguments;
		public void* _future1;
		public void* _future2;
	}
	[CCode (type_id = "TP_TYPE_PROTOCOL_CLASS_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ProtocolClassPrivate {
	}
	[CCode (type_id = "TP_TYPE_PROTOCOL_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ProtocolPrivate {
	}
	[CCode (type_id = "TP_TYPE_PROXY_FEATURE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ProxyFeature {
	}
	[CCode (type_id = "TP_TYPE_PROXY_PENDING_CALL", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ProxyPendingCall {
		public void cancel ();
	}
	[CCode (type_id = "TP_TYPE_PROXY_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ProxyPrivate {
	}
	[CCode (type_id = "TP_TYPE_PROXY_SIGNAL_CONNECTION", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct ProxySignalConnection {
		public void disconnect ();
	}
	[CCode (type_id = "TP_TYPE_SIMPLE_APPROVER_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct SimpleApproverPrivate {
	}
	[CCode (type_id = "TP_TYPE_SIMPLE_HANDLER_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct SimpleHandlerPrivate {
	}
	[CCode (type_id = "TP_TYPE_SIMPLE_OBSERVER_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct SimpleObserverPrivate {
	}
	[CCode (type_id = "TP_TYPE_STREAM_TUBE_CHANNEL_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct StreamTubeChannelPrivate {
	}
	[CCode (type_id = "TP_TYPE_STREAM_TUBE_CONNECTION_PRIVATE", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct StreamTubeConnectionPrivate {
	}
	[CCode (type_id = "TP_TYPE__DBUSPROPERTIESMIXINCLASS", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public struct _DBusPropertiesMixinClass {
		public TelepathyGLib.DBusPropertiesMixinIfaceImpl interfaces;
		public void* _1;
		public void* _2;
		public void* _3;
		public void* _4;
		public void* _5;
		public void* _6;
		public void* _7;
	}
	[CCode (cprefix = "TP_ACCESS_CONTROL_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum AccessControlType {
		WHITELIST,
		PUBLISH_LIST,
		GROUP,
		OPEN,
		SUBSCRIBE_OR_PUBLISH_LIST,
		CLOSED,
		NOT_UNDERSTOOD
	}
	[CCode (cprefix = "TP_ANONYMITY_MODE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum AnonymityModeFlags {
		CLIENT_INFO,
		SHOW_CLIENT_INFO,
		NETWORK_INFO
	}
	[CCode (cprefix = "TP_CM_INFO_SOURCE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum CMInfoSource {
		NONE,
		FILE,
		LIVE
	}
	[CCode (cprefix = "TP_CHANNEL_CALL_STATE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ChannelCallStateFlags {
		RINGING,
		QUEUED,
		HELD,
		FORWARDED,
		IN_PROGRESS,
		CONFERENCE_HOST
	}
	[CCode (cprefix = "TP_CHANNEL_CHAT_STATE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ChannelChatState {
		GONE,
		INACTIVE,
		ACTIVE,
		PAUSED,
		COMPOSING
	}
	[CCode (cprefix = "TP_CHANNEL_CONTACT_SEARCH_STATE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ChannelContactSearchState {
		NOT_STARTED,
		IN_PROGRESS,
		MORE_AVAILABLE,
		COMPLETED,
		FAILED
	}
	[CCode (cprefix = "TP_CHANNEL_GROUP_CHANGE_REASON_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ChannelGroupChangeReason {
		NONE,
		OFFLINE,
		KICKED,
		BUSY,
		INVITED,
		BANNED,
		ERROR,
		INVALID_CONTACT,
		NO_ANSWER,
		RENAMED,
		PERMISSION_DENIED,
		SEPARATED
	}
	[CCode (cprefix = "TP_CHANNEL_GROUP_FLAG_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ChannelGroupFlags {
		CAN_ADD,
		CAN_REMOVE,
		CAN_RESCIND,
		MESSAGE_ADD,
		MESSAGE_REMOVE,
		MESSAGE_ACCEPT,
		MESSAGE_REJECT,
		MESSAGE_RESCIND,
		CHANNEL_SPECIFIC_HANDLES,
		ONLY_ONE_GROUP,
		HANDLE_OWNERS_NOT_AVAILABLE,
		PROPERTIES,
		MEMBERS_CHANGED_DETAILED,
		MESSAGE_DEPART
	}
	[CCode (cprefix = "TP_CHANNEL_MEDIA_CAPABILITY_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ChannelMediaCapabilities {
		AUDIO,
		VIDEO,
		NAT_TRAVERSAL_STUN,
		NAT_TRAVERSAL_GTALK_P2P,
		NAT_TRAVERSAL_ICE_UDP,
		IMMUTABLE_STREAMS
	}
	[CCode (cprefix = "TP_CHANNEL_PASSWORD_FLAG_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ChannelPasswordFlags {
		[CCode (cname = "TP_CHANNEL_PASSWORD_FLAG_PROVIDE")]
		CHANNEL_PASSWORD_FLAG_PROVIDE
	}
	[CCode (cprefix = "TP_CHANNEL_TEXT_MESSAGE_FLAG_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ChannelTextMessageFlags {
		TRUNCATED,
		NON_TEXT_CONTENT,
		SCROLLBACK,
		RESCUED
	}
	[CCode (cprefix = "TP_CHANNEL_TEXT_MESSAGE_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ChannelTextMessageType {
		NORMAL,
		ACTION,
		NOTICE,
		AUTO_REPLY,
		DELIVERY_REPORT
	}
	[CCode (cprefix = "TP_CHANNEL_TEXT_SEND_ERROR_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ChannelTextSendError {
		UNKNOWN,
		OFFLINE,
		INVALID_CONTACT,
		PERMISSION_DENIED,
		TOO_LONG,
		NOT_IMPLEMENTED
	}
	[CCode (cprefix = "TP_CONN_MGR_PARAM_FLAG_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ConnMgrParamFlags {
		REQUIRED,
		REGISTER,
		HAS_DEFAULT,
		SECRET,
		DBUS_PROPERTY
	}
	[CCode (cprefix = "TP_CONNECTION_ALIAS_FLAG_USER_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ConnectionAliasFlags {
		[CCode (cname = "TP_CONNECTION_ALIAS_FLAG_USER_SET")]
		CONNECTION_ALIAS_FLAG_USER_SET
	}
	[CCode (cprefix = "TP_CONNECTION_CAPABILITY_FLAG_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ConnectionCapabilityFlags {
		CREATE,
		INVITE
	}
	[CCode (cprefix = "TP_CONNECTION_PRESENCE_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ConnectionPresenceType {
		UNSET,
		OFFLINE,
		AVAILABLE,
		AWAY,
		EXTENDED_AWAY,
		HIDDEN,
		BUSY,
		UNKNOWN,
		ERROR
	}
	[CCode (cprefix = "TP_CONNECTION_STATUS_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ConnectionStatus {
		CONNECTED,
		CONNECTING,
		DISCONNECTED
	}
	[CCode (cprefix = "TP_CONNECTION_STATUS_REASON_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ConnectionStatusReason {
		NONE_SPECIFIED,
		REQUESTED,
		NETWORK_ERROR,
		AUTHENTICATION_FAILED,
		ENCRYPTION_ERROR,
		NAME_IN_USE,
		CERT_NOT_PROVIDED,
		CERT_UNTRUSTED,
		CERT_EXPIRED,
		CERT_NOT_ACTIVATED,
		CERT_HOSTNAME_MISMATCH,
		CERT_FINGERPRINT_MISMATCH,
		CERT_SELF_SIGNED,
		CERT_OTHER_ERROR,
		CERT_REVOKED,
		CERT_INSECURE,
		CERT_LIMIT_EXCEEDED
	}
	[CCode (cprefix = "TP_CONTACT_FEATURE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ContactFeature {
		ALIAS,
		AVATAR_TOKEN,
		PRESENCE,
		LOCATION,
		CAPABILITIES,
		AVATAR_DATA,
		CONTACT_INFO,
		CLIENT_TYPES
	}
	[CCode (cprefix = "TP_CONTACT_INFO_FIELD_FLAG_PARAMETERS_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ContactInfoFieldFlags {
		[CCode (cname = "TP_CONTACT_INFO_FIELD_FLAG_PARAMETERS_EXACT")]
		CONTACT_INFO_FIELD_FLAG_PARAMETERS_EXACT
	}
	[CCode (cprefix = "TP_CONTACT_INFO_FLAG_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ContactInfoFlags {
		CAN_SET,
		PUSH
	}
	[CCode (cprefix = "TP_CONTACT_LIST_STATE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ContactListState {
		NONE,
		WAITING,
		FAILURE,
		SUCCESS
	}
	[CCode (cprefix = "TP_CONTACT_METADATA_STORAGE_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ContactMetadataStorageType {
		NONE,
		SUBSCRIBED_OR_PENDING,
		SUBSCRIBED,
		ANYONE
	}
	[CCode (cprefix = "TP_DBUS_ERROR_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum DBusError {
		UNKNOWN_REMOTE_ERROR,
		PROXY_UNREFERENCED,
		NO_INTERFACE,
		NAME_OWNER_LOST,
		INVALID_BUS_NAME,
		INVALID_INTERFACE_NAME,
		INVALID_OBJECT_PATH,
		INVALID_MEMBER_NAME,
		OBJECT_REMOVED,
		CANCELLED,
		INCONSISTENT
	}
	[CCode (cprefix = "TP_DBUS_NAME_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum DBusNameType {
		UNIQUE,
		WELL_KNOWN,
		BUS_DAEMON,
		NOT_BUS_DAEMON,
		ANY
	}
	[CCode (cprefix = "TP_DBUS_PROPERTIES_MIXIN_FLAG_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum DBusPropertiesMixinFlags {
		READ,
		WRITE
	}
	[CCode (cprefix = "TP_DTMF_EVENT_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum DTMFEvent {
		DIGIT_0,
		DIGIT_1,
		DIGIT_2,
		DIGIT_3,
		DIGIT_4,
		DIGIT_5,
		DIGIT_6,
		DIGIT_7,
		DIGIT_8,
		DIGIT_9,
		ASTERISK,
		HASH,
		LETTER_A,
		LETTER_B,
		LETTER_C,
		LETTER_D
	}
	[CCode (cprefix = "TP_DEBUG_LEVEL_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum DebugLevel {
		ERROR,
		CRITICAL,
		WARNING,
		MESSAGE,
		INFO,
		DEBUG
	}
	[CCode (cprefix = "TP_DELIVERY_REPORTING_SUPPORT_FLAG_RECEIVE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum DeliveryReportingSupportFlags {
		FAILURES,
		SUCCESSES,
		READ,
		DELETED
	}
	[CCode (cprefix = "TP_DELIVERY_STATUS_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum DeliveryStatus {
		UNKNOWN,
		DELIVERED,
		TEMPORARILY_FAILED,
		PERMANENTLY_FAILED,
		ACCEPTED,
		READ,
		DELETED
	}
	[CCode (cprefix = "TP_FILE_HASH_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum FileHashType {
		NONE,
		MD5,
		SHA1,
		SHA256
	}
	[CCode (cprefix = "TP_FILE_TRANSFER_STATE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum FileTransferState {
		NONE,
		PENDING,
		ACCEPTED,
		OPEN,
		COMPLETED,
		CANCELLED
	}
	[CCode (cprefix = "TP_FILE_TRANSFER_STATE_CHANGE_REASON_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum FileTransferStateChangeReason {
		NONE,
		REQUESTED,
		LOCAL_STOPPED,
		REMOTE_STOPPED,
		LOCAL_ERROR,
		REMOTE_ERROR
	}
	[CCode (cprefix = "TP_HTTP_METHOD_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum HTTPMethod {
		GET,
		POST
	}
	[CCode (cprefix = "TP_HANDLE_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum HandleType {
		NONE,
		CONTACT,
		ROOM,
		LIST,
		GROUP
	}
	[CCode (cprefix = "TP_LOCAL_HOLD_STATE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum LocalHoldState {
		UNHELD,
		HELD,
		PENDING_HOLD,
		PENDING_UNHOLD
	}
	[CCode (cprefix = "TP_LOCAL_HOLD_STATE_REASON_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum LocalHoldStateReason {
		NONE,
		REQUESTED,
		RESOURCE_NOT_AVAILABLE
	}
	[CCode (cprefix = "TP_LOCATION_FEATURE_CAN_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum LocationFeatures {
		[CCode (cname = "TP_LOCATION_FEATURE_CAN_SET")]
		LOCATION_FEATURE_CAN_SET
	}
	[CCode (cprefix = "TP_MAIL_NOTIFICATION_FLAG_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum MailNotificationFlags {
		SUPPORTS_UNREAD_MAIL_COUNT,
		SUPPORTS_UNREAD_MAILS,
		EMITS_MAILS_RECEIVED,
		SUPPORTS_REQUEST_INBOX_URL,
		SUPPORTS_REQUEST_MAIL_URL,
		THREAD_BASED
	}
	[CCode (cprefix = "TP_MEDIA_STREAM_BASE_PROTO_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum MediaStreamBaseProto {
		UDP,
		TCP
	}
	[CCode (cprefix = "TP_MEDIA_STREAM_DIRECTION_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum MediaStreamDirection {
		NONE,
		SEND,
		RECEIVE,
		BIDIRECTIONAL
	}
	[CCode (cprefix = "TP_MEDIA_STREAM_ERROR_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum MediaStreamError {
		UNKNOWN,
		EOS,
		CODEC_NEGOTIATION_FAILED,
		CONNECTION_FAILED,
		NETWORK_ERROR,
		NO_CODECS,
		INVALID_CM_BEHAVIOR,
		MEDIA_ERROR
	}
	[CCode (cprefix = "TP_MEDIA_STREAM_PENDING_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum MediaStreamPendingSend {
		LOCAL_SEND,
		REMOTE_SEND
	}
	[CCode (cprefix = "TP_MEDIA_STREAM_STATE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum MediaStreamState {
		DISCONNECTED,
		CONNECTING,
		CONNECTED
	}
	[CCode (cprefix = "TP_MEDIA_STREAM_TRANSPORT_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum MediaStreamTransportType {
		LOCAL,
		DERIVED,
		RELAY
	}
	[CCode (cprefix = "TP_MEDIA_STREAM_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum MediaStreamType {
		AUDIO,
		VIDEO
	}
	[CCode (cprefix = "TP_MESSAGE_PART_SUPPORT_FLAG_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum MessagePartSupportFlags {
		ONE_ATTACHMENT,
		MULTIPLE_ATTACHMENTS
	}
	[CCode (cprefix = "TP_MESSAGE_SENDING_FLAG_REPORT_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum MessageSendingFlags {
		DELIVERY,
		READ,
		DELETED
	}
	[CCode (cprefix = "TP_PROPERTY_FLAG_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum PropertyFlags {
		READ,
		WRITE
	}
	[CCode (cprefix = "TP_RICH_PRESENCE_ACCESS_CONTROL_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum RichPresenceAccessControlType {
		WHITELIST,
		PUBLISH_LIST,
		GROUP,
		OPEN
	}
	[CCode (cprefix = "TP_SERVICE_POINT_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum ServicePointType {
		NONE,
		EMERGENCY,
		COUNSELING
	}
	[CCode (cprefix = "TP_SOCKET_ACCESS_CONTROL_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum SocketAccessControl {
		LOCALHOST,
		PORT,
		NETMASK,
		CREDENTIALS
	}
	[CCode (cprefix = "TP_SOCKET_ADDRESS_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum SocketAddressType {
		UNIX,
		ABSTRACT_UNIX,
		IPV4,
		IPV6
	}
	[CCode (cprefix = "TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum StorageRestrictionFlags {
		PARAMETERS,
		ENABLED,
		PRESENCE,
		SERVICE
	}
	[CCode (cprefix = "TP_SUBSCRIPTION_STATE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum SubscriptionState {
		UNKNOWN,
		NO,
		REMOVED_REMOTELY,
		ASK,
		YES
	}
	[CCode (cprefix = "TP_TLS_CERTIFICATE_REJECT_REASON_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum TLSCertificateRejectReason {
		UNKNOWN,
		UNTRUSTED,
		EXPIRED,
		NOT_ACTIVATED,
		FINGERPRINT_MISMATCH,
		HOSTNAME_MISMATCH,
		SELF_SIGNED,
		REVOKED,
		INSECURE,
		LIMIT_EXCEEDED
	}
	[CCode (cprefix = "TP_TLS_CERTIFICATE_STATE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum TLSCertificateState {
		PENDING,
		ACCEPTED,
		REJECTED
	}
	[CCode (cprefix = "TP_TUBE_CHANNEL_STATE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum TubeChannelState {
		LOCAL_PENDING,
		REMOTE_PENDING,
		OPEN,
		NOT_OFFERED
	}
	[CCode (cprefix = "TP_TUBE_STATE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum TubeState {
		LOCAL_PENDING,
		REMOTE_PENDING,
		OPEN
	}
	[CCode (cprefix = "TP_TUBE_TYPE_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public enum TubeType {
		DBUS,
		STREAM
	}
	[CCode (cprefix = "ERROR_", cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public errordomain Error {
		NETWORK_ERROR,
		NOT_IMPLEMENTED,
		INVALID_ARGUMENT,
		NOT_AVAILABLE,
		PERMISSION_DENIED,
		DISCONNECTED,
		INVALID_HANDLE,
		CHANNEL_BANNED,
		CHANNEL_FULL,
		CHANNEL_INVITE_ONLY,
		NOT_YOURS,
		CANCELLED,
		AUTHENTICATION_FAILED,
		ENCRYPTION_NOT_AVAILABLE,
		ENCRYPTION_ERROR,
		CERT_NOT_PROVIDED,
		CERT_UNTRUSTED,
		CERT_EXPIRED,
		CERT_NOT_ACTIVATED,
		CERT_FINGERPRINT_MISMATCH,
		CERT_HOSTNAME_MISMATCH,
		CERT_SELF_SIGNED,
		CERT_INVALID,
		NOT_CAPABLE,
		OFFLINE,
		CHANNEL_KICKED,
		BUSY,
		NO_ANSWER,
		DOES_NOT_EXIST,
		TERMINATED,
		CONNECTION_REFUSED,
		CONNECTION_FAILED,
		CONNECTION_LOST,
		ALREADY_CONNECTED,
		CONNECTION_REPLACED,
		REGISTRATION_EXISTS,
		SERVICE_BUSY,
		RESOURCE_UNAVAILABLE,
		WOULD_BREAK_ANONYMITY,
		CERT_REVOKED,
		CERT_INSECURE,
		CERT_LIMIT_EXCEEDED,
		NOT_YET,
		REJECTED,
		PICKED_UP_ELSEWHERE,
	}
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate void BaseClientClassAddDispatchOperationImpl ([CCode (array_length_pos = 0.5)] TelepathyGLib.Account account, [CCode (array_length_pos = 0.5)] TelepathyGLib.Connection connection, [CCode (array_length_pos = 0.5)] GLib.List<weak TelepathyGLib.Channel> channels, [CCode (array_length_pos = 0.5)] TelepathyGLib.ChannelDispatchOperation dispatch_operation, [CCode (array_length_pos = 0.5)] TelepathyGLib.AddDispatchOperationContext context);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate void BaseClientClassHandleChannelsImpl ([CCode (array_length_pos = 0.5)] TelepathyGLib.Account account, [CCode (array_length_pos = 0.5)] TelepathyGLib.Connection connection, [CCode (array_length_pos = 0.5)] GLib.List<weak TelepathyGLib.Channel> channels, [CCode (array_length_pos = 0.5)] GLib.List<weak TelepathyGLib.ChannelRequest> requests_satisfied, [CCode (array_length_pos = 0.5)] int64 user_action_time, [CCode (array_length_pos = 0.5)] TelepathyGLib.HandleChannelsContext context);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate void BaseClientClassObserveChannelsImpl ([CCode (array_length_pos = 0.5)] TelepathyGLib.Account account, [CCode (array_length_pos = 0.5)] TelepathyGLib.Connection connection, [CCode (array_length_pos = 0.5)] GLib.List<weak TelepathyGLib.Channel> channels, [CCode (array_length_pos = 0.5)] TelepathyGLib.ChannelDispatchOperation? dispatch_operation, [CCode (array_length_pos = 0.5)] GLib.List<weak TelepathyGLib.ChannelRequest> requests, [CCode (array_length_pos = 0.5)] TelepathyGLib.ObserveChannelsContext context);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate GLib.GenericArray<void*> BaseConnectionCreateChannelFactoriesImpl ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate GLib.GenericArray<void*> BaseConnectionCreateChannelManagersImpl ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate string BaseConnectionGetUniqueConnectionNameImpl ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate void BaseConnectionProc ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate bool BaseConnectionStartConnectingImpl () throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 1.9)]
	public delegate void ChannelWhenReadyCb ([CCode (array_length_pos = 0.5)] GLib.Error error);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 3.9)]
	public delegate void ConnectionContactsByHandleCb ([CCode (array_length_cname = "n_contacts", array_length_pos = 0.666667)] TelepathyGLib.Contact[] contacts, [CCode (array_length_cname = "n_failed", array_length_pos = 1.5)] TelepathyGLib.Handle[] failed, [CCode (array_length_pos = 0.333333)] GLib.Error error, [CCode (array_length_pos = 0.333333)] GLib.Object weak_object);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 4.9)]
	public delegate void ConnectionContactsByIdCb ([CCode (array_length_cname = "n_contacts", array_length_pos = 0.666667)] TelepathyGLib.Contact[] contacts, [CCode (array_length_cname = "n_contacts", array_length_pos = 0.666667)] string[] requested_ids, [CCode (array_length_pos = 0.333333)] GLib.HashTable<weak string,weak GLib.Error> failed_id_errors, [CCode (array_length_pos = 0.333333)] GLib.Error error, [CCode (array_length_pos = 0.333333)] GLib.Object weak_object);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 4.9)]
	public delegate void ConnectionHoldHandlesCb ([CCode (array_length_pos = 0.5)] TelepathyGLib.HandleType handle_type, [CCode (array_length_pos = 0.5)] uint n_handles, [CCode (array_length_pos = 0.5)] TelepathyGLib.Handle handles, [CCode (array_length_pos = 0.5)] GLib.Error error, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 2.9)]
	public delegate void ConnectionManagerListCb ([CCode (array_length_pos = 0.5)] ulong n_cms, [CCode (array_length_pos = 0.5)] GLib.Error error, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 1.9)]
	public delegate void ConnectionManagerWhenReadyCb ([CCode (array_length_pos = 0.5)] GLib.Error error, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 4.9)]
	public delegate void ConnectionNameListCb ([CCode (array_length_pos = 0.5)] ulong n, [CCode (array_length_cname = "names", array_length_pos = 0.5)] string[] cms, [CCode (array_length_cname = "names", array_length_pos = 0.5)] string[] protocols, [CCode (array_length_pos = 0.5)] GLib.Error error, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 4.9)]
	public delegate void ConnectionRequestHandlesCb ([CCode (array_length_pos = 0.5)] TelepathyGLib.HandleType handle_type, [CCode (array_length_cname = "n_handles", array_length_pos = 1.5)] uint[] handles, [CCode (array_length_cname = "n_handles", array_length_pos = 1.5)] string[] ids, [CCode (array_length_pos = 0.5)] GLib.Error error, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 3.9)]
	public delegate void ConnectionUpgradeContactsCb ([CCode (array_length_pos = 0.5)] uint n_contacts, [CCode (array_length_pos = 0.5)] TelepathyGLib.Contact contacts, [CCode (array_length_pos = 0.5)] GLib.Error error, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 1.9)]
	public delegate void ConnectionWhenReadyCb ([CCode (array_length_pos = 0.5)] GLib.Error error);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate void ContactsMixinFillContactAttributesFunc ([CCode (array_length_pos = 0.5)] GLib.Array<weak void*> contacts, [CCode (array_length_pos = 0.5)] GLib.HashTable<weak void*,weak void*> attributes_hash);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 2.9)]
	public delegate void DBusDaemonListNamesCb ([CCode (array_length_pos = 0.5)] string names, [CCode (array_length_pos = 0.5)] GLib.Error error, [CCode (array_length_pos = 0.5)] GLib.Object weak_object);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 2.9)]
	public delegate void DBusDaemonNameOwnerChangedCb ([CCode (array_length_pos = 0.5)] string name, [CCode (array_length_pos = 0.5)] string new_owner);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate void DBusPropertiesMixinGetter ([CCode (array_length_pos = 0.5)] GLib.Quark iface, [CCode (array_length_pos = 0.5)] GLib.Quark name, [CCode (array_length_pos = 0.5)] GLib.Value value, [CCode (array_length_pos = 0.5)] void* getter_data);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate bool DBusPropertiesMixinSetter ([CCode (array_length_pos = 0.5)] GLib.Quark iface, [CCode (array_length_pos = 0.5)] GLib.Quark name, [CCode (array_length_pos = 0.5)] GLib.Value value, [CCode (array_length_pos = 0.5)] void* setter_data) throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate bool GroupMixinAddMemberFunc ([CCode (array_length_pos = 0.5)] TelepathyGLib.Handle handle, [CCode (array_length_pos = 0.5)] string message) throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate bool GroupMixinRemMemberFunc ([CCode (array_length_pos = 0.5)] TelepathyGLib.Handle handle, [CCode (array_length_pos = 0.5)] string message) throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate bool GroupMixinRemMemberWithReasonFunc ([CCode (array_length_pos = 0.5)] TelepathyGLib.Handle handle, [CCode (array_length_pos = 0.5)] string message, [CCode (array_length_pos = 0.5)] uint reason) throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate void IntFunc ([CCode (array_length_pos = 0.5)] void* userdata);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate GLib.HashTable<void*,void*> PresenceMixinGetContactStatusesFunc ([CCode (array_length_pos = 0.5)] GLib.Array<weak void*> contacts) throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate bool PresenceMixinSetOwnStatusFunc ([CCode (array_length_pos = 0.5)] TelepathyGLib.PresenceStatus status) throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", has_target = false)]
	public delegate bool PresenceMixinStatusAvailableFunc ([CCode (array_length_pos = 0.5)] uint which);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 5.9)]
	public delegate void SimpleApproverAddDispatchOperationImpl ([CCode (array_length_pos = 0.5)] TelepathyGLib.Account account, [CCode (array_length_pos = 0.5)] TelepathyGLib.Connection connection, [CCode (array_length_pos = 0.5)] GLib.List<weak TelepathyGLib.Channel> channels, [CCode (array_length_pos = 0.5)] TelepathyGLib.ChannelDispatchOperation? dispatch_operation, [CCode (array_length_pos = 0.5)] TelepathyGLib.AddDispatchOperationContext context);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 6.9)]
	public delegate void SimpleHandlerHandleChannelsImpl ([CCode (array_length_pos = 0.5)] TelepathyGLib.Account account, [CCode (array_length_pos = 0.5)] TelepathyGLib.Connection connection, [CCode (array_length_pos = 0.5)] GLib.List<weak TelepathyGLib.Channel> channels, [CCode (array_length_pos = 0.5)] GLib.List<weak TelepathyGLib.ChannelRequest> requests_satisfied, [CCode (array_length_pos = 0.5)] int64 user_action_time, [CCode (array_length_pos = 0.5)] TelepathyGLib.HandleChannelsContext context);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h", instance_pos = 6.9)]
	public delegate void SimpleObserverObserveChannelsImpl ([CCode (array_length_pos = 0.5)] TelepathyGLib.Account account, [CCode (array_length_pos = 0.5)] TelepathyGLib.Connection connection, [CCode (array_length_pos = 0.5)] GLib.List<weak TelepathyGLib.Channel> channels, [CCode (array_length_pos = 0.5)] TelepathyGLib.ChannelDispatchOperation? dispatch_operation, [CCode (array_length_pos = 0.5)] GLib.List<weak TelepathyGLib.ChannelRequest> requests, [CCode (array_length_pos = 0.5)] TelepathyGLib.ObserveChannelsContext context);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string ACCOUNT_MANAGER_BUS_NAME;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string ACCOUNT_MANAGER_OBJECT_PATH;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string ACCOUNT_OBJECT_PATH_BASE;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string CHANNEL_DISPATCHER_BUS_NAME;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string CHANNEL_DISPATCHER_OBJECT_PATH;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string CLIENT_BUS_NAME_BASE;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string CLIENT_OBJECT_PATH_BASE;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string CM_BUS_NAME_BASE;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string CM_OBJECT_PATH_BASE;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string CONN_BUS_NAME_BASE;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string CONN_OBJECT_PATH_BASE;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const string ERROR_PREFIX;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public const int UNKNOWN_CONNECTION_STATUS;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static bool asv_get_boolean ([CCode (array_length_pos = 0.5)] string key, [CCode (array_length_pos = 0.5)] out bool valid);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static void* asv_get_boxed ([CCode (array_length_pos = 0.5)] string key, [CCode (array_length_pos = 0.5)] GLib.Type type);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static unowned GLib.Array<weak void*> asv_get_bytes ([CCode (array_length_pos = 0.5)] string key);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static double asv_get_double ([CCode (array_length_pos = 0.5)] string key, [CCode (array_length_pos = 0.5)] out bool valid);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static int32 asv_get_int32 ([CCode (array_length_pos = 0.5)] string key, [CCode (array_length_pos = 0.5)] out bool valid);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static int64 asv_get_int64 ([CCode (array_length_pos = 0.5)] string key, [CCode (array_length_pos = 0.5)] out bool valid);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static unowned string asv_get_object_path ([CCode (array_length_pos = 0.5)] string key);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static unowned string asv_get_string ([CCode (array_length_pos = 0.5)] string key);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static unowned string[] asv_get_strv ([CCode (array_length_pos = 0.5)] string key);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static uint32 asv_get_uint32 ([CCode (array_length_pos = 0.5)] string key, [CCode (array_length_pos = 0.5)] out bool valid);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static uint64 asv_get_uint64 ([CCode (array_length_pos = 0.5)] string key, [CCode (array_length_pos = 0.5)] out bool valid);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static bool dbus_check_valid_bus_name ([CCode (array_length_pos = 0.5)] TelepathyGLib.DBusNameType allow_types) throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static bool dbus_check_valid_interface_name () throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static bool dbus_check_valid_member_name () throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static bool dbus_check_valid_object_path () throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static GLib.Quark dbus_errors_quark ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static void dbus_properties_mixin_class_init ([CCode (array_length_pos = 0.5)] ulong offset);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static bool dbus_properties_mixin_get ([CCode (array_length_pos = 0.5)] string interface_name, [CCode (array_length_pos = 0.5)] string property_name, [CCode (array_length_pos = 0.5)] GLib.Value value) throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static void dbus_properties_mixin_getter_gobject_properties ([CCode (array_length_pos = 0.5)] GLib.Quark iface, [CCode (array_length_pos = 0.5)] GLib.Quark name, [CCode (array_length_pos = 0.5)] GLib.Value value, [CCode (array_length_pos = 0.5)] void* getter_data);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static void dbus_properties_mixin_iface_init ([CCode (array_length_pos = 0.5)] void* iface_data);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static bool dbus_properties_mixin_setter_gobject_properties ([CCode (array_length_pos = 0.5)] GLib.Quark iface, [CCode (array_length_pos = 0.5)] GLib.Quark name, [CCode (array_length_pos = 0.5)] GLib.Value value, [CCode (array_length_pos = 0.5)] void* setter_data) throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static void debug_divert_messages ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static void debug_set_flags ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static void debug_set_persistent ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static void debug_timestamped_log_handler ([CCode (array_length_pos = 0.5)] GLib.LogLevelFlags log_level, [CCode (array_length_pos = 0.5)] string message, [CCode (array_length_pos = 0.5)] void* ignored);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static unowned string error_get_dbus_name ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static GLib.Quark error_quark ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static GLib.Quark errors_disconnected_quark ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static GLib.Quark errors_removed_from_group_quark ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static TelepathyGLib.Handle handle_ensure ([CCode (array_length_pos = 0.5)] string id, [CCode (array_length_pos = 0.5)] void* context) throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static bool handle_type_is_valid () throws GLib.Error;
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static unowned string handle_type_to_string ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static TelepathyGLib.Intset intset_from_array ();
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static void list_connection_managers ([CCode (array_length_pos = 0.5, delegate_target_pos = 1.33333)] owned TelepathyGLib.ConnectionManagerListCb callback, [CCode (array_length_pos = 0.5)] GLib.Object? weak_object);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static void list_connection_names ([CCode (array_length_pos = 0.5, delegate_target_pos = 1.33333)] owned TelepathyGLib.ConnectionNameListCb callback, [CCode (array_length_pos = 0.5)] GLib.Object? weak_object);
	[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
	public static void svc_interface_set_dbus_properties_info ([CCode (array_length_pos = 0.5)] TelepathyGLib.DBusPropertiesMixinIfaceInfo info);
}
