docs: def print_frame(
          self,
          x: int,
          y: int,
          width: int,
          height: int,
          string: str = "",
          clear: bool = True,
          bg_blend: int = tcod.constants.BKGND_DEFAULT,
      ) -> None:
          """Draw a framed rectangle with optional text.
  
          This uses the default background color and blend mode to fill the
          rectangle and the default foreground to draw the outline.
  
          `string` will be printed on the inside of the rectangle, word-wrapped.
          If `string` is empty then no title will be drawn.
  
          Args:
              x (int): The x coordinate from the left.
              y (int): The y coordinate from the top.
              width (int): The width if the frame.
              height (int): The height of the frame.
              string (str): A Unicode string to print.
              clear (bool): If True all text in the affected area will be
                            removed.
              bg_blend (int): The background blending flag.
  
          .. versionchanged:: 8.2
              Now supports Unicode strings.
  
          .. deprecated:: 8.5
              Console methods which depend on console defaults have been
              deprecated.
              Use :any:`Console.draw_frame` instead, calling this function will
              print a warning detailing which default values need to be made
              explicit.
          """
          self.__deprecate_defaults("draw_frame", bg_blend)
          string = _fmt(string) if string else ffi.NULL
          lib.TCOD_console_printf_frame(
              self.console_c, x, y, width, height, clear, bg_blend, string
          )