Поскольку у вас нет реализации времени разработки, вы должны объявить функцию как свойство.
Кроме того, в именах функций есть опечатка. Я использовал имя функции "ConditionalColor".
interface IFoo {
ConditionalColor(color: string, condition: (arg: any) => boolean): string;
}
class Foo implements IFoo {
constructor(
ConditionalColor: (color:string, condition: (arg: any) => boolean) => string
) {
this.ConditionalColor = ConditionalColor;
}
ConditionalColor: (color: string, condition: (arg: any) => boolean) => string;
}
Обратите внимание на разницу между вашей версией (первой) и моей (второй)
ConditionalColor(color: string, condition: (arg: any) => boolean): string;
ConditionalColor: (color: string, condition: (arg: any) => boolean) => string;
Ваша пытается объявить функция без тела. Мой объект объявляет свойство, тип которого принимает аргументы и возвращает значение.