# mod.ts
import { Chat } from './chat.ts';

/** Doc */
export class MyApi {
  /** Doc */
  completions: Chat = {};
}

MyApi.Chat = Chat;

/** Doc */
export declare namespace MyApi {
  export { Chat };
}

export default MyApi;

# chat.ts
import { Completions } from "./chat_completions.ts";

/** Doc */
export class Chat {}
Chat.Completions = Completions;

/** Doc */
export declare namespace Chat {
  export { Completions };
}

# chat_completions.ts
/** Doc */
export class Completions {}

# output.txt
Defined in file:///mod.ts:4:1

class MyApi
  Doc

  completions: Chat
    Doc

Defined in file:///mod.ts:4:1

class default
  Doc

  completions: Chat
    Doc

Defined in file:///mod.ts:12:1

namespace MyApi
  Doc

  class Chat
    Doc
  namespace Chat
    Doc

Defined in file:///mod.ts:12:1

namespace default
  Doc

  reference Chat: file:///chat.ts:4:1
  reference Chat: file:///chat.ts:8:1

Defined in file:///mod.ts:1:1



# output.json
[
  {
    "name": "MyApi",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 4,
      "col": 0,
      "byteIndex": 46
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "Doc"
    },
    "kind": "class",
    "classDef": {
      "isAbstract": false,
      "constructors": [],
      "properties": [
        {
          "jsDoc": {
            "doc": "Doc"
          },
          "tsType": {
            "repr": "Chat",
            "kind": "typeRef",
            "typeRef": {
              "typeParams": null,
              "typeName": "Chat"
            }
          },
          "readonly": false,
          "accessibility": null,
          "optional": false,
          "isAbstract": false,
          "isStatic": false,
          "name": "completions",
          "location": {
            "filename": "file:///mod.ts",
            "line": 6,
            "col": 2,
            "byteIndex": 82
          }
        }
      ],
      "indexSignatures": [],
      "methods": [],
      "extends": null,
      "implements": [],
      "typeParams": [],
      "superTypeParams": []
    }
  },
  {
    "name": "MyApi",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 12,
      "col": 0,
      "byteIndex": 140
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "Doc"
    },
    "kind": "namespace",
    "namespaceDef": {
      "elements": [
        {
          "name": "Chat",
          "isDefault": false,
          "location": {
            "filename": "file:///chat.ts",
            "line": 4,
            "col": 0,
            "byteIndex": 65
          },
          "declarationKind": "export",
          "jsDoc": {
            "doc": "Doc"
          },
          "kind": "class",
          "classDef": {
            "isAbstract": false,
            "constructors": [],
            "properties": [],
            "indexSignatures": [],
            "methods": [],
            "extends": null,
            "implements": [],
            "typeParams": [],
            "superTypeParams": []
          }
        },
        {
          "name": "Chat",
          "isDefault": false,
          "location": {
            "filename": "file:///chat.ts",
            "line": 8,
            "col": 0,
            "byteIndex": 130
          },
          "declarationKind": "export",
          "jsDoc": {
            "doc": "Doc"
          },
          "kind": "namespace",
          "namespaceDef": {
            "elements": []
          }
        }
      ]
    }
  },
  {
    "name": "default",
    "isDefault": true,
    "location": {
      "filename": "file:///mod.ts",
      "line": 4,
      "col": 0,
      "byteIndex": 46
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "Doc"
    },
    "kind": "class",
    "classDef": {
      "isAbstract": false,
      "constructors": [],
      "properties": [
        {
          "jsDoc": {
            "doc": "Doc"
          },
          "tsType": {
            "repr": "Chat",
            "kind": "typeRef",
            "typeRef": {
              "typeParams": null,
              "typeName": "Chat"
            }
          },
          "readonly": false,
          "accessibility": null,
          "optional": false,
          "isAbstract": false,
          "isStatic": false,
          "name": "completions",
          "location": {
            "filename": "file:///mod.ts",
            "line": 6,
            "col": 2,
            "byteIndex": 82
          }
        }
      ],
      "indexSignatures": [],
      "methods": [],
      "extends": null,
      "implements": [],
      "typeParams": [],
      "superTypeParams": []
    }
  },
  {
    "name": "default",
    "isDefault": true,
    "location": {
      "filename": "file:///mod.ts",
      "line": 12,
      "col": 0,
      "byteIndex": 140
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "Doc"
    },
    "kind": "namespace",
    "namespaceDef": {
      "elements": [
        {
          "name": "Chat",
          "location": {
            "filename": "file:///mod.ts",
            "line": 13,
            "col": 11,
            "byteIndex": 184
          },
          "declarationKind": "export",
          "kind": "reference",
          "reference_def": {
            "target": {
              "filename": "file:///chat.ts",
              "line": 4,
              "col": 0,
              "byteIndex": 65
            }
          }
        },
        {
          "name": "Chat",
          "location": {
            "filename": "file:///mod.ts",
            "line": 13,
            "col": 11,
            "byteIndex": 184
          },
          "declarationKind": "export",
          "kind": "reference",
          "reference_def": {
            "target": {
              "filename": "file:///chat.ts",
              "line": 8,
              "col": 0,
              "byteIndex": 130
            }
          }
        }
      ]
    }
  },
  {
    "name": "Chat",
    "location": {
      "filename": "file:///mod.ts",
      "line": 1,
      "col": 0,
      "byteIndex": 0
    },
    "declarationKind": "private",
    "kind": "import",
    "importDef": {
      "src": "file:///chat.ts",
      "imported": "Chat"
    }
  }
]
