sig
  module Attachments :
    sig
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        userId:string ->
        messageId:string ->
        id:string ->
        GapiConversation.Session.t ->
        GapiGmailV1Model.MessagePartBody.t * GapiConversation.Session.t
    end
  module InternalDateSource :
    sig
      type t = Default | DateHeader | ReceivedTime
      val to_string :
        GapiGmailV1Service.UsersResource.Messages.InternalDateSource.t ->
        string
      val of_string :
        string ->
        GapiGmailV1Service.UsersResource.Messages.InternalDateSource.t
    end
  module Format :
    sig
      type t = Default | Full | Metadata | Minimal | Raw
      val to_string :
        GapiGmailV1Service.UsersResource.Messages.Format.t -> string
      val of_string :
        string -> GapiGmailV1Service.UsersResource.Messages.Format.t
    end
  val delete :
    ?base_url:string ->
    ?std_params:GapiService.StandardParameters.t ->
    userId:string ->
    id:string ->
    GapiConversation.Session.t -> unit * GapiConversation.Session.t
  val get :
    ?base_url:string ->
    ?etag:string ->
    ?std_params:GapiService.StandardParameters.t ->
    ?format:GapiGmailV1Service.UsersResource.Messages.Format.t ->
    ?metadataHeaders:string list ->
    userId:string ->
    id:string ->
    GapiConversation.Session.t ->
    GapiGmailV1Model.Message.t * GapiConversation.Session.t
  val import :
    ?base_url:string ->
    ?std_params:GapiService.StandardParameters.t ->
    ?media_source:GapiMediaResource.t ->
    ?deleted:bool ->
    ?internalDateSource:GapiGmailV1Service.UsersResource.Messages.InternalDateSource.t ->
    ?neverMarkSpam:bool ->
    ?processForCalendar:bool ->
    userId:string ->
    GapiGmailV1Model.Message.t ->
    GapiConversation.Session.t ->
    GapiGmailV1Model.Message.t * GapiConversation.Session.t
  val insert :
    ?base_url:string ->
    ?std_params:GapiService.StandardParameters.t ->
    ?media_source:GapiMediaResource.t ->
    ?deleted:bool ->
    ?internalDateSource:GapiGmailV1Service.UsersResource.Messages.InternalDateSource.t ->
    userId:string ->
    GapiGmailV1Model.Message.t ->
    GapiConversation.Session.t ->
    GapiGmailV1Model.Message.t * GapiConversation.Session.t
  val list :
    ?base_url:string ->
    ?std_params:GapiService.StandardParameters.t ->
    ?includeSpamTrash:bool ->
    ?maxResults:int ->
    ?labelIds:string list ->
    ?pageToken:string ->
    ?q:string ->
    userId:string ->
    GapiConversation.Session.t ->
    GapiGmailV1Model.ListMessagesResponse.t * GapiConversation.Session.t
  val modify :
    ?base_url:string ->
    ?std_params:GapiService.StandardParameters.t ->
    userId:string ->
    id:string ->
    GapiGmailV1Model.ModifyMessageRequest.t ->
    GapiConversation.Session.t ->
    GapiGmailV1Model.Message.t * GapiConversation.Session.t
  val send :
    ?base_url:string ->
    ?std_params:GapiService.StandardParameters.t ->
    ?media_source:GapiMediaResource.t ->
    userId:string ->
    GapiGmailV1Model.Message.t ->
    GapiConversation.Session.t ->
    GapiGmailV1Model.Message.t * GapiConversation.Session.t
  val trash :
    ?base_url:string ->
    ?std_params:GapiService.StandardParameters.t ->
    userId:string ->
    id:string ->
    GapiConversation.Session.t ->
    GapiGmailV1Model.Message.t * GapiConversation.Session.t
  val untrash :
    ?base_url:string ->
    ?std_params:GapiService.StandardParameters.t ->
    userId:string ->
    id:string ->
    GapiConversation.Session.t ->
    GapiGmailV1Model.Message.t * GapiConversation.Session.t
end