import { Rule } from './rule'; import { Cursor } from './cursor'; import { Node } from './node'; import { Region } from './region'; import { Context } from './context'; export declare class Parser { readonly ctx: Context; readonly rules: Rule[]; constructor(ctx: Context, rules: Rule[]); parseString(str: string): Node; parse(region: Region): Node; parseSinglePass(cursor: Cursor): Node | null; insertRuleBefore(predicate: (rule: Rule) => boolean, newRule: Rule): this; insertRuleAfter(predicate: (rule: Rule) => boolean, newRule: Rule): this; replaceRule(predicate: (rule: Rule) => boolean, newRule: Rule): this; removeRule(predicate: (rule: Rule) => boolean): this; }