Describes all TypeDoc options. Used internally to provide better types when fetching options. External consumers should likely use TypeDocOptions instead.

If writing a plugin, you may find it useful to use declaration merging to add your options to this interface so that you have autocomplete when using app.options.getValue.

declare module "typedoc" {
export interface TypeDocOptionMap {
pluginOption: string[];
}
}
interface TypeDocOptionMap {
    alwaysCreateEntryPointModule: boolean;
    basePath: string;
    blockTags: `@${string}`[];
    cacheBust: boolean;
    cascadedModifierTags: `@${string}`[];
    categorizeByGroup: boolean;
    categoryOrder: string[];
    cleanOutputDir: boolean;
    cname: string;
    commentStyle: { All: "all"; Block: "block"; JSDoc: "jsdoc"; Line: "line" };
    compilerOptions: unknown;
    customCss: string;
    customFooterHtml: string;
    customFooterHtmlDisableWrapper: boolean;
    customJs: string;
    darkHighlightTheme: BundledTheme;
    defaultCategory: string;
    disableGit: boolean;
    disableSources: boolean;
    emit: { both: "both"; docs: "docs"; none: "none" };
    entryPoints: string[];
    entryPointStrategy: {
        Expand: "expand";
        Merge: "merge";
        Packages: "packages";
        Resolve: "resolve";
    };
    exclude: string[];
    excludeCategories: string[];
    excludeExternals: boolean;
    excludeInternal: boolean;
    excludeNotDocumented: boolean;
    excludeNotDocumentedKinds: KindString[];
    excludePrivate: boolean;
    excludeProtected: boolean;
    excludeReferences: boolean;
    excludeTags: `@${string}`[];
    externalPattern: string[];
    externalSymbolLinkMappings: Configuration.ManuallyValidatedOption<
        Record<string, Record<string, string>>,
    >;
    favicon: string;
    githubPages: boolean;
    gitRemote: string;
    gitRevision: string;
    groupOrder: string[];
    groupReferencesByType: boolean;
    headings: { document: boolean; readme: boolean };
    help: boolean;
    hideGenerator: boolean;
    highlightLanguages: string[];
    hostedBaseUrl: string;
    html: string;
    includeHierarchySummary: boolean;
    includeVersion: boolean;
    inlineTags: `@${string}`[];
    intentionallyNotExported: string[];
    jsDocCompatibility: Configuration.JsDocCompatibility;
    json: string;
    kindSortOrder: KindString[];
    lang: string;
    lightHighlightTheme: BundledTheme;
    locales: Configuration.ManuallyValidatedOption<
        Record<string, Record<string, string>>,
    >;
    logLevel: typeof LogLevel;
    markdownItLoader: Configuration.ManuallyValidatedOption<
        (parser: any) => void,
    >;
    markdownItOptions: Configuration.ManuallyValidatedOption<
        Record<string, unknown>,
    >;
    markdownLinkExternal: boolean;
    maxTypeConversionDepth: number;
    modifierTags: `@${string}`[];
    name: string;
    navigation: {
        compactFolders: boolean;
        excludeReferences: boolean;
        includeCategories: boolean;
        includeFolders: boolean;
        includeGroups: boolean;
    };
    navigationLeaves: string[];
    navigationLinks: Configuration.ManuallyValidatedOption<
        Record<string, string>,
    >;
    notRenderedTags: `@${string}`[];
    options: string;
    out: string;
    outputs: Configuration.ManuallyValidatedOption<
        Configuration.OutputSpecification[],
    >;
    packageOptions: Configuration.ManuallyValidatedOption<
        Configuration.TypeDocOptions,
    >;
    plugin: string[];
    preserveLinkText: boolean;
    preserveWatchOutput: boolean;
    pretty: boolean;
    projectDocuments: string[];
    readme: string;
    requiredToBeDocumented: KindString[];
    searchCategoryBoosts: Configuration.ManuallyValidatedOption<
        Record<string, number>,
    >;
    searchGroupBoosts: Configuration.ManuallyValidatedOption<
        Record<string, number>,
    >;
    searchInComments: boolean;
    searchInDocuments: boolean;
    showConfig: boolean;
    sidebarLinks: Configuration.ManuallyValidatedOption<Record<string, string>>;
    skipErrorChecking: boolean;
    sluggerConfiguration: { lowercase: boolean };
    sort: (
        | "kind"
        | "instance-first"
        | "alphabetical-ignoring-documents"
        | "source-order"
        | "alphabetical"
        | "enum-value-ascending"
        | "enum-value-descending"
        | "enum-member-source-order"
        | "static-first"
        | "visibility"
        | "required-first"
        | "external-last"
        | "documents-first"
        | "documents-last"
    )[];
    sortEntryPoints: boolean;
    sourceLinkExternal: boolean;
    sourceLinkTemplate: string;
    suppressCommentWarningsInDeclarationFiles: boolean;
    theme: string;
    titleLink: string;
    treatValidationWarningsAsErrors: boolean;
    treatWarningsAsErrors: boolean;
    tsconfig: string;
    typePrintWidth: number;
    useFirstParagraphOfCommentAsSummary: boolean;
    useHostedBaseUrlForAbsoluteLinks: boolean;
    useTsLinkResolution: boolean;
    validation: Configuration.ValidationOptions;
    version: boolean;
    visibilityFilters: Configuration.ManuallyValidatedOption<
        {
            external?: boolean;
            inherited?: boolean;
            private?: boolean;
            protected?: boolean;
            [tag: `@${string}`]: boolean;
        },
    >;
    watch: boolean;
}

