typedoc
Version:
Create api documentation for TypeScript projects.
97 lines (96 loc) • 7.57 kB
TypeScript
import type { PageEvent, Renderer } from "../../index.js";
import type { Internationalization, TranslationProxy } from "../../../internationalization/internationalization.js";
import type { DocumentReflection, CommentDisplayPart, DeclarationReflection, Reflection } from "../../../models/index.js";
import { type NeverIfInternal, type Options } from "../../../utils/index.js";
import type { DefaultTheme } from "./DefaultTheme.js";
import { type icons } from "./partials/icon.js";
export declare class DefaultThemeRenderContext {
readonly theme: DefaultTheme;
page: PageEvent<Reflection>;
private _refIcons;
options: Options;
internationalization: Internationalization;
i18n: TranslationProxy;
constructor(theme: DefaultTheme, page: PageEvent<Reflection>, options: Options);
/**
* Icons available for use within the page.
*
* Note: This creates a reference to icons declared by {@link DefaultTheme.icons},
* to customize icons, that object must be modified instead.
*/
get icons(): Readonly<typeof icons>;
get slugger(): import("./Slugger.js").Slugger;
hook: Renderer["hooks"]["emit"];
/** Avoid this in favor of urlTo if possible */
relativeURL: (url: string, cacheBust?: boolean) => string;
urlTo: (reflection: Reflection) => string;
markdown: (md: readonly CommentDisplayPart[] | NeverIfInternal<string | undefined>) => string;
/** Renders user comment markdown wrapped in a tsd-comment div */
displayParts: (parts: readonly CommentDisplayPart[] | undefined) => import("../../../utils/jsx.elements.js").JsxElement | undefined;
getNavigation: () => import("./DefaultTheme.js").NavigationElement[];
getReflectionClasses: (refl: DeclarationReflection | DocumentReflection) => string;
documentTemplate: (props: PageEvent<DocumentReflection>) => import("../../../utils/jsx.elements.js").JsxElement;
reflectionTemplate: (props: PageEvent<import("../../../models/index.js").ContainerReflection>) => import("../../../utils/jsx.elements.js").JsxElement;
indexTemplate: (props: PageEvent<import("../../../models/index.js").ProjectReflection>) => import("../../../utils/jsx.elements.js").JsxElement;
hierarchyTemplate: (props: PageEvent<import("../../../models/index.js").ProjectReflection>) => import("../../../utils/jsx.elements.js").JsxElement;
defaultLayout: (template: import("../../index.js").RenderTemplate<PageEvent<Reflection>>, props: PageEvent<Reflection>) => import("../../../utils/jsx.elements.js").JsxElement;
/**
* Rendered just after the description for a reflection.
* This can be used to render a shortened type display of a reflection that the
* rest of the page expands on.
*
* Note: Will not be called for variables/type aliases, as they are summarized
* by their type declaration, which is already rendered by {@link DefaultThemeRenderContext.memberDeclaration}
*/
reflectionPreview: (props: Reflection) => import("../../../utils/jsx.elements.js").JsxElement | undefined;
/**
* Used to render additional details about a type. This is used to implement
* the `@expand` tag, comments on union members, comments on object type members...
*/
typeDetails: (type: import("../../../models/types.js").SomeType, renderAnchors: boolean) => import("../../../utils/jsx.elements.js").JsxChildren;
/**
* Should call the {@link typeDetails} helper if rendering additional details
* about the type will provide the user with more information about the type.
*/
typeDetailsIfUseful: (type: import("../../../models/types.js").SomeType | undefined) => import("../../../utils/jsx.elements.js").JsxChildren;
/**
* Wrapper around {@link typeDetails} which checks if it is useful
* and includes a "Type Declaration" header.
*/
typeDeclaration: (type: import("../../../models/types.js").SomeType) => import("../../../utils/jsx.elements.js").JsxChildren;
breadcrumb: (props: Reflection) => import("../../../utils/jsx.elements.js").JsxElement | undefined;
commentShortSummary: (props: Reflection) => import("../../../utils/jsx.elements.js").JsxElement | undefined;
commentSummary: (props: Reflection) => import("../../../utils/jsx.elements.js").JsxElement | undefined;
commentTags: (props: Reflection) => import("../../../utils/jsx.elements.js").JsxElement | undefined;
reflectionFlags: (props: Reflection) => import("../../../utils/jsx.elements.js").JsxElement;
footer: () => import("../../../utils/jsx.elements.js").JsxElement;
header: (props: PageEvent<Reflection>) => import("../../../utils/jsx.elements.js").JsxElement;
hierarchy: (typeHierarchy: import("../../../models/index.js").DeclarationHierarchy | undefined) => import("../../../utils/jsx.elements.js").JsxElement | undefined;
index: (props: import("../../../models/index.js").ContainerReflection) => import("../../../utils/jsx.elements.js").JsxElement;
member: (props: DeclarationReflection | DocumentReflection) => import("../../../utils/jsx.elements.js").JsxElement;
moduleReflection: (mod: DeclarationReflection | import("../../../models/index.js").ProjectReflection) => import("../../../utils/jsx.elements.js").JsxElement;
moduleMemberSummary: (member: DeclarationReflection | DocumentReflection) => import("../../../utils/jsx.elements.js").JsxElement;
memberDeclaration: (props: DeclarationReflection) => import("../../../utils/jsx.elements.js").JsxElement;
memberGetterSetter: (props: DeclarationReflection) => import("../../../utils/jsx.elements.js").JsxElement;
memberSignatureBody: (props: import("../../../models/index.js").SignatureReflection, r_1?: {
hideSources?: boolean;
} | undefined) => import("../../../utils/jsx.elements.js").JsxElement;
memberSignatureTitle: (props: import("../../../models/index.js").SignatureReflection, options?: {
hideName?: boolean;
} | undefined) => import("../../../utils/jsx.elements.js").JsxElement;
memberSignatures: (props: DeclarationReflection) => import("../../../utils/jsx.elements.js").JsxElement;
memberSources: (props: DeclarationReflection | import("../../../models/index.js").SignatureReflection) => import("../../../utils/jsx.elements.js").JsxElement;
members: (props: import("../../../models/index.js").ContainerReflection) => import("../../../utils/jsx.elements.js").JsxElement;
sidebar: (props: PageEvent<Reflection>) => import("../../../utils/jsx.elements.js").JsxElement;
pageSidebar: (props: PageEvent<Reflection>) => import("../../../utils/jsx.elements.js").JsxElement;
sidebarLinks: () => import("../../../utils/jsx.elements.js").JsxElement | null;
settings: () => import("../../../utils/jsx.elements.js").JsxElement;
navigation: (props: PageEvent<Reflection>) => import("../../../utils/jsx.elements.js").JsxElement;
pageNavigation: (props: PageEvent<Reflection>) => import("../../../utils/jsx.elements.js").JsxElement;
toolbar: (props: PageEvent<Reflection>) => import("../../../utils/jsx.elements.js").JsxElement;
type: (type: import("../../../models/types.js").SomeType | undefined, options?: {
topLevelLinks: boolean;
} | undefined) => import("../../../utils/jsx.elements.js").JsxElement;
typeAndParent: (props: import("../../../models/types.js").Type) => import("../../../utils/jsx.elements.js").JsxElement;
typeParameters: (typeParameters: import("../../../models/index.js").TypeParameterReflection[]) => import("../../../utils/jsx.elements.js").JsxElement;
}