An interface describing all TypeDoc specific options. Generated from a map which contains more information about each option for better types when defining said options.

interface TypeDocOptions {
    alwaysCreateEntryPointModule: boolean;
    basePath: string;
    blockTags: `@${string}`[];
    cacheBust: boolean;
    cascadedModifierTags: `@${string}`[];
    categorizeByGroup: boolean;
    categoryOrder: string[];
    cleanOutputDir: boolean;
    cname: string;
    commentStyle:
        | "Block"
        | "all"
        | "All"
        | "line"
        | "jsdoc"
        | "block"
        | "JSDoc"
        | "Line";
    compilerOptions: unknown;
    customCss: string;
    customFooterHtml: string;
    customFooterHtmlDisableWrapper: boolean;
    customJs: string;
    darkHighlightTheme: BundledTheme;
    defaultCategory: string;
    disableGit: boolean;
    disableSources: boolean;
    emit: "none"
    | "both"
    | "docs";
    entryPoints: string[];
    entryPointStrategy:
        | "expand"
        | "Expand"
        | "resolve"
        | "packages"
        | "merge"
        | "Resolve"
        | "Packages"
        | "Merge";
    exclude: string[];
    excludeCategories: string[];
    excludeExternals: boolean;
    excludeInternal: boolean;
    excludeNotDocumented: boolean;
    excludeNotDocumentedKinds: KindString[];
    excludePrivate: boolean;
    excludeProtected: boolean;
    excludeReferences: boolean;
    excludeTags: `@${string}`[];
    externalPattern: string[];
    externalSymbolLinkMappings: Record<string, Record<string, string>>;
    favicon: string;
    githubPages: boolean;
    gitRemote: string;
    gitRevision: string;
    groupOrder: string[];
    groupReferencesByType: boolean;
    headings: boolean | Partial<{ document: boolean; readme: boolean }>;
    help: boolean;
    hideGenerator: boolean;
    highlightLanguages: string[];
    hostedBaseUrl: string;
    html: string;
    includeHierarchySummary: boolean;
    includeVersion: boolean;
    inlineTags: `@${string}`[];
    intentionallyNotExported: string[];
    jsDocCompatibility: boolean | Partial<Configuration.JsDocCompatibility>;
    json: string;
    kindSortOrder: KindString[];
    lang: string;
    lightHighlightTheme: BundledTheme;
    locales: Record<string, Record<string, string>>;
    logLevel:
        | "None"
        | "Info"
        | Verbose
        | Info
        | Warn
        | Error
        | None
        | "Verbose"
        | "Warn"
        | "Error";
    markdownItLoader: (parser: any) => void;
    markdownItOptions: Record<string, unknown>;
    markdownLinkExternal: boolean;
    maxTypeConversionDepth: number;
    modifierTags: `@${string}`[];
    name: string;
    navigation:
        | boolean
        | Partial<
            {
                compactFolders: boolean;
                excludeReferences: boolean;
                includeCategories: boolean;
                includeFolders: boolean;
                includeGroups: boolean;
            },
        >;
    navigationLeaves: string[];
    navigationLinks: Record<string, string>;
    notRenderedTags: `@${string}`[];
    options: string;
    out: string;
    outputs: Configuration.OutputSpecification[];
    packageOptions: Configuration.TypeDocOptions;
    plugin: string[];
    preserveLinkText: boolean;
    preserveWatchOutput: boolean;
    pretty: boolean;
    projectDocuments: string[];
    readme: string;
    requiredToBeDocumented: KindString[];
    searchCategoryBoosts: Record<string, number>;
    searchGroupBoosts: Record<string, number>;
    searchInComments: boolean;
    searchInDocuments: boolean;
    showConfig: boolean;
    sidebarLinks: Record<string, string>;
    skipErrorChecking: boolean;
    sluggerConfiguration: boolean | Partial<{ 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: boolean
    | Partial<Configuration.ValidationOptions>;
    version: boolean;
    visibilityFilters: {
        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:
    | "Block"
    | "all"
    | "All"
    | "line"
    | "jsdoc"
    | "block"
    | "JSDoc"
    | "Line"
compilerOptions: unknown
customCss: string
customFooterHtml: string
customFooterHtmlDisableWrapper: boolean
customJs: string
darkHighlightTheme: BundledTheme
defaultCategory: string
disableGit: boolean
disableSources: boolean
emit: "none" | "both" | "docs"
entryPoints: string[]
entryPointStrategy:
    | "expand"
    | "Expand"
    | "resolve"
    | "packages"
    | "merge"
    | "Resolve"
    | "Packages"
    | "Merge"
exclude: string[]
excludeCategories: string[]
excludeExternals: boolean
excludeInternal: boolean
excludeNotDocumented: boolean
excludeNotDocumentedKinds: KindString[]
excludePrivate: boolean
excludeProtected: boolean
excludeReferences: boolean
excludeTags: `@${string}`[]
externalPattern: string[]
externalSymbolLinkMappings: Record<string, Record<string, string>>
favicon: string
githubPages: boolean
gitRemote: string
gitRevision: string
groupOrder: string[]
groupReferencesByType: boolean
headings: boolean | Partial<{ document: boolean; readme: boolean }>
help: boolean
hideGenerator: boolean
highlightLanguages: string[]
hostedBaseUrl: string
html: string
includeHierarchySummary: boolean
includeVersion: boolean
inlineTags: `@${string}`[]
intentionallyNotExported: string[]
jsDocCompatibility: boolean | Partial<Configuration.JsDocCompatibility>
json: string
kindSortOrder: KindString[]
lang: string
lightHighlightTheme: BundledTheme
locales: Record<string, Record<string, string>>
logLevel:
    | "None"
    | "Info"
    | Verbose
    | Info
    | Warn
    | Error
    | None
    | "Verbose"
    | "Warn"
    | "Error"
markdownItLoader: (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: Record<string, unknown>
markdownLinkExternal: boolean
maxTypeConversionDepth: number
modifierTags: `@${string}`[]
name: string
navigation:
    | boolean
    | Partial<
        {
            compactFolders: boolean;
            excludeReferences: boolean;
            includeCategories: boolean;
            includeFolders: boolean;
            includeGroups: boolean;
        },
    >
navigationLeaves: string[]
navigationLinks: Record<string, string>
notRenderedTags: `@${string}`[]
options: string
out: string
plugin: string[]
preserveLinkText: boolean
preserveWatchOutput: boolean
pretty: boolean
projectDocuments: string[]
readme: string
requiredToBeDocumented: KindString[]
searchCategoryBoosts: Record<string, number>
searchGroupBoosts: Record<string, number>
searchInComments: boolean
searchInDocuments: boolean
showConfig: boolean
sidebarLinks: Record<string, string>
skipErrorChecking: boolean
sluggerConfiguration: boolean | Partial<{ 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: boolean | Partial<Configuration.ValidationOptions>
version: boolean
visibilityFilters: {
    external?: boolean;
    inherited?: boolean;
    private?: boolean;
    protected?: boolean;
    [tag: `@${string}`]: boolean;
}
watch: boolean