import { ProjectConfig } from './types.js';
export interface ProjectTemplate {
    name: string;
    description: string;
    type: string;
    files: TemplateFile[];
    scripts: Record<string, string>;
    dependencies: string[];
    devDependencies: string[];
    gitignoreEntries: string[];
    postInitSteps: string[];
}
export interface TemplateFile {
    path: string;
    content: string;
    isTemplate: boolean;
}
export declare class ProjectTemplates {
    static readonly TYPESCRIPT_LIBRARY: ProjectTemplate;
    static readonly NODE_API: ProjectTemplate;
    static readonly REACT_APP: ProjectTemplate;
    static readonly CLI_TOOL: ProjectTemplate;
    /**
     * Get all available templates
     */
    static getAllTemplates(): ProjectTemplate[];
    /**
     * Get template by type
     */
    static getTemplate(type: string): ProjectTemplate | undefined;
    /**
     * Process template variables in content
     */
    static processTemplate(content: string, variables: Record<string, string>): string;
    /**
     * Generate template variables from project config
     */
    static generateVariables(config: ProjectConfig): Record<string, string>;
}
//# sourceMappingURL=templates.d.ts.map