import * as plugin from 'ava/plugin'; import {expectType} from 'tsd'; expectType(plugin.registerSharedWorker({filename: '', supportedProtocols: ['ava-4']})); const factory: plugin.SharedWorker.Factory = ({negotiateProtocol}) => { const protocol = negotiateProtocol(['ava-4']); expectType(protocol); (async () => { for await (const w of protocol.testWorkers()) { expectType<() => Promise>(w.teardown(() => {})); // eslint-disable-line @typescript-eslint/no-empty-function expectType<() => Promise>(w.teardown(async () => {})); // eslint-disable-line @typescript-eslint/no-empty-function } })(); }; export default factory;