Thenable функция. При вызове фуникции один тип при применении `then` или `await` другой тип
В js простой пример
function thenable() {
return 'just function'
}
thenable.then = (resolve) => {
resolve('like a Promise')
}
(async function main() {
//behave like a function
const functionResult = thenable()
//behave like a Promise
const promiseLikeResult = await thenable
console.log(functionResult);
console.log(promiseLikeResult);
})()
Возможно ли протипизировать это с помощью typescript, когда мы вызываем функцию возвращаемый тип string[](['just function']) когда делаем await возвращаемый тип string ('like a Promise')?