import Rule from "./Rule.js";
import Fragment from "./Fragment.js";
import { LanguageName } from "./languages/index.js";
export declare type FromTo = {
    from: string | RegExp;
    to: string | RegExp;
};
export default class Parser {
    content: string;
    private stopExpressionCache;
    private _rules;
    private language?;
    get rules(): Rule[];
    constructor(content: string, rules: LanguageName | Rule[]);
    find(...expressions: Array<string | RegExp>): Fragment[];
    replace(...fromTos: FromTo[]): string;
    findDependencies(): Fragment[];
    replaceDependencies(to: string): string;
    private parse;
    private getRuleExpression;
    private getRuleStopExpression;
    private getNextMatchExpression;
    private getMatchingRule;
    private resolveFragment;
}
