import type { MarkupRules } from "../util/rule.js";
/** Markup rules that work in a block context. */
export declare const MARKUP_RULES_BLOCK: MarkupRules;
/** Markup rules that work in an inline context. */
export declare const MARKUP_RULES_INLINE: MarkupRules;
/**
* Default markup rules
*
* These rules define a syntax similar to Markdown but with improvements:
* 1. Syntax is more intuitive (e.g. `*strong*` always uses `*` asterisk and `_em_` always uses `_` underscore, and URLs are always autolinked).
* 2. More compatible with textboxes that wrap lines by default (e.g. single `\n` linebreaks don't need the trailing double space to, they're always treated as `
`).
* 3. Don't support fussy fragile syntax that lets users make mistakes (e.g. literal HTML tags or `&` character entities).
*
* @todo Default rules support "list items containing paragraphs" syntax (CommonMark calls this loose lists).
* - i.e. Lists can include `\n\n` double line breaks, and wrap all their contents in `
` entities, i.e. childContext is "block" * - Hard because you have to capture the entire list including `\n\n`, so there's no obvious place to end it. * - If there are breaks then any sub-lines need to be indented by two or more spaces otherwise it will break the list. * - Make reference lists support this loose format too. * @todo [ ] Default rules support tables using `|` pipe syntax. * @todo [ ] Default rules support todo lists using `- [x]` syntax. * @todo [ ] Default rules support new reference syntax (combines reference lists/sidenotes/footnotes/reference and produces