@mui/internal-docs-infra
Version:
MUI Infra - internal documentation creation tools.
40 lines • 2.01 kB
text/typescript
import type * as tae from 'typescript-api-extractor';
import { type FormattedProperty, type FormattedParameter, type FormatInlineTypeOptions, type DescriptionReplacement } from "./format.mjs";
import { type TypeRewriteContext } from "./rewriteTypes.mjs";
import type { ExternalTypesCollector } from "./externalTypes.mjs";
import type { HastRoot } from "../../CodeHighlighter/types.mjs";
export type HookTypeMeta = {
name: string;
description?: HastRoot;
/** Plain text version of description for markdown generation */
descriptionText?: string;
/** Ordered function parameters */
parameters?: FormattedParameter[];
/**
* Expanded properties from a single anonymous object parameter.
* When populated, `parameters` should be omitted and headings should
* say "Properties" instead of "Parameters".
*/
expandedProperties?: Record<string, FormattedProperty>;
returnValue: Record<string, FormattedProperty> | string;
/** Plain text version of returnValue for markdown generation (when returnValue is string) */
returnValueText?: string;
/** Description of the return value (parsed markdown as HAST) */
returnValueDescription?: HastRoot;
/** Plain text version of returnValueDescription for markdown generation */
returnValueDescriptionText?: string;
};
export interface FormatHookOptions {
/** Pattern/replacement pairs to apply to descriptions */
descriptionReplacements?: DescriptionReplacement[];
/** Options for inline type formatting (e.g., unionPrintWidth) */
formatting?: FormatInlineTypeOptions;
/** Collector for external types discovered during formatting */
externalTypes?: ExternalTypesCollector;
}
export declare function formatHookData(hook: tae.ExportNode & {
type: tae.FunctionNode;
}, typeNameMap: Record<string, string>, rewriteContext: TypeRewriteContext, options?: FormatHookOptions): Promise<HookTypeMeta>;
export declare function isPublicHook(exportNode: tae.ExportNode): exportNode is tae.ExportNode & {
type: tae.FunctionNode;
};