import type { ComponentType, PropsWithChildren, ReactNode } from 'react'; import type { Node, RichContent } from 'ricos-schema'; import type { ClassNameStrategy, NodeViewDecorator, NodeViewRenderers, PluginMapping, ViewerContextualData } from 'ricos-types'; export interface ContentTraverserProps { content: RichContent; context: ViewerContextualData; typeMappers: PluginMapping; nodeViewRenderers: NodeViewRenderers; nodeViewDecorators: NodeViewDecorator[]; SpoilerViewerWrapper?: ComponentType<{ className: unknown; width?: number; }>; addAnchorsPrefix?: string; } export type PluginComponent = { component: ComponentType; classNameStrategies?: ClassNameStrategies; elementType?: 'inline' | 'block'; withHorizontalScroll?: boolean; }; export type ClassNameStrategies = { size?: ClassNameStrategy; alignment?: ClassNameStrategy; textWrap?: ClassNameStrategy; custom?: ClassNameStrategy; container?: ClassNameStrategy; }; export type fromExternalNodeArgs = { pluginComponent: PluginComponent; type: string; context: ViewerContextualData; SpoilerViewerWrapper?: ComponentType<{ className: unknown; width?: number; }>; }; export type FromExternalNodeProps = fromExternalNodeArgs & { nodeIndex: number; node: Node; children?: ReactNode; }; export type FromExternalNode = (args: fromExternalNodeArgs) => NodeViewRenderers; //# sourceMappingURL=types.d.ts.map