import { CutoutTextLines, Text, TextChar, TextLines } from "./textlines.js"; import { ParseResult, Parser, Result } from "./parser.js"; import { Lexer } from "./lexer.js"; export declare function emptyP(): Parser; export declare function failP(): Parser; export declare function seqP(...parsers: Parser[]): Parser; export declare function charP(predicate: (c: TextChar) => boolean): Parser; export declare function anyCharP(): Parser; export declare function newlineP(): Parser; export declare function modifyParseResultP(parser: Parser, modify: (lines: TextLines, parse_result: ParseResult) => ParseResult): Parser; export declare function modifyResultP(parser: Parser, modify: (lines: TextLines, state: State, result: Result) => Result | undefined): Parser; export declare function modifyTypeP(parser: Parser, type: (lines: TextLines, state: State, result: Result) => T | null | undefined): Parser; export declare function setTypeP(type: T | null | undefined, parser: Parser): Parser; export declare function literalP(text: string | Text, type?: T | null): Parser; export declare function literalsP(...texts: (string | Text)[]): Parser; export declare function orP(...parsers: Parser[]): Parser; export declare function optP(...parsers: Parser[]): Parser; export declare function repP(...parsers: Parser[]): Parser; export declare function rep1P(...parsers: Parser[]): Parser; export declare function joinP(elemP: Parser, jointP: Parser): Parser; export declare function lazyP(parser: () => Parser): Parser; export declare function eofP(): Parser; export declare function bolP(): Parser; export declare function eolP(): Parser; export declare function shiftResult(lines: CutoutTextLines, result: Result): void; export declare function notP(parser: Parser): Parser; export declare function lookaheadP(parser: Parser): Parser; export declare function sectionP(bulletP: Parser, bodyP: (lines: TextLines, state: State, bullet_result: Result) => Parser, spacesL: Lexer, indentationL: Lexer, afterP: Parser): Parser;