pub trait PushApi {
// Required methods
fn push_nil(&mut self);
fn push_boolean(&mut self, b: bool);
fn push_integer(&mut self, i: i64);
fn push_number(&mut self, f: f64);
fn push_string(&mut self, s: &str);
fn push_rust_fn(&mut self, f: fn(&mut dyn LuaApi) -> usize);
fn register(&mut self, name: &str, f: fn(&mut dyn LuaApi) -> usize);
fn push_global_table(&mut self);
fn push_rust_closure(&mut self, f: fn(&mut dyn LuaApi) -> usize, n: usize);
}