Typescript, как извлечь другой тип возвращаемой функции и использовать его без вызова этой функции в коде?

#typescript

Вопрос:

Я пытаюсь создать определение функции, которое принимает массив наблюдаемых объектов, а затем группирует их в один с объединенными значениями, поскольку тип возвращаемого значения почти такой же, как у rxjs combineLatest , я пытаюсь определить что-то вроде:

 function myFunction

lt;T extends Observable<any>[]>(obs$: T): ReturnType<combineLatest<T>> {
///combineLatest is not used here.
}

Это, конечно, не работает. Возможно ли это вообще?

Я пытаюсь избежать перегрузки функций вручную myFunction$ , как combineLatest это уже происходит.

Моя цель — сделать это в конце:

 const a$: Observable<boolean> = of(true);
const b$: Observable<string> = of('string');
const c$: Observable<number> = of(1);

const final$: Observable<[boolean, string, number]> = myFunction$([a$, b$, c$]);