declare module 're-export-via-eq-internal' {
	export interface FooBar {}
	export namespace FooBar {
		export type Type = number;
	}
}

declare module 're-export-via-eq' {
	import types = require('re-export-via-eq-internal');
	export = types;
}

// -----------------------------------------------------------------------------

declare module 're-export-via-eq-v2-internal' {
	interface FooBar {}
	namespace FooBar {
		export type Type = number;
	}

	export = FooBar;
}

declare module 're-export-via-eq-v2' {
	import types = require('re-export-via-eq-v2-internal');
	export = types;
}

// -----------------------------------------------------------------------------

declare module 're-export-via-star-internal' {
	export interface FooBar {}
}

declare module 're-export-via-star' {
	export * from 're-export-via-star-internal';
}

// -----------------------------------------------------------------------------

declare module 're-export-via-star-with-rename-internal' {
	export interface FooBar {}
}

declare module 're-export-via-star-with-rename' {
	export * as NsName from 're-export-via-star-with-rename-internal';
}

// -----------------------------------------------------------------------------

declare module 're-export-via-import-internal' {
	export interface FooBar {}
}

declare module 're-export-via-import' {
	import { FooBar } from 're-export-via-import-internal';
	export { FooBar };
}

// -----------------------------------------------------------------------------

declare module 're-export-cycle-dependency-1' {
	export interface FooBar {}
	export * from 're-export-cycle-dependency-2';
}

declare module 're-export-cycle-dependency-2' {
	export interface BarFoo {}
	export * from 're-export-cycle-dependency-1';
}
