import type { MarkedToken, Tokens } from 'marked'; import type { ComponentType, Ref } from 'react'; import type { ErrorStateProps, ExcludeStrict, TestIdProp } from '@pega/cosmos-react-core'; export interface InteractionRenderers { type: string; regexPattern: RegExp; xmlElement?: string; component?: ComponentType; getSearchAttributes?: (xmlElement: string, searchResult: string) => { markdown: string; component: ComponentType; props: Record; text: string; } | undefined; } export type TokenMap = { [K in ExcludeStrict['type']]: Extract; }; export type MDMap = { [K in ExcludeStrict['type']]?: (token: TokenMap[K]) => ComponentType<{ token: TokenMap[K]; }> | undefined; }; export type RichTextViewerProps = TestIdProp & { content: string; interactionRenderers?: InteractionRenderers[]; markdownMap?: MDMap; onRetry?: ErrorStateProps['onRetry']; ref?: Ref; } & ({ type: 'markdown'; onMarkdownLinkRender?: (href: string) => void; renderHTML?: boolean; } | { type: 'html' | 'richtext'; onMarkdownLinkRender?: never; renderHTML?: never; }); //# sourceMappingURL=RichTextViewer.types.d.ts.map