@gen_async("add")
@gen_promise("add")
function addSync(a: i32, b: i32): i32;

interface IStringHolder {
    @gen_async("getAsync")
    @gen_promise("getPromise")
    get(): String;
    @gen_async("setAsync")
    @gen_promise("setPromise")
    set(a: String): void;
}

function makeIStringHolder(): IStringHolder;