如何将特定功能的对象定义为类型或接口?

How to define an object of specific functions as a type or an interface?

我试图查看其他 similar questions,但其中大多数似乎是在定义数组而不是对象。

作为一个整体,我对 Typescript 基本上是新手,并且我仍在尝试争论一些概念,在 C# 和 JavaScript 方面都有经验。

我正在创建一个对象,它是对象中一个或多个命名函数的集合。每个函数接受一个字符串数组,或多个字符串,定义如下:

define function PluginCommand(argv: array, ...args:string[]): number;

现在,如何将这些 PluginCommand 中的多个分配给一个(最好)定义的对象,其中键可以是任何有效字符串?

您应该可以执行以下操作:

interface Foo {
  bar: (args: Array<string>) => number;
}

如果您希望密钥是任何字符串,请执行:

interface Foo {
  [key: string]: (args: Array<string>) => number;
}