import type { Rule, Empty } from "generic-parser/lib/core"; import { __Parentheses } from "../../node/el/controls"; import type { SentencesArray } from "../../node/cst/inline"; import type { Line } from "../../node/cst/line"; import { LineType } from "../../node/cst/line"; import { ErrorMessage } from "../cst/error"; import type { Env } from "./env"; import type { Dedent, Indent, PhysicalLine, VirtualLine } from "./virtualLine"; export type ValueRule = Rule; export type WithErrorValue = { value: TValue; errors: ErrorMessage[]; }; export type WithErrorRule = Rule, Env, Empty>; export declare const $INDENT: ValueRule; export declare const $optBNK_INDENT: ValueRule<[...(PhysicalLine[]), Indent]>; export declare const $DEDENT: ValueRule; export declare const $optBNK_DEDENT: ValueRule<[...(PhysicalLine[]), Dedent]>; export declare const $blankLine: Rule; export declare const $indentBlock: ValueRule; export declare const makeIndentBlockWithCaptureRule: (ruleName: string, ruleRepeatedOneOrMore: Rule) => Rule, Env, Omit, keyof Env>>; export declare const makeDoubleIndentBlockWithCaptureRule: (ruleName: string, ruleRepeatedOneOrMore: Rule) => Rule, Env, Omit, keyof Env>>; export declare const captionControl = ":caption:"; export declare const isSingleParentheses: (line: VirtualLine | Line | SentencesArray) => __Parentheses | null;