/**
 * @file 行内上标 / 下标语法
 * @module transformer/extends/inline/supsub
 *
 * 语法：`~下标~` / `^上标^`（Penna 扩展语法）
 */
import { BaseInlineParser } from "../../../transformer/core/ParserBase.js";
import { MarkdownNode } from "../../../transformer/core/MarkdownNode.js";
import { InlineParseContext } from "../../../transformer/core/context/InlineParseContext";
import { RenderContext } from "../../../transformer/core/context/RenderContext";
/**
 * 下标行内解析器。
 *
 * @extends {BaseInlineParser}
 */
declare class SubInlineParser extends BaseInlineParser {
    constructor();
    canOpenAt(src: string, index: number, _ctx: InlineParseContext): boolean;
    /** @inheritdoc */
    parse(src: string, index: number, ctx: InlineParseContext): {
        node: MarkdownNode;
        nextIndex: number;
    } | null;
    /** @inheritdoc */
    render(node: MarkdownNode, ctx: RenderContext): string;
}
/**
 * 上标行内解析器。
 *
 * @extends {BaseInlineParser}
 */
declare class SupInlineParser extends BaseInlineParser {
    constructor();
    canOpenAt(src: string, index: number, _ctx: InlineParseContext): boolean;
    /** @inheritdoc */
    parse(src: string, index: number, ctx: InlineParseContext): {
        node: MarkdownNode;
        nextIndex: number;
    } | null;
    /** @inheritdoc */
    render(node: MarkdownNode, ctx: RenderContext): string;
}
export declare const subInlineParser: SubInlineParser;
export declare const supInlineParser: SupInlineParser;
export default subInlineParser;
//# sourceMappingURL=supsub.d.ts.map