Типовые сигнатуры TypeScript для функций с переменным числом аргументов

У меня возникают проблемы при определении интерфейсов с членами-функциями, которые принимают переменное количество аргументов. Возьмите следующий литерал объекта в качестве примера: I '

var obj = {
    func: () => {
        for(var i = 0; i < arguments.length; i++) {
            console.log(arguments[i]);
        }
    }
};

я хотел бы иметь возможность определять интерфейс, такой как:

interface IExample {
    func: ( ??? ) => void;
}

Чтобы следующий код мог скомпилироваться без ошибок:

var test = (o: IExample) {
    o.func("a");
    o.func("a", "b");
    o.func("a", "b", "c");
    ...
}

Ответы на вопрос(3)

Ваш ответ на вопрос