export type StyleListFormat = "none" | "grouped" | "table" | "dl";
export type RenderListFormat = "list" | "table";
export type MemberIndexFormat = "grouped" | "list";
export interface RenderOptions {
/**
* Raw template data to use. Useful when you already have template data, obtained from .getTemplateData.
* Either files, source or data must be supplied.
*/
data?: object[] | undefined;
/**
* The template the supplied documentation will be rendered into.
* Use the default or supply your own template for full control over the output.
*/
template?: string | undefined;
/**
* The initial heading depth.
* For example, with a value of 2 the top-level markdown headings look like "## The heading".
*/
"heading-depth"?: number | undefined;
/**
* Specifies the default language used in '@example' blocks (for syntax-highlighting purposes).
* In gfm mode, each '@example' is wrapped in a fenced-code block. Example usage: --example-lang js.
* Use the special value none for no specific language.
* While using this option, you can override the supplied language
* for any '@example' by specifying the @lang subtag,
* e.g @example @lang hbs. Specifying @example @lang off will disable code blocks for that example.
*/
"example-lang"?: string | undefined;
/**
* Use an installed package containing helper and/or partial overrides.
*/
plugin?: string | string[] | undefined;
/**
* handlebars helper files to override or extend the default set.
*/
helper?: string | string[] | undefined;
/**
* handlebars partial files to override or extend the default set.
*/
partial?: string | string[] | undefined;
/**
* Format identifier names in the code style,
* (i.e. format using backticks or ).
*/
"name-format"?: string | undefined;
/**
* By default, dmd generates github-flavoured markdown.
* Not all markdown parsers render gfm correctly.
* If your generated docs look incorrect on sites other than Github
* (e.g. npmjs.org) try enabling this option to disable Github-specific syntax.
*/
"no-gfm"?: boolean | undefined;
/**
* Put
breaks between identifiers. Improves readability on bulky docs.
*/
separators?: boolean | undefined;
"module-index-format"?: StyleListFormat | undefined;
"global-index-format"?: StyleListFormat | undefined;
/**
* Two options to render parameter lists: 'list' or 'table' (default).
* Table format works well in most cases but switch to list if things begin to look crowded / squashed.
*/
"param-list-format"?: RenderListFormat | undefined;
"property-list-format"?: RenderListFormat | undefined;
"member-index-format"?: MemberIndexFormat | undefined;
}
export interface JsdocOptions {
/**
* By default results are cached to speed up repeat invocations.
* Set to true to disable this.
*/
"no-cache"?: boolean | undefined;
/**
* One or more filenames to process.
* Accepts globs (e.g. *.js). Either files, source or data must be supplied.
*/
files: string | string[];
/**
* A string containing source code to process.
* Either files, source or data must be supplied.
*/
source?: string | undefined;
/**
* The path to the jsdoc configuration file.
* Default: path/to/jsdoc/conf.json.
*/
configure?: string | undefined;
}
/**
* Returns markdown documentation from jsdoc-annotated source code.
*/
export function render(options: RenderOptions | JsdocOptions): Promise;
/**
* Sync version of render.
*/
export function renderSync(options: RenderOptions | JsdocOptions): string;
/**
* Returns the template data (jsdoc-parse output) which is fed into the output template (dmd).
*/
export function getTemplateData(options: JsdocOptions): Promise