For the KISS principle, you can opt for the factory function pattern (aka closures) instead of use classes.
// Typings definition (stripped out at complie time):
type MyObject = {
readonly aPublicMethod: () => void;
readonly anotherPublicMethod: (anArgument: any) => any;
};
type MyObjectFactory = (aDependencyInstance: any, anotherDependencyInstance: any) => MyObject;