// @strict: true // Repro from #30171 interface Mock extends Function { (...args: Y): any; } type Tester = (opts: any, done: (...args: any[]) => any) => any; declare function cases(tester: Tester): void; declare function fn(implementation?: (...args: Y) => any): Mock; cases(fn(opts => { }));