如何导入使用此给定导出构造导出的函数?

How to import a function exported using this given export construct?

DefinitelyTyped 有一个 Highlight.js 的定义,它定义和导出一个模块,如下所示:

declare module "highlight.js"
{
    module hljs
    {
        export function highlight(
            name: string,
            value: string,
            ignore_illegals?: boolean,
            continuation?: boolean) : IHighlightResult;
        ...
    }
    export = hljs;
}

在给定的打字稿文件中,我试图导入 hljs 对象,以便我可以对其调用 highlight 函数,如下所示:

/// <reference path="../../tsd_typings/highlightjs/highlightjs.d.ts" />

import {hljs} from 'highlight.js';

...

hljs.highlightBlock(block);

但是它没有说 error TS2305: Module '"highlight.js"' has no exported member 'hljs'.

导入此对象的正确方法是什么,以便我可以在没有错误和警告的情况下编译我的 TS 文件?

导入语句应该是:

import * as hljs from 'highlight.js';

这相当于:

import hljs = require('highlight.js');

并将整个模块导入为 hljs