1// @declaration: true 2// @filename: bbb.d.ts 3export interface INode<T> { 4 data: T; 5} 6 7export function create<T>(): () => INode<T>; 8// @filename: lib.d.ts 9export type G<T extends string> = { [P in T]: string }; 10 11export enum E { 12 A = "a", 13 B = "b" 14} 15 16export type T = G<E>; 17 18export type Q = G<E.A>; 19 20// @filename: index.ts 21import { T, Q } from "./lib"; 22import { create } from "./bbb"; 23 24export const fun = create<T>(); 25 26export const fun2 = create<Q>(); 27