[Typescript] Extends and override an existing interface
For example, you have an object `A`, you want to extend it and modify some prop; then create a new interface B:
export interface B extends Omit<A, 'x' | 'y'> { x: string; // override x y: number; // override y newProp?: string; // add new prop }