sig
  type t
  val of_uri : Uri.t -> [ `Error of string | `Ok of Tilde_uri.t ]
  val to_uri : Tilde_uri.t -> Uri.t
  val of_string : string -> [ `Error of string | `Ok of Tilde_uri.t ]
  val to_string : Tilde_uri.t -> string
  val pp : Format.formatter -> Tilde_uri.t -> unit
  val make :
    domain:string ->
    path:string ->
    public_key:string -> [ `Error of string | `Ok of Tilde_uri.t ]
  val domain : Tilde_uri.t -> string
  val path : Tilde_uri.t -> string
  val public_key : Tilde_uri.t -> string
end