import { Arg } from './args'; import { defaultFlags } from './flags'; import { InputFlags } from '.'; export declare type DefaultFlags = { [P in keyof typeof defaultFlags]: typeof defaultFlags[P]['value']; }; export declare type OutputArgs = { [k: string]: any; }; export declare type OutputFlags = { [P in keyof T]: T[P]['value']; } & DefaultFlags; export declare type ParserOutput = { flags: OutputFlags; args: { [k: string]: any; }; argv: string[]; raw: ParsingToken[]; }; export declare type ArgToken = { type: 'arg'; input: string; }; export declare type FlagToken = { type: 'flag'; flag: string; input: string; }; export declare type ParsingToken = ArgToken | FlagToken; export declare type ParserInput = { argv: string[]; flags: InputFlags; args: Arg[]; strict: boolean; parseContext: { [k: string]: any; }; }; export declare class Parser { readonly input: ParserInput; private argv; private raw; private booleanFlags; constructor(input: ParserInput); parse(): { args: OutputArgs; argv: any[]; flags: any; raw: ParsingToken[]; }; private _args(argv); private _flags(); private _argv(); private _debugOutput(args, flags, argv); private _debugInput(); private readonly _argTokens; private readonly _flagTokens; private _setNames(); }