export = Parser;
declare class Parser {
    /**
     * @param {string} code
     * @param {SyntaxConfigItem[]} syntaxPairs
     * @param {Range[]} skipRanges
     */
    constructor(code: string, syntaxPairs: SyntaxConfigItem[], skipRanges: Range[]);
    /** @type {string} */
    code: string;
    /** @type {SyntaxConfigItem[]} */
    syntaxPairs: SyntaxConfigItem[];
    /** @type {Range[]} */
    skipRanges: Range[];
    /** @type {OpenSyntax[]} */
    syntaxStack: OpenSyntax[];
    /** @type {TemplateSyntax[]} */
    result: TemplateSyntax[];
    /**
     * @private
     * @param {number} index
     * @returns {Range | undefined}
     */
    private findSkipRange;
    /**
     * @param {string} syntax
     * @param {number} position
     * @returns {number}
     */
    indexOf(syntax: string, position: number): number;
    /**
     * @param {number} position
     * @returns {OpenSyntax | null}
     */
    findOpenSyntax(position: number): OpenSyntax | null;
    /**
     * @param {number} position
     * @returns {CloseSyntax | null}
     */
    findCloseSyntax(position: number): CloseSyntax | null;
    /** @returns {OpenSyntax[]} */
    findAllOpenSyntax(): OpenSyntax[];
    /** @returns {CloseSyntax[]} */
    findAllCloseSyntax(): CloseSyntax[];
    /** @returns {(CloseSyntax | OpenSyntax)[]} */
    findAllSyntax(): (CloseSyntax | OpenSyntax)[];
    /**
     * @param {OpenSyntax} open
     * @returns {string}
     */
    getPossibleCloseValueOf(open: OpenSyntax): string;
    /** @param {CloseSyntax | OpenSyntax} syntax */
    eatSyntax(syntax: CloseSyntax | OpenSyntax): void;
    /** @returns {TemplateSyntaxParserResult} */
    parse(): TemplateSyntaxParserResult;
}
import type { SyntaxConfigItem } from "./types";
import type { Range } from "@html-eslint/types";
import type { OpenSyntax } from "./types";
import type { TemplateSyntax } from "./types";
import type { CloseSyntax } from "./types";
import type { TemplateSyntaxParserResult } from "./types";
//# sourceMappingURL=parser.d.ts.map