sig
  module Scope : sig val calendar : string val calendar_readonly : string end
  module AclResource :
    sig
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        ruleId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        ruleId:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.AclRule.t * GapiConversation.Session.t
      val insert :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        GapiCalendarV3Model.AclRule.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.AclRule.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?maxResults:int ->
        ?pageToken:string ->
        ?showDeleted:bool ->
        ?syncToken:string ->
        calendarId:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Acl.t * GapiConversation.Session.t
      val patch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        ruleId:string ->
        GapiCalendarV3Model.AclRule.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.AclRule.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        ruleId:string ->
        GapiCalendarV3Model.AclRule.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.AclRule.t * GapiConversation.Session.t
      val watch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?maxResults:int ->
        ?pageToken:string ->
        ?showDeleted:bool ->
        ?syncToken:string ->
        calendarId:string ->
        GapiCalendarV3Model.Channel.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Channel.t * GapiConversation.Session.t
    end
  module CalendarListResource :
    sig
      module MinAccessRole :
        sig
          type t = Default | FreeBusyReader | Owner | Reader | Writer
          val to_string :
            GapiCalendarV3Service.CalendarListResource.MinAccessRole.t ->
            string
          val of_string :
            string ->
            GapiCalendarV3Service.CalendarListResource.MinAccessRole.t
        end
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.CalendarListEntry.t * GapiConversation.Session.t
      val insert :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?colorRgbFormat:bool ->
        GapiCalendarV3Model.CalendarListEntry.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.CalendarListEntry.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?maxResults:int ->
        ?minAccessRole:GapiCalendarV3Service.CalendarListResource.MinAccessRole.t ->
        ?pageToken:string ->
        ?showDeleted:bool ->
        ?showHidden:bool ->
        ?syncToken:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.CalendarList.t * GapiConversation.Session.t
      val patch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?colorRgbFormat:bool ->
        calendarId:string ->
        GapiCalendarV3Model.CalendarListEntry.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.CalendarListEntry.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?colorRgbFormat:bool ->
        calendarId:string ->
        GapiCalendarV3Model.CalendarListEntry.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.CalendarListEntry.t * GapiConversation.Session.t
      val watch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?maxResults:int ->
        ?minAccessRole:GapiCalendarV3Service.CalendarListResource.MinAccessRole.t ->
        ?pageToken:string ->
        ?showDeleted:bool ->
        ?showHidden:bool ->
        ?syncToken:string ->
        GapiCalendarV3Model.Channel.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Channel.t * GapiConversation.Session.t
    end
  module CalendarsResource :
    sig
      val clear :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Calendar.t * GapiConversation.Session.t
      val insert :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        GapiCalendarV3Model.Calendar.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Calendar.t * GapiConversation.Session.t
      val patch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        GapiCalendarV3Model.Calendar.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Calendar.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        calendarId:string ->
        GapiCalendarV3Model.Calendar.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Calendar.t * GapiConversation.Session.t
    end
  module ChannelsResource :
    sig
      val stop :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        GapiCalendarV3Model.Channel.t ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
    end
  module ColorsResource :
    sig
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Colors.t * GapiConversation.Session.t
    end
  module EventsResource :
    sig
      module OrderBy :
        sig
          type t = Default | StartTime | Updated
          val to_string :
            GapiCalendarV3Service.EventsResource.OrderBy.t -> string
          val of_string :
            string -> GapiCalendarV3Service.EventsResource.OrderBy.t
        end
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?sendNotifications:bool ->
        calendarId:string ->
        eventId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?alwaysIncludeEmail:bool ->
        ?maxAttendees:int ->
        ?timeZone:string ->
        calendarId:string ->
        eventId:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Event.t * GapiConversation.Session.t
      val import :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?supportsAttachments:bool ->
        calendarId:string ->
        GapiCalendarV3Model.Event.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Event.t * GapiConversation.Session.t
      val insert :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?maxAttendees:int ->
        ?sendNotifications:bool ->
        ?supportsAttachments:bool ->
        calendarId:string ->
        GapiCalendarV3Model.Event.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Event.t * GapiConversation.Session.t
      val instances :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?alwaysIncludeEmail:bool ->
        ?maxAttendees:int ->
        ?maxResults:int ->
        ?originalStart:string ->
        ?pageToken:string ->
        ?showDeleted:bool ->
        ?timeMax:GapiDate.t ->
        ?timeMin:GapiDate.t ->
        ?timeZone:string ->
        calendarId:string ->
        eventId:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Events.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?alwaysIncludeEmail:bool ->
        ?iCalUID:string ->
        ?maxAttendees:int ->
        ?maxResults:int ->
        ?orderBy:GapiCalendarV3Service.EventsResource.OrderBy.t ->
        ?pageToken:string ->
        ?privateExtendedProperty:string list ->
        ?q:string ->
        ?sharedExtendedProperty:string list ->
        ?showDeleted:bool ->
        ?showHiddenInvitations:bool ->
        ?singleEvents:bool ->
        ?syncToken:string ->
        ?timeMax:GapiDate.t ->
        ?timeMin:GapiDate.t ->
        ?timeZone:string ->
        ?updatedMin:GapiDate.t ->
        calendarId:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Events.t * GapiConversation.Session.t
      val move :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?sendNotifications:bool ->
        calendarId:string ->
        eventId:string ->
        destination:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Event.t * GapiConversation.Session.t
      val patch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?alwaysIncludeEmail:bool ->
        ?maxAttendees:int ->
        ?sendNotifications:bool ->
        ?supportsAttachments:bool ->
        calendarId:string ->
        eventId:string ->
        GapiCalendarV3Model.Event.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Event.t * GapiConversation.Session.t
      val quickAdd :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?sendNotifications:bool ->
        calendarId:string ->
        text:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Event.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?alwaysIncludeEmail:bool ->
        ?maxAttendees:int ->
        ?sendNotifications:bool ->
        ?supportsAttachments:bool ->
        calendarId:string ->
        eventId:string ->
        GapiCalendarV3Model.Event.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Event.t * GapiConversation.Session.t
      val watch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?alwaysIncludeEmail:bool ->
        ?iCalUID:string ->
        ?maxAttendees:int ->
        ?maxResults:int ->
        ?orderBy:GapiCalendarV3Service.EventsResource.OrderBy.t ->
        ?pageToken:string ->
        ?privateExtendedProperty:string list ->
        ?q:string ->
        ?sharedExtendedProperty:string list ->
        ?showDeleted:bool ->
        ?showHiddenInvitations:bool ->
        ?singleEvents:bool ->
        ?syncToken:string ->
        ?timeMax:GapiDate.t ->
        ?timeMin:GapiDate.t ->
        ?timeZone:string ->
        ?updatedMin:GapiDate.t ->
        calendarId:string ->
        GapiCalendarV3Model.Channel.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Channel.t * GapiConversation.Session.t
    end
  module FreebusyResource :
    sig
      val query :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        GapiCalendarV3Model.FreeBusyRequest.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.FreeBusyResponse.t * GapiConversation.Session.t
    end
  module SettingsResource :
    sig
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        setting:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Setting.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?maxResults:int ->
        ?pageToken:string ->
        ?syncToken:string ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Settings.t * GapiConversation.Session.t
      val watch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?maxResults:int ->
        ?pageToken:string ->
        ?syncToken:string ->
        GapiCalendarV3Model.Channel.t ->
        GapiConversation.Session.t ->
        GapiCalendarV3Model.Channel.t * GapiConversation.Session.t
    end
end