/* libedata-cal-2.0.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "E", gir_namespace = "EDataCal", gir_version = "2.0", lower_case_cprefix = "e_")]
namespace E {
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", type_id = "e_cal_backend_get_type ()")]
	public class CalBackend : E.Backend, ECal.TimezoneCache {
		[CCode (has_construct_function = false)]
		protected CalBackend ();
		[Version (since = "3.10")]
		public async bool add_timezone (string tzobject, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public bool add_timezone_sync (string tzobject, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.2")]
		public void add_view (E.DataCalView view);
		[Version (since = "3.4")]
		public string create_cache_filename (string uid, string? filename, int fileindex);
		[Version (since = "3.10")]
		public async bool create_objects (string calobjs, ECal.OperationFlags opflags, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public bool create_objects_sync (string calobjs, ECal.OperationFlags opflags, GLib.Queue out_uids, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.10")]
		public async bool discard_alarm (string uid, string? rid, string alarm_uid, ECal.OperationFlags opflags, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public bool discard_alarm_sync (string uid, string? rid, string alarm_uid, ECal.OperationFlags opflags, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.10")]
		public string dup_cache_dir ();
		[Version (since = "3.34")]
		public bool foreach_view (E.CalBackendForeachViewFunc func);
		[Version (since = "3.34")]
		public void foreach_view_notify_progress (bool only_completed_views, int percent, string? message);
		[Version (since = "3.10")]
		public async bool get_attachment_uris (string uid, string? rid, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public bool get_attachment_uris_sync (string uid, string? rid, GLib.Queue out_attachment_uris, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.10")]
		public string get_backend_property (string prop_name);
		[Version (since = "2.32")]
		public unowned string get_cache_dir ();
		[Version (since = "3.10")]
		public async bool get_free_busy (time_t start, time_t end, [CCode (array_length = false, array_null_terminated = true)] string[] users, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public bool get_free_busy_sync (time_t start, time_t end, [CCode (array_length = false, array_null_terminated = true)] string[] users, GLib.SList<string> out_freebusy, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public ICal.ComponentKind get_kind ();
		[Version (since = "3.10")]
		public async string get_object (string uid, string? rid, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public async bool get_object_list (string query, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public bool get_object_list_sync (string query, GLib.Queue out_objects, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.10")]
		public string get_object_sync (string uid, string? rid, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.6")]
		public unowned E.SourceRegistry get_registry ();
		[Version (since = "3.10")]
		public async string get_timezone (string tzid, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public string get_timezone_sync (string tzid, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.8")]
		public bool get_writable ();
		[NoWrapper]
		public virtual void impl_add_timezone (E.DataCal cal, uint32 opid, GLib.Cancellable? cancellable, string tzobject);
		[NoWrapper]
		public virtual void impl_discard_alarm (E.DataCal cal, uint32 opid, GLib.Cancellable? cancellable, string uid, string rid, string auid, ECal.OperationFlags opflags);
		[NoWrapper]
		public virtual void impl_get_attachment_uris (E.DataCal cal, uint32 opid, GLib.Cancellable? cancellable, string uid, string rid);
		[NoWrapper]
		public virtual string impl_get_backend_property (string prop_name);
		[NoWrapper]
		public virtual void impl_get_object (E.DataCal cal, uint32 opid, GLib.Cancellable? cancellable, string uid, string rid);
		[NoWrapper]
		public virtual void impl_get_object_list (E.DataCal cal, uint32 opid, GLib.Cancellable? cancellable, string sexp);
		[NoWrapper]
		public virtual void impl_get_timezone (E.DataCal cal, uint32 opid, GLib.Cancellable? cancellable, string tzid);
		[NoWrapper]
		public virtual void impl_open (E.DataCal cal, uint32 opid, GLib.Cancellable? cancellable = null);
		[NoWrapper]
		public virtual void impl_receive_objects (E.DataCal cal, uint32 opid, GLib.Cancellable? cancellable, string calobj, ECal.OperationFlags opflags);
		[NoWrapper]
		public virtual void impl_refresh (E.DataCal cal, uint32 opid, GLib.Cancellable? cancellable = null);
		[NoWrapper]
		public virtual void impl_send_objects (E.DataCal cal, uint32 opid, GLib.Cancellable? cancellable, string calobj, ECal.OperationFlags opflags);
		[NoWrapper]
		public virtual void impl_start_view (E.DataCalView view);
		[NoWrapper]
		public virtual void impl_stop_view (E.DataCalView view);
		[Version (since = "3.2")]
		public bool is_opened ();
		[Version (since = "3.2")]
		public bool is_readonly ();
		[Version (since = "3.8")]
		public GLib.List<E.DataCalView> list_views ();
		public static bool mail_account_get_default (E.SourceRegistry registry, string address, string name);
		public static bool mail_account_is_valid (E.SourceRegistry registry, string user, string name);
		[Version (since = "3.10")]
		public async bool modify_objects (string calobjs, ECal.ObjModType mod, ECal.OperationFlags opflags, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public bool modify_objects_sync (string calobjs, ECal.ObjModType mod, ECal.OperationFlags opflags, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.4")]
		public void notify_component_created (ECal.Component component);
		[Version (since = "3.4")]
		public void notify_component_modified (ECal.Component old_component, ECal.Component new_component);
		[Version (since = "3.4")]
		public void notify_component_removed (ECal.ComponentId id, ECal.Component old_component, ECal.Component new_component);
		public void notify_error (string message);
		[Version (since = "3.2")]
		public void notify_property_changed (string prop_name, string? prop_value);
		[Version (since = "3.10")]
		public async bool open (GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public bool open_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.10")]
		public GLib.Task prepare_for_completion (uint opid);
		[Version (since = "3.10")]
		public async bool receive_objects (string calobj, ECal.OperationFlags opflags, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public bool receive_objects_sync (string calobj, ECal.OperationFlags opflags, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.10")]
		public E.DataCal? ref_data_cal ();
		[Version (since = "3.12")]
		public GLib.ProxyResolver? ref_proxy_resolver ();
		[Version (since = "3.10")]
		public async bool refresh (GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public bool refresh_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.10")]
		public async bool remove_objects (GLib.List<ECal.ComponentId> component_ids, ECal.ObjModType mod, ECal.OperationFlags opflags, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public bool remove_objects_sync (GLib.List<ECal.ComponentId> component_ids, ECal.ObjModType mod, ECal.OperationFlags opflags, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.2")]
		public void remove_view (E.DataCalView view);
		[Version (since = "3.26")]
		public void schedule_custom_operation (GLib.Cancellable? use_cancellable, owned E.CalBackendCustomOpFunc func);
		[Version (since = "3.10")]
		public async string send_objects (string calobj, ECal.OperationFlags opflags, GLib.Cancellable? cancellable) throws GLib.Error;
		[Version (since = "3.10")]
		public string send_objects_sync (string calobj, ECal.OperationFlags opflags, GLib.Queue out_users, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "2.32")]
		public void set_cache_dir (string cache_dir);
		[Version (since = "3.10")]
		public void set_data_cal (E.DataCal data_cal);
		[Version (since = "3.8")]
		public void set_writable (bool writable);
		[Version (since = "3.2")]
		public void start_view (E.DataCalView view);
		[Version (since = "3.2")]
		public void stop_view (E.DataCalView view);
		[Version (since = "2.26")]
		public static bool user_declined (E.SourceRegistry registry, ICal.Component icalcomp);
		public string cache_dir { get; set; }
		public ulong kind { get; construct; }
		[NoAccessorMethod]
		public GLib.ProxyResolver proxy_resolver { owned get; }
		public E.SourceRegistry registry { get; construct; }
		public bool writable { get; set; }
		[Version (since = "3.10")]
		public virtual signal void closed (string sender);
		[Version (since = "3.10")]
		public virtual signal void shutdown ();
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", type_id = "e_cal_backend_factory_get_type ()")]
	public abstract class CalBackendFactory : E.BackendFactory {
		[CCode (has_construct_function = false)]
		protected CalBackendFactory ();
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", type_id = "e_cal_backend_sexp_get_type ()")]
	public class CalBackendSExp : GLib.Object {
		[CCode (has_construct_function = false)]
		public CalBackendSExp (string text);
		[Version (since = "2.32")]
		public bool evaluate_occur_times (time_t start, time_t end);
		[Version (since = "3.34")]
		public void @lock ();
		public bool match_comp (ECal.Component comp, ECal.TimezoneCache cache);
		public bool match_object (string object, ECal.TimezoneCache cache);
		public unowned string text ();
		[Version (since = "3.34")]
		public void @unlock ();
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", type_id = "e_cal_backend_sync_get_type ()")]
	public class CalBackendSync : E.CalBackend, ECal.TimezoneCache {
		[CCode (has_construct_function = false)]
		protected CalBackendSync ();
		public void add_timezone (E.DataCal cal, GLib.Cancellable? cancellable, string tzobject) throws GLib.Error;
		[NoWrapper]
		public virtual void add_timezone_sync (E.DataCal cal, GLib.Cancellable? cancellable, string tzobject) throws GLib.Error;
		[Version (since = "3.6")]
		public void create_objects (E.DataCal cal, GLib.Cancellable? cancellable, GLib.SList<string> calobjs, ECal.OperationFlags opflags, out GLib.SList<string> uids, out GLib.SList<ECal.Component> new_components) throws GLib.Error;
		public void discard_alarm (E.DataCal cal, GLib.Cancellable? cancellable, string uid, string rid, string auid, ECal.OperationFlags opflags) throws GLib.Error;
		[NoWrapper]
		public virtual void discard_alarm_sync (E.DataCal cal, GLib.Cancellable? cancellable, string uid, string rid, string auid, ECal.OperationFlags opflags) throws GLib.Error;
		[Version (since = "3.2")]
		public void get_attachment_uris (E.DataCal cal, GLib.Cancellable? cancellable, string uid, string rid, GLib.SList<string> attachments) throws GLib.Error;
		public void get_free_busy (E.DataCal cal, GLib.Cancellable? cancellable, GLib.SList<string> users, time_t start, time_t end, out GLib.SList<string> freebusyobjects) throws GLib.Error;
		public void get_object (E.DataCal cal, GLib.Cancellable? cancellable, string uid, string? rid, out string calobj) throws GLib.Error;
		public void get_object_list (E.DataCal cal, GLib.Cancellable? cancellable, string sexp, out GLib.SList<string> calobjs) throws GLib.Error;
		[NoWrapper]
		public virtual void get_object_sync (E.DataCal cal, GLib.Cancellable? cancellable, string uid, string rid, string calobj) throws GLib.Error;
		public void get_timezone (E.DataCal cal, GLib.Cancellable? cancellable, string tzid, string tzobject) throws GLib.Error;
		[NoWrapper]
		public virtual void get_timezone_sync (E.DataCal cal, GLib.Cancellable? cancellable, string tzid, string tzobject) throws GLib.Error;
		[Version (since = "3.6")]
		public void modify_objects (E.DataCal cal, GLib.Cancellable? cancellable, GLib.SList<string> calobjs, ECal.ObjModType mod, ECal.OperationFlags opflags, out GLib.SList<ECal.Component> old_components, out GLib.SList<ECal.Component> new_components) throws GLib.Error;
		public void open (E.DataCal cal, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[NoWrapper]
		public virtual void open_sync (E.DataCal cal, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public void receive_objects (E.DataCal cal, GLib.Cancellable? cancellable, string calobj, ECal.OperationFlags opflags) throws GLib.Error;
		[NoWrapper]
		public virtual void receive_objects_sync (E.DataCal cal, GLib.Cancellable? cancellable, string calobj, ECal.OperationFlags opflags) throws GLib.Error;
		[Version (since = "2.30")]
		public void refresh (E.DataCal cal, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[NoWrapper]
		public virtual void refresh_sync (E.DataCal cal, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.6")]
		public void remove_objects (E.DataCal cal, GLib.Cancellable? cancellable, GLib.SList<ECal.ComponentId> ids, ECal.ObjModType mod, ECal.OperationFlags opflags, out GLib.SList<ECal.Component> old_components, out GLib.SList<ECal.Component> new_components) throws GLib.Error;
		public void send_objects (E.DataCal cal, GLib.Cancellable? cancellable, string calobj, ECal.OperationFlags opflags, GLib.SList<string> users, out string modified_calobj) throws GLib.Error;
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", type_id = "e_cal_cache_get_type ()")]
	[Version (since = "3.26")]
	public class CalCache : E.Cache, ECal.TimezoneCache, E.Extensible {
		[CCode (has_construct_function = false)]
		public CalCache (string filename, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool contains (string uid, string? rid, E.CacheDeletedFlag deleted_flag);
		public bool delete_attachments (ICal.Component component, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool dup_timezone_as_string (string tzid, out string out_zone_string, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool get_component (string uid, string? rid, out ECal.Component out_component, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool get_component_as_string (string uid, string? rid, out string out_icalstring, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.34")]
		public bool get_component_custom_flags (string uid, string? rid, out uint32 out_custom_flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool get_component_extra (string uid, string? rid, out string out_extra, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool get_components_by_uid (string uid, out GLib.SList<ECal.Component> out_components, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool get_components_by_uid_as_string (string uid, out GLib.SList<string> out_icalstrings, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool get_components_in_range (time_t range_start, time_t range_end, out GLib.SList<ECal.Component> out_components, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool get_components_in_range_as_strings (time_t range_start, time_t range_end, out GLib.SList<string> out_icalstrings, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool get_ids_with_extra (string extra, out GLib.SList<ECal.ComponentId> out_ids, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public GLib.SList<E.CalCacheOfflineChange> get_offline_changes (GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.34")]
		public E.OfflineState get_offline_state (string uid, string? rid, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool get_timezone (string tzid, out unowned ICal.Timezone out_zone, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool list_timezones (out GLib.List<weak ICal.Timezone> out_timezones, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool put_component (ECal.Component component, string? extra, uint32 custom_flags, E.CacheOfflineFlag offline_flag, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool put_components (GLib.SList<ECal.Component> components, GLib.SList<string>? extras, GLib.SList<uint32>? custom_flags, E.CacheOfflineFlag offline_flag, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool put_timezone (ICal.Timezone zone, uint inc_ref_counts, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool remove_component (string uid, string? rid, uint32 custom_flags, E.CacheOfflineFlag offline_flag, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool remove_components (GLib.SList<ECal.ComponentId> ids, GLib.SList<uint32>? custom_flags, E.CacheOfflineFlag offline_flag, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.30")]
		public bool remove_timezone (string tzid, uint dec_ref_counts, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool remove_timezones (GLib.Cancellable? cancellable = null) throws GLib.Error;
		public static unowned ICal.Timezone? resolve_timezone_cb (string tzid, void* cal_cache, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool search (string? sexp, out GLib.SList<E.CalCacheSearchData> out_data, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool search_components (string? sexp, out GLib.SList<ECal.Component> out_components, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool search_ids (string? sexp, out GLib.SList<ECal.ComponentId> out_ids, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool search_with_callback (string? sexp, [CCode (delegate_target_pos = 2.5)] E.CalCacheSearchFunc func, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.34")]
		public bool set_component_custom_flags (string uid, string? rid, uint32 custom_flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool set_component_extra (string uid, string? rid, string? extra, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[HasEmitter]
		public virtual signal string dup_component_revision (ICal.Component icomp);
		[CCode (cname = "get-timezone")]
		[Version (since = "3.30")]
		public signal unowned ICal.Timezone get_timezone_impl (string tzid);
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_cal_cache_offline_change_get_type ()")]
	[Compact]
	[Version (since = "3.26")]
	public class CalCacheOfflineChange {
		public weak string object;
		public weak string revision;
		public weak string rid;
		public E.OfflineState state;
		public weak string uid;
		[CCode (has_construct_function = false)]
		public CalCacheOfflineChange (string uid, string? rid, string? revision, string? object, E.OfflineState state);
		public E.CalCacheOfflineChange? copy ();
		public static void free (void* change);
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_cal_cache_search_data_get_type ()")]
	[Compact]
	[Version (since = "3.26")]
	public class CalCacheSearchData {
		public weak string extra;
		public weak string object;
		public weak string rid;
		public weak string uid;
		[CCode (has_construct_function = false)]
		public CalCacheSearchData (string uid, string? rid, string object, string? extra);
		public E.CalCacheSearchData? copy ();
		public static void free (void* ptr);
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", type_id = "e_cal_meta_backend_get_type ()")]
	[Version (since = "3.26")]
	public abstract class CalMetaBackend : E.CalBackendSync, ECal.TimezoneCache {
		[CCode (has_construct_function = false)]
		protected CalMetaBackend ();
		public virtual bool connect_sync (E.NamedParameters? credentials, out E.SourceAuthenticationResult out_auth_result, out string out_certificate_pem, out GLib.TlsCertificateFlags out_certificate_errors, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual bool disconnect_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
		[Version (since = "3.28")]
		public string? dup_sync_tag ();
		public bool empty_cache_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool ensure_connected_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool gather_timezones_sync (ICal.Component vcalendar, bool remove_existing, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public unowned string get_capabilities ();
		public virtual bool get_changes_sync (string? last_sync_tag, bool is_repeat, out string out_new_sync_tag, out bool out_repeat, out GLib.SList<E.CalMetaBackendInfo> out_created_objects, out GLib.SList<E.CalMetaBackendInfo> out_modified_objects, out GLib.SList<E.CalMetaBackendInfo> out_removed_objects, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool get_connected_writable ();
		public bool get_ever_connected ();
		[Version (since = "3.28")]
		public virtual bool get_ssl_error_details (out string out_certificate_pem, out GLib.TlsCertificateFlags out_certificate_errors);
		public bool inline_local_attachments_sync (ICal.Component component, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual bool list_existing_sync (out string out_new_sync_tag, out GLib.SList<E.CalMetaBackendInfo> out_existing_objects, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual bool load_component_sync (string uid, string? extra, out ICal.Component out_component, out string out_extra, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public ICal.Component merge_instances (GLib.SList<ECal.Component> instances, bool replace_tzid_with_location);
		public bool process_changes_sync (GLib.SList<E.CalMetaBackendInfo>? created_objects, GLib.SList<E.CalMetaBackendInfo>? modified_objects, GLib.SList<E.CalMetaBackendInfo>? removed_objects, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public E.CalCache ref_cache ();
		public bool refresh_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual bool remove_component_sync (E.ConflictResolution conflict_resolution, string uid, string? extra, string? object, ECal.OperationFlags opflags, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual bool requires_reconnect ();
		public virtual bool save_component_sync (bool overwrite_existing, E.ConflictResolution conflict_resolution, GLib.SList<ECal.Component> instances, string? extra, ECal.OperationFlags opflags, out string out_new_uid, out string out_new_extra, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public void schedule_refresh ();
		public virtual bool search_components_sync (string? expr, out GLib.SList<ECal.Component> out_components, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual bool search_sync (string? expr, out GLib.SList<string> out_icalstrings, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public void set_cache (E.CalCache cache);
		public void set_connected_writable (bool value);
		public void set_ever_connected (bool value);
		[Version (since = "3.50")]
		public void set_sync_tag (string? sync_tag);
		public bool split_changes_sync (ref GLib.SList<E.CalMetaBackendInfo> objects, out GLib.SList<E.CalMetaBackendInfo> out_created_objects, out GLib.SList<E.CalMetaBackendInfo> out_modified_objects, out GLib.SList<E.CalMetaBackendInfo>? out_removed_objects, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool store_inline_attachments_sync (ICal.Component component, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[NoAccessorMethod]
		public E.CalCache cache { owned get; set; }
		public signal void refresh_completed ();
		public virtual signal void source_changed ();
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_cal_meta_backend_info_get_type ()")]
	[Compact]
	public class CalMetaBackendInfo {
		public weak string extra;
		public weak string object;
		public weak string revision;
		public weak string uid;
		[CCode (has_construct_function = false)]
		[Version (since = "3.26")]
		public CalMetaBackendInfo (string uid, string? revision, string? object, string? extra);
		[Version (since = "3.26")]
		public E.CalMetaBackendInfo copy ();
		[Version (since = "3.26")]
		public static void free (void* ptr);
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", type_id = "e_data_cal_get_type ()")]
	public class DataCal : GLib.Object, GLib.Initable {
		[CCode (has_construct_function = false)]
		public DataCal (E.CalBackend backend, GLib.DBusConnection connection, string object_path) throws GLib.Error;
		[Version (since = "3.8")]
		public unowned GLib.DBusConnection get_connection ();
		[Version (since = "3.8")]
		public unowned string get_object_path ();
		[Version (since = "3.10")]
		public E.CalBackend? ref_backend ();
		[Version (since = "3.2")]
		public void report_backend_property_changed (string prop_name, string prop_value);
		[Version (since = "3.2")]
		public void report_error (string message);
		[Version (since = "3.2")]
		public void report_free_busy_data (GLib.SList<string> freebusy);
		[Version (since = "3.2")]
		public void respond_add_timezone (uint32 opid, owned GLib.Error? error);
		[Version (since = "3.6")]
		public void respond_create_objects (uint32 opid, owned GLib.Error? error, GLib.SList<string> uids, GLib.SList<ECal.Component> new_components);
		[Version (since = "3.2")]
		public void respond_discard_alarm (uint32 opid, owned GLib.Error? error);
		[Version (since = "3.2")]
		public void respond_get_attachment_uris (uint32 opid, owned GLib.Error? error, GLib.SList<string> attachment_uris);
		[Version (since = "3.2")]
		public void respond_get_free_busy (uint32 opid, owned GLib.Error? error, GLib.SList<string> freebusy);
		[Version (since = "3.2")]
		public void respond_get_object (uint32 opid, owned GLib.Error? error, string object);
		[Version (since = "3.2")]
		public void respond_get_object_list (uint32 opid, owned GLib.Error? error, GLib.SList<string> objects);
		[Version (since = "3.2")]
		public void respond_get_timezone (uint32 opid, owned GLib.Error? error, string tzobject);
		[Version (since = "3.6")]
		public void respond_modify_objects (uint32 opid, owned GLib.Error? error, GLib.SList<ECal.Component> old_components, GLib.SList<ECal.Component> new_components);
		[Version (since = "3.2")]
		public void respond_open (uint32 opid, owned GLib.Error? error);
		[Version (since = "3.2")]
		public void respond_receive_objects (uint32 opid, owned GLib.Error? error);
		[Version (since = "3.2")]
		public void respond_refresh (uint32 opid, owned GLib.Error? error);
		[Version (since = "3.6")]
		public void respond_remove_objects (uint32 opid, owned GLib.Error? error, GLib.SList<ECal.ComponentId> ids, GLib.SList<ECal.Component> old_components, GLib.SList<ECal.Component> new_components);
		[Version (since = "3.2")]
		public void respond_send_objects (uint32 opid, owned GLib.Error? error, GLib.SList<string> users, string calobj);
		[NoAccessorMethod]
		public E.CalBackend backend { owned get; construct; }
		public GLib.DBusConnection connection { get; construct; }
		public string object_path { get; construct; }
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", type_id = "e_data_cal_factory_get_type ()")]
	public class DataCalFactory : E.DataFactory, E.Extensible, GLib.Initable {
		[CCode (has_construct_function = false, type = "EDBusServer*")]
		public DataCalFactory (int backend_per_process, GLib.Cancellable? cancellable = null) throws GLib.Error;
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", type_id = "e_data_cal_view_get_type ()")]
	public class DataCalView : GLib.Object, GLib.Initable {
		[CCode (has_construct_function = false)]
		public DataCalView (void* backend, void* sexp, GLib.DBusConnection connection, string object_path) throws GLib.Error;
		[Version (since = "3.4")]
		public bool component_matches (ECal.Component component);
		[Version (since = "3.4")]
		public string get_component_string (ECal.Component component);
		[Version (since = "3.8")]
		public unowned GLib.DBusConnection get_connection ();
		[Version (since = "3.2")]
		public unowned GLib.HashTable<void*,void*>? get_fields_of_interest ();
		[Version (since = "3.6")]
		public ECal.ClientViewFlags get_flags ();
		[Version (since = "3.8")]
		public unowned string get_object_path ();
		[Version (since = "3.8")]
		public void* get_sexp ();
		[Version (since = "3.2")]
		public bool is_completed ();
		public bool is_started ();
		[Version (since = "2.32")]
		public bool is_stopped ();
		[Version (since = "3.2")]
		public void notify_complete (GLib.Error error);
		[Version (since = "3.4")]
		public void notify_components_added (GLib.SList<ECal.Component> ecalcomponents);
		[Version (since = "3.4")]
		public void notify_components_added_1 (ECal.Component component);
		[Version (since = "3.4")]
		public void notify_components_modified (GLib.SList<ECal.Component> ecalcomponents);
		[Version (since = "3.4")]
		public void notify_components_modified_1 (ECal.Component component);
		public void notify_objects_removed (GLib.SList<ECal.ComponentId> ids);
		public void notify_objects_removed_1 (ECal.ComponentId id);
		public void notify_progress (int percent, string message);
		public bool object_matches (string object);
		[Version (since = "3.34")]
		public E.CalBackend? ref_backend ();
		[NoAccessorMethod]
		public E.CalBackend backend { owned get; construct; }
		public GLib.DBusConnection connection { get; construct; }
		public string object_path { get; construct; }
		public E.CalBackendSExp sexp { get; construct; }
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", lower_case_csuffix = "intervaltree", type_id = "e_intervaltree_get_type ()")]
	[Version (since = "2.32")]
	public class IntervalTree : GLib.Object {
		[CCode (has_construct_function = false)]
		public IntervalTree ();
		public void destroy ();
		public void dump ();
		public bool insert (time_t start, time_t end, ECal.Component comp);
		public bool remove (string uid, string rid);
		public GLib.List<ECal.Component>? search (time_t start, time_t end);
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", type_id = "e_subprocess_cal_factory_get_type ()")]
	public class SubprocessCalFactory : E.SubprocessFactory, GLib.Initable {
		[CCode (has_construct_function = false)]
		public SubprocessCalFactory (GLib.Cancellable? cancellable = null) throws GLib.Error;
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", has_type_id = false)]
	public struct CalQueueTuple {
		public weak GLib.Queue first;
		public weak GLib.Queue second;
		public weak GLib.Queue third;
		public weak GLib.DestroyNotify first_free_func;
		public weak GLib.DestroyNotify second_free_func;
		public weak GLib.DestroyNotify third_free_func;
		public void free ();
	}
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", instance_pos = 1.9)]
	[Version (since = "3.26")]
	public delegate void CalBackendCustomOpFunc (E.CalBackend cal_backend, GLib.Cancellable? cancellable = null) throws GLib.Error;
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", instance_pos = 2.9)]
	[Version (since = "3.34")]
	public delegate bool CalBackendForeachViewFunc (E.CalBackend backend, E.DataCalView view);
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", instance_pos = 8.9)]
	[Version (since = "3.26")]
	public delegate bool CalCacheSearchFunc (E.CalCache cal_cache, string uid, string? rid, string revision, string object, string extra, uint32 custom_flags, E.OfflineState offline_state);
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", cname = "EDS_CALENDAR_MODULES")]
	public const string EDS_CALENDAR_MODULES;
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", cname = "EDS_SUBPROCESS_CAL_PATH")]
	public const string EDS_SUBPROCESS_CAL_PATH;
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", cname = "E_INTERVALTREE_DEBUG")]
	public const int INTERVALTREE_DEBUG;
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h", cname = "LIBICAL_GLIB_UNSTABLE_API")]
	public const int LIBICAL_GLIB_UNSTABLE_API;
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h")]
	[Version (replacement = "CalCacheOfflineChange.free", since = "3.26")]
	public static void cal_cache_offline_change_free (void* change);
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h")]
	[Version (replacement = "CalCacheSearchData.free", since = "3.26")]
	public static void cal_cache_search_data_free (void* ptr);
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h")]
	[Version (replacement = "CalMetaBackendInfo.free", since = "3.26")]
	public static void cal_meta_backend_info_free (void* ptr);
	[CCode (cheader_filename = "libedata-cal/libedata-cal.h")]
	public static void cal_queue_free_strings (GLib.Queue queue);
}
