在 Typescript 中将 属性 定义为字符串或 returns 字符串的函数

Define a property as string or function that returns a string in Typescript

我想创建一个界面,其中 属性 可以是 string 或必须 return 是 stringFunction。我目前有以下内容:

interface IExample {
  prop: string|Function;
}

但这对我来说还不够明确,因为 Function 可以 return 任何东西。我想告诉编译器 return 值必须是 string.

这在 TypeScript 中如何实现?或者根本不可能吗?

type propType = () => string;

interface IExample {
   field : string | propType;
}

class MyClass1 implements IExample {
    field : string;
}

class MyClass2 implements IExample {
    field() {
        return "";
    }
}

更新 1

type PropertyFunction<T> = () => T;

interface IExample {
   field : string | PropertyFunction<string>;
}