sig
  type parsed_info
  type template = private Web__Template.parsed_info * string
  val parsed_info_revision : int
  exception Parse_failure of int * string
  val parse_substring : string -> int -> int -> Web__Template.template
  val parse_string : string -> Web__Template.template
  val repair : Web__Template.parsed_info * string -> Web__Template.template
  val is_empty : Web__Template.template -> bool
  val kind : Web__Template.template -> [ `attribute | `element ]
  val find_opt :
    Web__Template.template -> string -> Web__Template.template option
  val find : Web__Template.template -> string -> Web__Template.template
  exception Unhandled_tag of string
  val unhandled : string -> 'a
  exception Not_found_tag of string
  val output_template_with :
    (string ->
     '-> (string -> int -> int -> unit) -> Web__Template.template -> 'a) ->
    '-> (string -> int -> int -> unit) -> Web__Template.template -> 'a
  val output_subtemplate_with :
    (string ->
     '-> (string -> int -> int -> unit) -> Web__Template.template -> 'a) ->
    '->
    (string -> int -> int -> unit) -> Web__Template.template -> string -> 'a
  val output_template :
    (string -> int -> int -> unit) -> Web__Template.template -> unit
  val output_subtemplate :
    (string -> int -> int -> unit) ->
    Web__Template.template -> string -> unit
end