import type Command from '../Command'; import type RedirectModifier from '../RedirectModifier'; import type SingleRedirectModifier from '../SingleRedirectModifier'; import CommandNode from '../tree/CommandNode'; import type Predicate from '../Predicate'; declare abstract class ArgumentBuilder> { private args; private command; private requirement; private target; private modifier; private forks; abstract getThis(): T; then(arg: ArgumentBuilder | CommandNode): T; getArguments(): Iterable>; executes(command: Command): T; getCommand(): Command; requires(requirement: Predicate): T; getRequirement(): Predicate; redirect(target: CommandNode, modifier?: SingleRedirectModifier): T; fork(target: CommandNode, modifier: RedirectModifier): T; forward(target: CommandNode, modifier: RedirectModifier | null, fork: boolean): T; getRedirect(): CommandNode | null; getRedirectModifier(): RedirectModifier | null; isFork(): boolean; abstract build(): CommandNode; } export default ArgumentBuilder; //# sourceMappingURL=ArgumentBuilder.d.ts.map