import { CommandOptions, GenerationResult } from "../types";
interface GenerateOptions extends CommandOptions {
    type?: "context" | "types" | "brand" | "components-list" | "project-structure" | "architecture" | "all";
    output?: string;
    force?: boolean;
    description?: string;
    contextFile?: string;
    model?: string;
    modelCandidates?: string[] | string;
    full?: boolean;
    autoContinue?: boolean;
    filesOnly?: boolean;
    fromSchema?: boolean;
}
export declare class GenerateCommand {
    private fs;
    private spinner;
    private ai;
    private hostedApi;
    constructor();
    execute(options: GenerateOptions): Promise<void>;
    getProjectContext(): Promise<any>;
    private getActivePlaybook;
    private resolveInputContext;
    generateContext(projectContext: any, options: GenerateOptions): Promise<GenerationResult>;
    generateTypes(projectContext: any, options: GenerateOptions): Promise<GenerationResult>;
    /**
     * Generate types from InstantDB schema
     */
    private generateTypesFromSchema;
    /**
     * Load context files for accurate type generation
     */
    private loadContextForTypesGeneration;
    /**
     * Load context files for accurate brand generation
     */
    private loadContextForBrandGeneration;
    /**
     * Check if PRD already exists and handle user preferences
     */
    private checkExistingPRD;
    /**
     * Load context files for accurate PRD generation
     */
    private loadContextForPRDGeneration;
    private truncateContext;
    /**
     * Unified method to load all context files for consistent discovery
     */
    private loadAllContextFiles;
    private generateTypesTemplate_DISABLED;
    private parseAIGeneratedTypes;
    private extractInterfaces;
    private extractEnums;
    private extractTypes;
    private generateUITypes;
    private generateIndexTypes;
    private parseAndStructureTypes;
    private generateTypesIndex;
    private generateTypesDatabase;
    private generateTypesEnums;
    private generateTypesUI;
    private generateTypesUtils;
    private sanitizeTypeScriptOutput;
    generateBrand(projectContext: any, options: GenerateOptions): Promise<GenerationResult>;
    generateProjectStructure(projectContext: any, options: GenerateOptions): Promise<GenerationResult>;
    generateComponentList(projectContext: any, options: GenerateOptions): Promise<GenerationResult>;
    /**
     * Generate complete project architecture: types + brand + component-list + project-structure
     */
    generateArchitecture(projectContext: any, options: GenerateOptions): Promise<GenerationResult>;
    private buildFallbackComponentList_DISABLED;
    private showNextSteps;
    private getContextualSuggestions;
    private promptForType;
    private saveGeneratedContent;
    private mergeComponentLists;
    private mergeComponentsByName;
    private parseAndCreateBrandSystem;
    private generateBrandCSS;
    private generateBrandGuide;
    private generateBrandColors;
    private generateBrandTypography;
    private sanitizeMarkdownOutput;
    private splitPrdContent;
    private buildSkeleton_DISABLED;
    private readStdinIfAvailable;
    private readStdinBlockUntilEOF;
    private extractJson;
    private loadLivingContext;
    private updateLivingContext;
    private readContextArtifacts;
    private readCoreExcerpt;
    private getCanonicalShadcnList;
    private repairJson;
    private buildProjectStructurePrompt;
    private buildFallbackProjectStructure_DISABLED;
    private printNextStepsAfterGenerate;
    /**
     * Normalize command aliases to their primary command names
     */
    private normalizeCommandType;
    private hasLocalAIKeys;
    private getModelCandidates;
    /**
     * Update config.json status
     */
    private updateConfigStatus;
    /**
     * Get the project root directory, handling cases where we're inside .mycontext
     */
    private getProjectRoot;
}
export {};
//# sourceMappingURL=generate.d.ts.map