declare namespace NSFoo2 { export function foo(s: string): void export function foo(n: number): void export function foo(sn: string | number): void export function bar(): void } type TypeFoo2 = { foo(s: string): void foo(n: number): void foo(sn: string | number): void bar(): void } interface IFoo2 { foo(s: string): void foo(n: number): void foo(sn: string | number): void bar(): void }