问题 The problem Suppose I have some code like this: // Events we might receive: enum EventType { PlaySong, SeekTo, StopSong }; // Callbacks we would handle them with: type PlaySongCallback = (name: string) => void; type SeekToCallback = (seconds: number) => void; type StopSongCallback = () => void; In the API I'm given, I can register such a callback with declare function registerCallback(t: EventType, f: (...args: any[]) => void); But I want to get rid of that any[] and make sure I can't