(** Represent the {!module:Sheet} *) type t (** Run the screen *) val run: (t -> 'a) -> 'a (** {2 Screen updates} *) val draw: Sheet.t -> t -> t val draw_input: Sheet.t -> t -> t val resize: Sheet.t -> t -> t (** Display a message in the status bar. *) val status: t -> UTF8.t -> unit (** {2 User inputs} *) (** Wait for a keycode *) val read_key : t -> string (** The keycode is always NULL terminated *) val search: t -> UTF8.t val get_cell: t -> int * int -> (int * int) option val editor: ?position: int * int -> ?prefix:UTF8.t -> ?init:UTF8.t -> t -> UTF8.t option