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; private _refIcons; options: Options; internationalization: Internationalization; i18n: TranslationProxy; constructor(theme: DefaultTheme, page: PageEvent, 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; 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; /** 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) => import("../../../utils/jsx.elements.js").JsxElement; reflectionTemplate: (props: PageEvent) => import("../../../utils/jsx.elements.js").JsxElement; indexTemplate: (props: PageEvent) => import("../../../utils/jsx.elements.js").JsxElement; hierarchyTemplate: (props: PageEvent) => import("../../../utils/jsx.elements.js").JsxElement; defaultLayout: (template: import("../../index.js").RenderTemplate>, props: PageEvent) => 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) => 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) => import("../../../utils/jsx.elements.js").JsxElement; pageSidebar: (props: PageEvent) => import("../../../utils/jsx.elements.js").JsxElement; sidebarLinks: () => import("../../../utils/jsx.elements.js").JsxElement | null; settings: () => import("../../../utils/jsx.elements.js").JsxElement; navigation: (props: PageEvent) => import("../../../utils/jsx.elements.js").JsxElement; pageNavigation: (props: PageEvent) => import("../../../utils/jsx.elements.js").JsxElement; toolbar: (props: PageEvent) => 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; }