package lua; @:native("_G.table") extern class Table implements ArrayAccess implements Dynamic { @:overload(function(table:Table):Void{}) public static function concat(table:Table, ?sep:String) : String; public static function foreach(table:Table, f:A->B->Void) : Void; public static function foreachi(table:Table, f:A->B->Int->Void) : Void; public static function sort(table:Table, ?order : A->A->Bool) : Void; @:overload(function(table:Table, value:B):Void{}) public static function insert(table:Table, pos:Int, value:B) : Void; @:overload(function(table:Table):Void{}) public static function remove(table:Table, ?pos:Int) : Void; public static function maxn(table: Table) : Int; public static function pack(args:T) : Table; public static function unpack(arg:haxe.extern.Rest) : Dynamic; }