sig
  type operation = Remove | Leave | Chop
  type detection = Touching | Enclosing
  type spec = Cpdfredact.operation * Cpdfredact.detection option
  val redact :
    Pdf.t ->
    text_spec:Cpdfredact.spec ->
    image_spec:Cpdfredact.spec ->
    inline_image_spec:Cpdfredact.spec ->
    vector_spec:Cpdfredact.spec ->
    annotation_spec:Cpdfredact.spec ->
    path_to_jbig2dec:string ->
    path_to_convert:string ->
    path_to_jbig2enc:string ->
    paths:(float * float * float * float) list ->
    invert:bool ->
    show:bool ->
    color:Cpdfaddtext.colour ->
    outline:bool ->
    opacity:float -> linewidth:float -> underneath:bool -> int list -> Pdf.t
  val apply :
    Pdf.t ->
    text_spec:Cpdfredact.spec ->
    image_spec:Cpdfredact.spec ->
    inline_image_spec:Cpdfredact.spec ->
    vector_spec:Cpdfredact.spec ->
    annotation_spec:Cpdfredact.spec ->
    path_to_jbig2dec:string ->
    path_to_convert:string ->
    path_to_jbig2enc:string ->
    ?typ:string ->
    invert:bool ->
    show:bool ->
    color:Cpdfaddtext.colour ->
    outline:bool ->
    opacity:float -> linewidth:float -> underneath:bool -> int list -> Pdf.t
  val show_bounding_boxes :
    fast:bool ->
    paths:(float * float * float * float) option list ->
    light:bool -> Pdf.t -> int list -> Pdf.t
end