/** * Dynamic argument parsing and template substitution for skills. * * Supports: * - $1, $2, ... — positional arguments * - $ALL — all arguments as a single string * - $COUNT — number of arguments * - $FIRST — first argument * - $LAST — last argument */ export interface ParsedArgs { positional: string[]; raw: string; } /** * Parse a user input string into a skill name and arguments. * Handles quoted strings for multi-word arguments. * * @example * parseInvocation('/docker-ops build myapp:1.2.0 --no-cache') * // => { skillName: 'docker-ops', args: { positional: ['build', 'myapp:1.2.0', '--no-cache'], raw: 'build myapp:1.2.0 --no-cache' } } */ export declare function parseInvocation(input: string): { skillName: string; args: ParsedArgs; } | null; /** * Substitute template variables in a skill body with actual arguments. * * Supported variables: * - $1, $2, ..., $N — positional arguments (1-indexed) * - $ALL — all arguments joined as a string * - $COUNT — number of arguments * - $FIRST — first argument (same as $1) * - $LAST — last argument */ export declare function substituteArgs(body: string, args: ParsedArgs): string;