/** * CLI Command Parser * Parses command strings from /novel slash command */ import type { ParsedArgs, Command, ParseError } from './types.js'; export declare class CommandParser { /** * Parse a command string into structured arguments * * @example * parse('create character --name "Sarah" --role protagonist') * // Returns: * { * command: 'create', * subcommand: 'character', * arguments: {}, * flags: { name: 'Sarah', role: 'protagonist' }, * positional: [], * raw: '...' * } */ parse(commandString: string): ParsedArgs; /** * Tokenize command string, respecting quotes */ tokenize(input: string): string[]; /** * Parse flags from token array (public for testing) */ parseFlags(tokens: string[]): Record; /** * Parse long flag: --name or --name=value */ private parseLongFlag; /** * Validate parsed args against command definition */ validate(args: ParsedArgs, command: Command): ParseError | null; /** * Validate flag value against flag definition */ private validateFlagValue; /** * Convert flag values to correct types */ convertFlagTypes(args: ParsedArgs, command: Command): ParsedArgs; /** * Create a parse error */ private createError; /** * Generate help text for command */ generateHelp(command: Command): string; } export declare const parser: CommandParser; //# sourceMappingURL=parser.d.ts.map