import { CodeNode } from './utils/CodeNode';
import { AIAssistant } from './AIAssistant';
import { TaskExecutor } from './TaskExecutor';
export interface ApplicationTemplate {
    name: string;
    description: string;
    rootNode: CodeNode;
}
export interface GenerationOptions {
    template: ApplicationTemplate;
    customizations?: Record<string, any>;
}
export interface TestResult {
    name: string;
    passed: boolean;
    message?: string;
}
export declare class ApplicationSeed {
    private aiAssistant;
    private taskExecutor;
    private rootNode;
    private codeAnalyzer;
    constructor(aiAssistant: AIAssistant, taskExecutor: TaskExecutor);
    generate(options: GenerationOptions): Promise<CodeNode>;
    runTests(): Promise<TestResult[]>;
    private runTest;
    private findTestNodes;
    analyzeCodeQuality(): Promise<void>;
    getGeneratedStructure(): CodeNode;
    private eventListeners;
    on(event: string, callback: Function): void;
    private emit;
    runCustomLogic(hookName: string, data: any): Promise<any>;
}
