import { MarkdownPageEvent } from '../events/index.js'; import { OutputFileStrategy } from '../options/maps.js'; import { Options, ReflectionKind } from 'typedoc'; /** * The model used to define the package metadata when in packages mode. * */ export interface PackageMetaData { description: string; options: Options; } /** * The model used to define the URL mapping structure. * */ export interface UrlMapping { url: string; model: Model; group?: string; template: (data: MarkdownPageEvent) => string; } /** * The model used to define the navigation structure. * */ export interface NavigationItem { title: string; path?: string | null; kind?: ReflectionKind; children?: NavigationItem[]; } /** * Defines how reflections are mapped to urls. */ export interface TemplateMapping { directory: string | null; template: any; kind: ReflectionKind; } /** * Used internally when building the URL mapping. */ export interface UrlOption { parentUrl?: string; directory?: string | null; forceDirectory?: boolean; outputFileStrategy?: OutputFileStrategy; entryModule?: string; entryFileName?: string; group?: string; } /** * Defines the template type to use for rendering. */ export type RenderTemplate = (data: T) => string;