import type { Token, ASTNode } from '../../types/core';
import type { ParserContext } from '../parser-types';
export interface MultiWordPattern {
    command: string;
    keywords: string[];
    syntax: string;
}
export declare const MULTI_WORD_PATTERNS: MultiWordPattern[];
export declare function getMultiWordPattern(commandName: string): MultiWordPattern | null;
export declare function isKeyword(token: Token | undefined, keywords: string[]): boolean;
export declare const DEFAULT_BOUNDARY_KEYWORDS: readonly ["then", "and", "else", "end"];
export declare function isCommandBoundary(ctx: ParserContext, additionalBoundaries?: string[]): boolean;
export declare function parseArgumentsUntilBoundary(ctx: ParserContext, additionalBoundaries?: string[], maxArgs?: number): ASTNode[];
export declare function parseOneArgument(ctx: ParserContext, additionalBoundaries?: string[]): ASTNode | undefined;
export declare function consumeKeywordToArgs(ctx: ParserContext, keyword: string, args: ASTNode[]): boolean;
export declare function consumeOneOfKeywordsToArgs(ctx: ParserContext, keywords: string[], args: ASTNode[]): string | null;
//# sourceMappingURL=parsing-helpers.d.ts.map