//#region src/utils/baseTemplateGenerator.d.ts interface TemplateScope { block?: { clsName: string; framework: string; name: string; slug: string; tailwind?: boolean; }; editorVersion?: string; tailwind?: boolean; } declare abstract class BaseTemplateGenerator { protected getTemplateDir(name: string): string; protected getTemplateFiles(name: string): string[]; protected renderTemplate(templateName: string, destDir: string, scope: TemplateScope, fileFilter?: (filename: string) => boolean): void; protected resolvePackageRoot(): string; } //#endregion //#region src/utils/juoTemplateGenerator.d.ts type Logger$1 = (message?: string) => void; interface JuoTemplateGeneratorOptionsBase { framework: 'preact' | 'react'; story?: boolean; tailwind: boolean; type: 'block' | 'theme'; } interface JuoBlockTemplateGeneratorOptions extends JuoTemplateGeneratorOptionsBase { logger?: Logger$1; name: string; } declare class JuoTemplateGenerator extends BaseTemplateGenerator { private storyGenerator; constructor(); appendStylesheet(destDir: string): void; generate(destDir: string, options: JuoBlockTemplateGeneratorOptions): Promise; private generateBlockTemplate; /** * Reads the current index.ts to extract all exported block names, * then regenerates register.ts with a registerBlocks() function that * registers each block via registerBlock() from @juo/blocks. */ private regenerateRegisterFile; } //#endregion //#region src/utils/packageGenerator.d.ts interface PackageGeneratorOptions { framework: 'preact' | 'react'; name: string; packageManager: 'npm' | 'pnpm' | 'yarn'; storybook?: boolean; tailwind?: boolean; version?: string; } declare class PackageGenerator { static generate(destDir: string, options: PackageGeneratorOptions): Promise; private static buildPackageJson; private static readPackageManagerVersion; private static sort; } //#endregion //#region src/utils/storyGenerator.d.ts type Logger = (message?: string) => void; interface StoryGeneratorOptions { framework: 'preact' | 'react'; logger?: Logger; name: string; tailwind: boolean; type: 'block' | 'theme'; } declare class StoryGenerator extends BaseTemplateGenerator { generate(destDir: string, options: StoryGeneratorOptions): Promise; private generateBlockTemplate; private generateThemeTemplate; } //#endregion export { BaseTemplateGenerator, type JuoBlockTemplateGeneratorOptions, JuoTemplateGenerator, type JuoTemplateGeneratorOptionsBase, PackageGenerator, type PackageGeneratorOptions, StoryGenerator, type StoryGeneratorOptions, type TemplateScope };