/// <reference types="node" />
/// <reference types="node" />
type IJSDocOptions = {
    docsPath?: string;
    author?: string;
    extraCss?: string;
    extraScript?: string;
    navHandler?: Function;
    isHandleNav?: boolean;
};
export declare function getSeparatorStr(content: string): string;
/**
 * 获取nav头部，比如 tools/url => tools
 * @ignore
 * @example
 * ```ts
 * getNavPrefix('tools/url'); // 'tools'
 * getNavPrefix('url');       // ''
 * ```
 */
export declare function getNavPrefix(nav?: string): string;
/**
 * 默认处理source的方法，默认仅去掉的文件名
 * @ignore
 * @param source 文件路径
 * @returns 处理后的数据
 * @example
 * ```ts
 * defaultNavHandler('base/url/url.ts');
 * // 'base/url'
 * ```
 */
export declare function defaultNavHandler(source: string): string;
export declare class JsDocHandler {
    /**
     * 初始化并运行
     * @static
     * @param {object} options 配置
     * @param {string} [options.docsPath] 文档所在目录位置，默认为`./docs`
     * @param {string} [options.author] 作者，默认为空
     * @param {string} [options.extraCss] 额外插入的css，默认为`.nav-separator`的一些样式
     * @param {string} [options.navHandler] 处理API所在文件的方法
     * @param {boolean} [options.isHandleNav] 是否处理导航栏，即插入文件名进行分隔，默认为false
     * @returns {object} JsDocHandler实例
     * @example
     *
     * JsDocHandler.init({
     *   author: 'novlan1',
     *   docsPath: './docs',
     *   extraCss: '.some-class{}',
     *   navHandler(nav) {
     *
     *   }
     * })
     *
     */
    static init(options: IJSDocOptions): JsDocHandler;
    extraCss: string;
    extraScript: string;
    author: string;
    docsPath: string;
    navHandler: Function;
    isHandleNav: boolean;
    fs: typeof import("fs");
    path: import("path").PlatformPath;
    /**
     * 处理jsdoc的脚本
     * 1. 增加导航栏的分隔符
     * 2. 增加css
     * 3. 处理footer
     * @constructor
     * @param {object} options 配置
     * @param {string} [options.docsPath] 文档所在目录位置，默认为`./docs`
     * @param {string} [options.author] 作者，默认为空
     * @param {string} [options.extraCss] 额外插入的css，默认为`.nav-separator`的一些样式
     * @param {string} [options.extraScript] 额外插入的script
     * @param {Function} [options.navHandler] 处理API所在文件的方法
     * @param {boolean} [options.isHandleNav] 是否处理导航栏，即插入文件名进行分隔，默认为false
     */
    constructor(options?: IJSDocOptions);
    run(): void;
    getFs(): typeof import("fs");
    getGlobalSourceMap(): Record<string, string>;
    /**
     * 获取sourceMap，形如：
     * ```ts
     * {
     *   NUMBER_CHI_MAP: 'base/number/number.ts',
     *   parseFunction: 'base/function/function.ts',
     *   flatten: 'base/list/list.ts',
     * }
     * ```
     * @private
     * @param {string} content
     * @returns {object} sourceMap
     */
    getSourceMap(file: string): Record<string, string>;
    handleEveryHtml(sourceMap: Record<string, string>, author: string): void;
    parseSourceMap(sourceMap: Record<string, any>): Record<string, string>;
    getParsedHtml(content: string, sourceMap: Record<string, string>, author: string): string;
    appendCSS(extra: string): void;
    finished(): void;
}
export {};
