module Dict : sig type 'a t = (string * 'a) list val t_to_js : ('a -> Ojs.t) -> 'a t -> Ojs.t val t_of_js : (Ojs.t -> 'a) -> Ojs.t -> 'a t end module Date : sig type t val t_of_js : Ojs.t -> t val t_to_js : t -> Ojs.t val now : unit -> t val get_day : t -> int val get_full_year : t -> int val get_month : t -> int val get_date : t -> int val get_hours : t -> int val get_minutes : t -> int val get_seconds : t -> int val to_date_string : t -> string val to_ISO_string : t -> string val to_locale_date_string : t -> string val to_string : t -> string end module File : sig type t val t_of_js : Ojs.t -> t val get_id : t -> string val get_name : t -> string val get_size : t -> int end module FileIterator : sig type t val get_files : unit -> t val t_of_js : Ojs.t -> t val has_next : t -> bool val next : t -> File.t end val log : string -> unit module Range : sig type t val get_a1_notation : t -> string val get_background : t -> string val get_row : t -> int val get_last_row : t -> int val get_column : t -> int val get_last_column : t -> int val get_num_columns : t -> int val get_num_rows : t -> int val get_values : t -> Ojs.t array array val get_formulas : t -> string array array val get_display_values : t -> string array array val set_value : t -> Ojs.t -> t end module NamedRange : sig type t val get_name : t -> string val get_range : t -> Range.t end module Sheet : sig type t val get_active_sheet : unit -> t val get_last_row : t -> int val get_last_column : t -> int val get_sheet_values : t -> start_row:int -> start_column:int -> num_rows:int -> num_columns:int -> Ojs.t array array val get_range : t -> start_row:int -> start_column:int -> num_rows:int -> num_columns:int -> Range.t val get_data_range : t -> Range.t val get_name : t -> string val get_named_ranges : t -> NamedRange.t list end module EmailField : sig type t val get_address : t -> string end module PhoneField : sig type t module Field : sig type t = Work | Mobile | Home end val get_phone_number : t -> string end module Contacts : sig type t val get_contacts : unit -> t list module Group : sig type g val get_contact_group : string -> g val get_contacts : g -> t list end val get_emails : t -> EmailField.t list val get_family_name : t -> string val get_given_name : t -> string val get_full_name : t -> string val get_phones : t -> PhoneField.t list val get_contact_groups : t -> Group.g list val add_phone : t -> PhoneField.Field.t -> string -> PhoneField.t end module GmailApp : sig type t val i : t val send_email : t -> address:string -> subject:string -> content:string -> unit end