`sig val lines_of : string -> string BatEnum.t val write_lines : string -> string BatEnum.t -> unit val size_of : string -> int val size_of_big : string -> Int64.t type permission val default_permission : BatFile.permission val user_read : BatFile.permission val user_write : BatFile.permission val user_exec : BatFile.permission val group_read : BatFile.permission val group_write : BatFile.permission val group_exec : BatFile.permission val other_read : BatFile.permission val other_write : BatFile.permission val other_exec : BatFile.permission val perm : BatFile.permission list -> BatFile.permission val unix_perm : int -> BatFile.permission val set_permissions : string -> BatFile.permission -> unit val chmod : string -> BatFile.permission -> unit type open_in_flag = [ `create | `excl | `mmap | `nonblock | `text ] val open_in : ?mode:BatFile.open_in_flag list -> ?perm:BatFile.permission -> string -> BatInnerIO.input val with_file_in : ?mode:BatFile.open_in_flag list -> ?perm:BatFile.permission -> string -> (BatInnerIO.input -> 'a) -> 'a type open_out_flag = [ `append | `create | `excl | `nonblock | `text | `trunc ] val open_out : ?mode:BatFile.open_out_flag list -> ?perm:BatFile.permission -> string -> unit BatInnerIO.output val with_file_out : ?mode:BatFile.open_out_flag list -> ?perm:BatFile.permission -> string -> (unit BatInnerIO.output -> 'a) -> 'a type open_temporary_out_flag = [ `append | `create | `delete_on_exit | `excl | `nonblock | `text | `trunc ] val open_temporary_out : ?mode:BatFile.open_temporary_out_flag list -> ?prefix:string -> ?suffix:string -> ?temp_dir:string -> unit -> unit BatInnerIO.output * string val with_temporary_out : ?mode:BatFile.open_temporary_out_flag list -> ?prefix:string -> ?suffix:string -> ?temp_dir:string -> (unit BatInnerIO.output -> string -> 'a) -> 'a end`