export interface TemplateConfig {
    name: string;
    title?: string;
    description: string;
    category: string;
    complexity: 'beginner' | 'intermediate' | 'advanced';
    inspired_by?: string;
    dependencies: {
        integrations: string[];
        plugins: string[];
    };
}
export interface TemplateRegistry {
    templates: TemplateConfig[];
}
export declare class AgentProjectGenerator {
    private projectPath;
    private projectName;
    private packageManager;
    private template;
    constructor(projectPath: string, packageManager?: string, template?: string);
    generate(): Promise<void>;
    /**
     * Returns the list of available templates from the registry.
     */
    static getAvailableTemplates(): TemplateConfig[];
    /**
     * Returns the dependencies (integrations and plugins) for the current template.
     */
    getDependencies(): {
        integrations: string[];
        plugins: string[];
    };
    private getTemplateConfig;
    /**
     * Optional external templates provider. When set (e.g., by the CLI from embedded assets),
     * this is used as the templates root instead of filesystem resolution.
     */
    private static _templatesRootOverride;
    static setTemplatesRoot(dir: string): void;
    static resetTemplatesRoot(): void;
    private static getTemplatesRoot;
    private resolveTemplateDir;
    private copyTemplateFiles;
    private copyDirRecursive;
    private ensureEmptyDirectory;
    private createPackageJson;
    private createTsConfig;
    private createGitignore;
    private createAIAssistantInstructions;
    private writeFile;
    private writeJsonFile;
}
//# sourceMappingURL=agent-project-generator.d.ts.map