import { ArgumentParserResult, Parser } from '../types/Parser'; import { ParsingContext } from '../types/ParsingContext'; import { StringReader } from '../utils/StringReader'; /** * Base class of argument parsers. */ export declare abstract class ArgumentParser implements Parser { static identity: string; /** * Human-readable identity of the parser. Will be shown in hints. */ abstract readonly identity: string; /** * Parse. * @param reader Input reader. * @param ctx A ParsingContext. */ abstract parse(reader: StringReader, ctx: ParsingContext): ArgumentParserResult; /** * Default implements to return something like `` */ toHint(name: string, optional: boolean): string; /** * Get examples of this argument. * * @example * return ['true', 'false'] */ getExamples(): string[]; }