Typescript 访问未导出的类型定义文件中的接口(在@types/Cache manager中缓存接口)

Typescript 访问未导出的类型定义文件中的接口(在@types/Cache manager中缓存接口),typescript,typescript-typings,Typescript,Typescript Typings,定义如下: interface Cache { del(key: string): Promise<any>; // 11 other Method Signitures (removed for brevity) } 我想在代码中使用缓存接口,但无法访问它,因为它未导出。我的问题是: 作者没有导出缓存接口的充分理由吗? 有没有办法强制导出此接口? 第一个问题:我会说不,但那只是我的意见 第二个问题:我不知道有什么方法可以访问未导出的定义。但是,由于缓存是导出

定义如下:

interface Cache {
    del(key: string): Promise<any>;   
    // 11 other Method Signitures (removed for brevity)
}
我想在代码中使用缓存接口,但无法访问它,因为它未导出。我的问题是:

作者没有导出缓存接口的充分理由吗? 有没有办法强制导出此接口?
第一个问题:我会说不,但那只是我的意见

第二个问题:我不知道有什么方法可以访问未导出的定义。但是,由于缓存是导出函数的返回类型,因此可以从中提取它,例如:

import * as CacheManager from "cache-manager";
type Cache = ReturnType<typeof CacheManager.caching>;

您的另一个选择是使用诸如disclosure:I am Braid contributor之类的工具将@types/cache manager包分叉到您的项目中,在您的package.json中将其注册为相对路径依赖项,然后进行您想要的任何更改。

非常好,谢谢!我使用上面提供的代码将文件cache.interface.ts添加到我的项目中,在类型声明之前添加了“export”。现在,我可以通过引用此从项目中的任何位置导入缓存类型。@arhnee,您能否在导入接口后发布如何引用缓存管理器方法Set、del、get等?
import * as CacheManager from "cache-manager";
type Cache = ReturnType<typeof CacheManager.caching>;