11// tslint:disable:max-classes-per-file
22import { MarkdownIt , Token } from 'markdown-it' ;
3- import { Component } from 'react' ;
3+ import { ComponentType , ReactNode } from 'react' ;
44import { StyleSheet , View } from 'react-native' ;
55
6- export interface MarkdownProps {
7- rules ?: RenderRules ;
8- style ?: StyleSheet . NamedStyles < any > ;
9- renderer ?: AstRenderer ;
10- markdownit ?: MarkdownIt ;
11- plugins ?: Array < PluginContainer < any > > ;
12- }
13-
14- class Markdown extends Component < MarkdownProps , { } > { }
15-
166export function getUniqueID ( ) : string ;
177export function openUrl ( url : string ) : void ;
188
199export function hasParents ( parents : any [ ] , type : string ) : boolean ;
2010
2111export type RenderFunction = (
2212 node : any ,
23- children : Component [ ] ,
24- parent : Component ,
13+ children : ReactNode [ ] ,
14+ parent : ReactNode ,
2515 styles : any ,
26- ) => Component ;
16+ ) => ReactNode ;
2717
2818export interface RenderRules {
2919 [ name : string ] : RenderFunction ;
@@ -49,7 +39,7 @@ export interface ASTNode {
4939export class AstRenderer {
5040 constructor ( renderRules : RenderRules , style ?: any ) ;
5141 getRenderFunction ( type : string ) : RenderFunction ;
52- renderNode ( node : any , parentNodes : ReadonlyArray < any > ) : Component ;
42+ renderNode ( node : any , parentNodes : ReadonlyArray < any > ) : ReactNode ;
5343 render ( nodes : ReadonlyArray < any > ) : View ;
5444}
5545
@@ -80,4 +70,16 @@ export function blockPlugin(md: any, name: string, options: object): any;
8070
8171export const styles : any ;
8272
73+ export interface MarkdownProps {
74+ rules ?: RenderRules ;
75+ style ?: StyleSheet . NamedStyles < any > ;
76+ renderer ?: AstRenderer ;
77+ markdownit ?: MarkdownIt ;
78+ plugins ?: Array < PluginContainer < any > > ;
79+ }
80+
81+ type MarkdownStatic = React . ComponentType < MarkdownProps > ;
82+ export const Markdown : MarkdownStatic ;
83+ export type Markdown = MarkdownStatic ;
84+
8385export default Markdown ;
0 commit comments