type Pages = Obj & (Sequence | undefined)[] & { [index: string]: Sequence | undefined }; type Page = Obj; type ExecutorBaseProps = { fader: 'Master' | 'Temp'; //... }; type ExecutorProps = ObjProps & ExecutorBaseProps & { object: Obj; width: number; height: number; }; type Executor = Obj; type ExecutorProxyProps = ObjProps & ExecutorBaseProps; type ExecutorProxy = Obj & ExecutorProxyProps;