export interface BlockStack { first: boolean; blocks: string[]; } /** * Initial block stack */ export declare function blocksInit(): BlockStack; /** * Next node */ export declare function blocksNextNode(stack: BlockStack): void; /** * enter block */ export declare function blocksEnterBlock(stack: BlockStack, blockType: string, setFirst: (b: string) => boolean): BlockStack; /** * Create a prefix within an existing line */ export declare function prefixInLine(blocks: string[]): string; /** * Create a new line */ export declare function newLine(blocks: string[]): string; /** * Next node */ export declare function nextNode(parameters: any): void; /** * Set parameters for general blocks */ export declare function mkParameters(ast: any, parametersOut: any, init: any, setFirst: (b: string) => boolean): any; /** * Create a line prefix */ export declare function mkPrefix(parameters: any, nb: number): string; /** * Create a single new line */ export declare function mkNewLine(parameters: any): string; /** * Create Setext heading */ export declare function mkSetextHeading(level: number): string; /** * Create ATX heading */ export declare function mkATXHeading(level: number): string; /** * Create table heading */ export declare function mkTableHeading(col: number): string; /** * Adding escapes for text nodes */ export declare function escapeText(input: string): string; /** * Adding escapes for code blocks */ export declare function escapeCodeBlock(input: string): string; /** * Removing escapes */ export declare function unescapeCodeBlock(input: string): string; /** * Parses an HTML block and extracts the attributes, tag name and tag contents. * Note that this will return null for strings like this: */ export declare function parseHtmlBlock(input: string): any; /** * Merge adjacent Html nodes in a list of nodes */ export declare function mergeAdjacentHtmlNodes(nodes: any[], tagInfo: boolean): any[]; /** * Determine the heading level */ export declare function headingLevel(tag: string): string; /** * Get an attribute value */ export declare function getAttr(attrs: any, name: string, def: any): string; /** * Trim single ending newline */ export declare function trimEndline(text: string): string;