import * as React from 'react'; import { ITheme, IStyleFunctionOrObject, IStyle, ILinkStyleProps, IImageStyleProps } from 'office-ui-fabric-react'; import { IMarkdownHeaderStyleProps } from './MarkdownHeader'; import { IMarkdownParagraphStyleProps } from './MarkdownParagraph'; import { IMarkdownCodeStyleProps } from './MarkdownCode'; import { IMarkdownTableStyleProps } from '../MarkdownTable/index'; import { MarkdownOptions } from 'markdown-to-jsx'; export interface IMarkdownProps { className?: string; children?: React.ReactNode; /** * If true, using a code block with language name `renderhtml` will render the contents as HTML. * This is to work around markdown-to-jsx's limited support for nested HTML elements. */ enableRenderHtmlBlock?: boolean; /** Additional component overrides for markdown rendering */ overrides?: MarkdownOptions['overrides']; /** Theme provided by higher-order component. */ theme?: ITheme; /** Optional override styles */ styles?: IStyleFunctionOrObject; } export declare type IMarkdownStyleProps = Required>; export interface IMarkdownStyles { root: IStyle; subComponentStyles: IMarkdownSubComponentStyles; } export interface IMarkdownSubComponentStyles { header: IStyleFunctionOrObject; paragraph: IStyleFunctionOrObject; code: IStyleFunctionOrObject; link: IStyleFunctionOrObject; image: IStyleFunctionOrObject; button: IStyleFunctionOrObject; table: IStyleFunctionOrObject; thead: IStyleFunctionOrObject; tbody: IStyleFunctionOrObject; tr: IStyleFunctionOrObject; th: IStyleFunctionOrObject; td: IStyleFunctionOrObject; }