-type state() ::
#{reader => 'erlang.io.IReader':type(),
buffer => binary(),
at_line_start => boolean(),
at_line_start_prev => boolean()}.
-type type() ::
#{'__type__' => 'erlang.io.PushbackReader', pid => pid()}.
-spec '__new__'('erlang.io.IReader':type()) -> type().
-spec at_line_start('erlang.io.IReader':type()) -> type().
-spec init('erlang.io.IReader':type()) -> no_return().
-spec loop(state()) -> ok.
-spec skip(state() | {cont, integer(), state()}, term(), integer()) ->
{more, {cont, integer(), binary()}} |
{done, integer(), binary()}.
-spec start_link('erlang.io.IReader':type()) -> pid().