export interface NodeTypes { paragraph: 'paragraph'; block_quote: 'block_quote'; code_block: 'code_block'; link: 'link'; ul_list: 'ul_list'; ol_list: 'ol_list'; listItem: 'list_item'; heading: { 1: 'heading_one'; 2: 'heading_two'; 3: 'heading_three'; 4: 'heading_four'; 5: 'heading_five'; 6: 'heading_six'; }; emphasis_mark: 'italic'; strong_mark: 'bold'; delete_mark: 'strikeThrough'; inline_code_mark: 'code'; thematic_break: 'thematic_break'; image: 'image'; } export declare type MdastNodeType = 'paragraph' | 'heading' | 'list' | 'listItem' | 'link' | 'image' | 'blockquote' | 'code' | 'html' | 'emphasis' | 'strong' | 'delete' | 'inlineCode' | 'thematicBreak' | 'text'; export declare const defaultNodeTypes: NodeTypes; export interface LeafType { text: string; strikeThrough?: boolean; bold?: boolean; italic?: boolean; code?: boolean; parentType?: string; } export interface BlockType { type: string; parentType?: string; link?: string; caption?: string; language?: string; break?: boolean; children: Array; } export interface InputNodeTypes { paragraph: string; block_quote: string; code_block: string; link: string; ul_list: string; ol_list: string; listItem: string; heading: { 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; }; emphasis_mark: string; strong_mark: string; delete_mark: string; inline_code_mark: string; thematic_break: string; image: string; } declare type RecursivePartial = { [P in keyof T]?: RecursivePartial; }; export interface OptionType { nodeTypes?: RecursivePartial; linkDestinationKey?: string; imageSourceKey?: string; imageCaptionKey?: string; } export interface MdastNode { type?: MdastNodeType; ordered?: boolean; value?: string; text?: string; children?: Array; depth?: 1 | 2 | 3 | 4 | 5 | 6; url?: string; alt?: string; lang?: string; position?: any; spread?: any; checked?: any; indent?: any; } export declare type TextNode = { text?: string | undefined; }; export declare type CodeBlockNode = { type: T['code_block']; language: string | undefined; children: Array; }; export declare type HeadingNode = { type: T['heading'][1] | T['heading'][2] | T['heading'][3] | T['heading'][4] | T['heading'][5] | T['heading'][6]; children: Array>; }; export declare type ListNode = { type: T['ol_list'] | T['ul_list']; children: Array>; }; export declare type ListItemNode = { type: T['listItem']; children: Array>; }; export declare type ParagraphNode = { type: T['paragraph']; break?: true; children: Array>; }; export declare type LinkNode = { type: T['link']; children: Array>; [urlKey: string]: string | undefined | Array>; }; export declare type ImageNode = { type: T['image']; children: Array>; [sourceOrCaptionKey: string]: string | undefined | Array>; }; export declare type BlockQuoteNode = { type: T['block_quote']; children: Array>; }; export declare type InlineCodeMarkNode = { type: T['inline_code_mark']; children: Array; language: string | undefined; }; export declare type ThematicBreakNode = { type: T['thematic_break']; children: Array>; }; export declare type ItalicNode = { [K in T['emphasis_mark']]: true; } & { children: TextNode; }; export declare type BoldNode = { bold: true; children: TextNode; }; export declare type StrikeThoughNode = { strikeThrough: true; children: TextNode; }; export declare type InlineCodeNode = { code: true; text: string | undefined; }; export declare type DeserializedNode = CodeBlockNode | HeadingNode | ListNode | ListItemNode | ParagraphNode | LinkNode | ImageNode | BlockQuoteNode | InlineCodeMarkNode | ThematicBreakNode | ItalicNode | BoldNode | StrikeThoughNode | InlineCodeNode | TextNode; export {};