Properties

alwaysCreateEntryPointModule basePath blockTags cacheBust cascadedModifierTags categorizeByGroup categoryOrder cleanOutputDir cname commentStyle compilerOptions customCss customFooterHtml customFooterHtmlDisableWrapper customJs darkHighlightTheme defaultCategory disableGit disableSources emit entryPoints entryPointStrategy exclude excludeCategories excludeExternals excludeInternal excludeNotDocumented excludeNotDocumentedKinds excludePrivate excludeProtected excludeReferences excludeTags externalPattern externalSymbolLinkMappings favicon githubPages gitRemote gitRevision groupOrder groupReferencesByType headings help hideGenerator highlightLanguages hostedBaseUrl html includeHierarchySummary includeVersion inlineTags intentionallyNotExported jsDocCompatibility json kindSortOrder lang lightHighlightTheme locales logLevel markdownItLoader markdownItOptions markdownLinkExternal maxTypeConversionDepth modifierTags name navigation navigationLeaves navigationLinks notRenderedTags options out outputs packageOptions plugin preserveLinkText preserveWatchOutput pretty projectDocuments readme requiredToBeDocumented searchCategoryBoosts searchGroupBoosts searchInComments searchInDocuments showConfig sidebarLinks skipErrorChecking sluggerConfiguration sort sortEntryPoints sourceLinkExternal sourceLinkTemplate suppressCommentWarningsInDeclarationFiles theme titleLink treatValidationWarningsAsErrors treatWarningsAsErrors tsconfig typePrintWidth useFirstParagraphOfCommentAsSummary useHostedBaseUrlForAbsoluteLinks useTsLinkResolution validation version visibilityFilters watch

Properties

alwaysCreateEntryPointModule: boolean
basePath: string
blockTags: `@${string}`[]
cacheBust: boolean
cascadedModifierTags: `@${string}`[]
categorizeByGroup: boolean
categoryOrder: string[]
cleanOutputDir: boolean
cname: string
commentStyle: { All: "all"; Block: "block"; JSDoc: "jsdoc"; Line: "line" }
compilerOptions: unknown
customCss: string
customFooterHtml: string
customFooterHtmlDisableWrapper: boolean
customJs: string
darkHighlightTheme: BundledTheme
defaultCategory: string
disableGit: boolean
disableSources: boolean
emit: { both: "both"; docs: "docs"; none: "none" }
entryPoints: string[]
entryPointStrategy: {
    Expand: "expand";
    Merge: "merge";
    Packages: "packages";
    Resolve: "resolve";
}

Type declaration

  • ReadonlyExpand: "expand"

    The default behavior in v0.21 and earlier. Behaves like the resolve behavior, but will recursively expand directories into an entry point for each file within the directory.

  • ReadonlyMerge: "merge"

    Merges multiple previously generated output from TypeDoc's --json output together into a single project.

  • ReadonlyPackages: "packages"

    Run TypeDoc in each directory passed as an entry point. Once all directories have been converted, use the merge option to produce final output.

  • ReadonlyResolve: "resolve"

    The default behavior in v0.22+, expects all provided entry points as being part of a single program. Any directories included in the entry point list will result in dir/index.([cm][tj]s|[tj]sx?) being used.

