// @filename: file.tsx // @jsx: preserve // @module: amd // @noLib: true // @skipLibCheck: true // @libFiles: react.d.ts,lib.d.ts import React = require('react') declare function OverloadComponent(): JSX.Element; declare function OverloadComponent(attr: {b: U, a?: string, "ignore-prop": boolean}): JSX.Element; declare function OverloadComponent(attr: {b: U, a: T}): JSX.Element; // OK function Baz(arg1: T, arg2: U) { let a0 = ; let a1 = ; let a2 = ; let a3 = ; let a4 = ; let a5 = ; let a6 = ; } declare function Link(l: {func: (arg: U)=>void}): JSX.Element; declare function Link(l: {func: (arg1:U, arg2: string)=>void}): JSX.Element; function createLink(func: (a: number)=>void) { let o = let o1 = {}} />; }