sig
  val normalize : ?base_name:string -> string -> string
  val relativize : ?base_name:string -> string -> string
  val is_relative : ?base_name:string -> string -> bool
  val pretty : string -> string
  val add_symbolic_dir : string -> string -> unit
  module Normalized :
    sig
      type t = private string
      val of_string : ?base_name:string -> string -> Filepath.Normalized.t
      val to_pretty_string : Filepath.Normalized.t -> string
      val equal : Filepath.Normalized.t -> Filepath.Normalized.t -> bool
      val compare : Filepath.Normalized.t -> Filepath.Normalized.t -> int
      val compare_pretty :
        ?case_sensitive:bool ->
        Filepath.Normalized.t -> Filepath.Normalized.t -> int
      val pretty : Stdlib.Format.formatter -> Filepath.Normalized.t -> unit
      val pp_abs : Stdlib.Format.formatter -> Filepath.Normalized.t -> unit
      val unknown : Filepath.Normalized.t
    end
  type position = {
    pos_path : Filepath.Normalized.t;
    pos_lnum : int;
    pos_bol : int;
    pos_cnum : int;
  }
  val pp_pos : Stdlib.Format.formatter -> Filepath.position -> unit
end