exclude: string[]
excludeCategories: string[]
excludeExternals: boolean
excludeInternal: boolean
excludeNotDocumented: boolean
excludeNotDocumentedKinds: KindString[]
excludePrivate: boolean
excludeProtected: boolean
excludeReferences: boolean
excludeTags: `@${string}`[]
externalPattern: string[]
externalSymbolLinkMappings: Configuration.ManuallyValidatedOption<
    Record<string, Record<string, string>>,
>
favicon: string
githubPages: boolean
gitRemote: string
gitRevision: string
groupOrder: string[]
groupReferencesByType: boolean
headings: { document: boolean; readme: boolean }
help: boolean
hideGenerator: boolean
highlightLanguages: string[]
hostedBaseUrl: string
html: string
includeHierarchySummary: boolean
includeVersion: boolean
inlineTags: `@${string}`[]
intentionallyNotExported: string[]
jsDocCompatibility: Configuration.JsDocCompatibility
json: string
kindSortOrder: KindString[]
lang: string
lightHighlightTheme: BundledTheme
locales: Configuration.ManuallyValidatedOption<
    Record<string, Record<string, string>>,
>
logLevel: typeof LogLevel
markdownItLoader: Configuration.ManuallyValidatedOption<(parser: any) => void>

Will be called when TypeDoc is setting up the markdown parser to use to render markdown. Can be used to add markdown-it plugins to the parser with code like this:

// typedoc.config.mjs
import iterator from "markdown-it-for-inline";
export default {
/** @param {MarkdownIt} parser */
markdownItLoader(parser) {
parser.use(iterator, "foo_replace", "text", function(tokens, idx) {
tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');
});
}
}

Note: Unfortunately, markdown-it doesn't ship its own types, so parser isn't strictly typed here.

markdownItOptions: Configuration.ManuallyValidatedOption<
    Record<string, unknown>,
>
markdownLinkExternal: boolean
maxTypeConversionDepth: number
modifierTags: `@${string}`[]
name: string
navigation: {
    compactFolders: boolean;
    excludeReferences: boolean;
    includeCategories: boolean;
    includeFolders: boolean;
    includeGroups: boolean;
}
navigationLeaves: string[]
navigationLinks: Configuration.ManuallyValidatedOption<Record<string, string>>
notRenderedTags: `@${string}`[]
options: string
out: string
plugin: string[]
preserveLinkText: boolean
preserveWatchOutput: boolean
pretty: boolean
projectDocuments: string[]
readme: string
requiredToBeDocumented: KindString[]
searchCategoryBoosts: Configuration.ManuallyValidatedOption<
    Record<string, number>,
>
searchGroupBoosts: Configuration.ManuallyValidatedOption<Record<string, number>>
searchInComments: boolean
searchInDocuments: boolean
showConfig: boolean
sidebarLinks: Configuration.ManuallyValidatedOption<Record<string, string>>
skipErrorChecking: boolean
sluggerConfiguration: { lowercase: boolean }
sort: (
    | "kind"
    | "instance-first"
    | "alphabetical-ignoring-documents"
    | "source-order"
    | "alphabetical"
    | "enum-value-ascending"
    | "enum-value-descending"
    | "enum-member-source-order"
    | "static-first"
    | "visibility"
    | "required-first"
    | "external-last"
    | "documents-first"
    | "documents-last"
)[]
sortEntryPoints: boolean
sourceLinkExternal: boolean
sourceLinkTemplate: string
suppressCommentWarningsInDeclarationFiles: boolean
theme: string
titleLink: string
treatValidationWarningsAsErrors: boolean
treatWarningsAsErrors: boolean
tsconfig: string
typePrintWidth: number
useFirstParagraphOfCommentAsSummary: boolean
useHostedBaseUrlForAbsoluteLinks: boolean
useTsLinkResolution: boolean
version: boolean
visibilityFilters: Configuration.ManuallyValidatedOption<
    {
        external?: boolean;
        inherited?: boolean;
        private?: boolean;
        protected?: boolean;
        [tag: `@${string}`]: boolean;
    },
>
watch: boolean