sig
  type t = string
  val concat :
    Signatures.PATHNAME.t -> Signatures.PATHNAME.t -> Signatures.PATHNAME.t
  val compare : Signatures.PATHNAME.t -> Signatures.PATHNAME.t -> int
  val equal : Signatures.PATHNAME.t -> Signatures.PATHNAME.t -> bool
  val exists : Signatures.PATHNAME.t -> bool
  val mk : string -> Signatures.PATHNAME.t
  val define_context : string -> string list -> unit
  val include_dirs_of : string -> string list
  val copy : Signatures.PATHNAME.t -> Signatures.PATHNAME.t -> unit
  val to_string : Signatures.PATHNAME.t -> string
  val print : Format.formatter -> Signatures.PATHNAME.t -> unit
  val current_dir_name : Signatures.PATHNAME.t
  val parent_dir_name : Signatures.PATHNAME.t
  val read : Signatures.PATHNAME.t -> string
  val same_contents : Signatures.PATHNAME.t -> Signatures.PATHNAME.t -> bool
  val basename : Signatures.PATHNAME.t -> Signatures.PATHNAME.t
  val dirname : Signatures.PATHNAME.t -> Signatures.PATHNAME.t
  val is_relative : Signatures.PATHNAME.t -> bool
  val readlink : Signatures.PATHNAME.t -> Signatures.PATHNAME.t
  val readdir : Signatures.PATHNAME.t -> Signatures.PATHNAME.t array
  val is_link : Signatures.PATHNAME.t -> bool
  val is_directory : Signatures.PATHNAME.t -> bool
  val add_extension :
    string -> Signatures.PATHNAME.t -> Signatures.PATHNAME.t
  val check_extension : Signatures.PATHNAME.t -> string -> bool
  val get_extension : Signatures.PATHNAME.t -> string
  val remove_extension : Signatures.PATHNAME.t -> Signatures.PATHNAME.t
  val update_extension :
    string -> Signatures.PATHNAME.t -> Signatures.PATHNAME.t
  val get_extensions : Signatures.PATHNAME.t -> string
  val remove_extensions : Signatures.PATHNAME.t -> Signatures.PATHNAME.t
  val update_extensions :
    string -> Signatures.PATHNAME.t -> Signatures.PATHNAME.t
  val print_path_list :
    Format.formatter -> Signatures.PATHNAME.t list -> unit
  val pwd : Signatures.PATHNAME.t
  val parent : Signatures.PATHNAME.t -> Signatures.PATHNAME.t
  val is_prefix : Signatures.PATHNAME.t -> Signatures.PATHNAME.t -> bool
  val is_implicit : Signatures.PATHNAME.t -> bool
  module Operators :
    sig
      val ( / ) :
        Signatures.PATHNAME.t ->
        Signatures.PATHNAME.t -> Signatures.PATHNAME.t
      val ( -.- ) : Signatures.PATHNAME.t -> string -> Signatures.PATHNAME.t
    end
end