export interface LSPCommand {
    id: string;
    name: string;
    description: string;
    syntax_canonical: string;
    example_usage: string[];
    elementType: string;
    tags?: string[];
    status?: string;
    purpose?: string;
}
export interface LSPFeature {
    id: string;
    name: string;
    description: string;
    syntax_canonical: string;
    example_usage: string[];
    elementType: string;
    tags?: string[];
}
export interface ParsedCommand {
    name: string;
    syntax: string;
    description: string;
    examples: string[];
    category: string;
}
export interface ParsedFeature {
    name: string;
    syntax: string;
    description: string;
    examples: string[];
}
export interface GeneratedCommand {
    code: string;
    filePath: string;
}
export interface GeneratedTest {
    code: string;
    filePath: string;
    testCases: string[];
}
export interface FilePaths {
    implementation: string;
    test: string;
}
export declare class CodeGenerator {
    private commandCategories;
    parseCommand(data: LSPCommand): ParsedCommand;
    parseFeature(data: LSPFeature): ParsedFeature;
    categorizeCommand(commandName: string): string;
    generateFilePaths(name: string, type: 'command' | 'feature'): FilePaths;
    generateCommandInterface(data: LSPCommand): GeneratedCommand;
    generateCommandTest(data: LSPCommand): GeneratedTest;
    private generateTestCase;
    loadLSPData(): {
        commands: LSPCommand[];
        features: LSPFeature[];
    };
    generateMissingCommands(): void;
    private capitalizeFirst;
    private escapeString;
}
//# sourceMappingURL=code-generator.d.ts.map