typehint with interface?