/** * Command Generator - Generates oclif command files from API scanner output * Uses manual commands as templates and generates new commands from SDK API */ import { APIClassInfo } from './api-scanner.js'; export interface CommandMetadata { className: string; methodName: string; customizations?: { flags?: Record; examples?: string[]; beforeInit?: string; afterInit?: string; }; } export declare class CommandGenerator { private outputDir; private metadataPath; private metadata; constructor(outputDir: string, metadataPath?: string); /** * Load metadata about custom command modifications */ loadMetadata(): Promise; /** * Save metadata about custom command modifications */ saveMetadata(): Promise; /** * Generate all commands from API classes */ generateCommands(apis: APIClassInfo[]): Promise; /** * Generate a single command file */ private generateCommand; /** * Get the file path for a command */ private getCommandPath; /** * Generate the TypeScript content for a command */ private generateCommandContent; /** * Generate flag definitions from method parameters */ private generateFlags; /** * Generate a single flag definition */ private generateFlagDefinition; /** * Generate args definitions for positional arguments */ private generateArgs; /** * Generate example commands */ private generateExamples; /** * Check if method has positional arguments */ private hasPositionalArgs; /** * Generate the run method implementation */ private generateRunMethod; /** * Check if type is a complex object that needs JSON parsing */ private isComplexType; /** * Generate method call arguments */ private generateMethodCall; /** * Get the API property name (e.g., PlansAPI -> plans) */ private getAPIProperty; /** * Get the command class name (e.g., getPlan -> GetPlan) */ private getCommandClassName; /** * Convert camelCase to kebab-case * Handles consecutive capitals like ERC20 -> erc20, APlan -> aplan */ private camelToKebab; } //# sourceMappingURL=command-generator.d.ts.map