///
export type Element = {
type: ((props?: unknown) => JSX.Element) | string;
props: {
[key: string]: unknown;
children?: JSX.Element[];
} | null;
children?: JSX.Element[];
};
export type HTMLElement = {
type: string;
props: Record;
children?: JSX.Element[];
};
type Source = {
entry: string;
output: string;
params: Record;
};
export type Config = {
source: Source[];
};
export type HeadingNodeType = {
type: unknown;
content: string;
id?: string;
};
export type RenderTOCProps = {
text?: string;
indent?: string | undefined;
open?: boolean;
};
export type AsyncNode = {
tag: string;
data: Promise>;
renderer: (props: Record) => JSX.Element;
};
export type InnerRenderProps = {
skipRenderChildren?: boolean[];
htmlLevel?: number;
headingNodes: HeadingNodeType[];
renderTOCState: [boolean, RenderTOCProps];
asyncNodes: AsyncNode[];
};
export type RenderProps = {
asyncNodes: AsyncNode[];
};
export {};