Create instance using an interface
I use this way
interface IObject{
first: number;
second: string;
}
then
var myObject = {} as IObject
var myListObject = [] as Array<IObject>
You can do it that way. You can also just create an object that implements the interface like:
interface foo {
one: number;
two: string;
}
const bar: foo = { one: 5, two: "hello" };
If you want to use a class, you can put it where you want. If it's tightly coupled with the component, you can put it there. Generally though, I want classes to be loosely coupled, so I put them in their own file.