I thought using the type Object would do it, but that still allows anything. I want something like this:
function foo(arg: /* what goes here? */) { }
foo({}) // should compile
foo({ something: 'anything'}) // should compile
foo(new Object()) // should compile
foo(7) // should not compile
foo('hello') // should not compile