На самом деле реквизиты, связанные с создателями действий, будут иметь тот же тип возврата, а не void
.
В любом случае, вот как вы можете изменить тип возврата функции:
declare function foo(bar: string, baz: boolean): { type: 'A' };
type WithReturnVoid<T extends (...arg) => any> = (...args: Parameters<T>) => void;
type VoidFoo = WithReturnVoid<typeof foo>; // (bar: string, baz: boolean) => void
Playground
Parameters
- встроенная утилита, которая позволяетчтобы получить тип аргументов функции.
Итак, в вашем примере это будет:
interface Props {
ping: WithReturnVoid<typeof ping>;
}