// @declaration: true // @filename: module.d.ts declare module "module" { export interface Modifier { } export function fn(x: T): Modifier; } // @filename: index.ts import { fn } from "module"; export const fail1 = fn((x: T): T => x); export const fail2 = fn(function(x: T): T { return x; }); export const works1 = fn((x: number) => x); type MakeItWork = (x: T) => T; export const works2 = fn(x => x);