import { type ApplicationConfigurationInput, type SupportedPackageManager } from "@salixcommerce/config"; export declare const TEMPLATE_NAME: "nextjs-store"; export declare const TEMPLATE_VERSION: "0.9.0"; export interface ProjectManifest { readonly businessName: string; readonly configurationFingerprint: string; readonly features: { readonly discounts: false; readonly productReviews: false; readonly recipes: boolean; }; readonly generatedAt: string; readonly generatorVersion: string; readonly packageManager: SupportedPackageManager; readonly projectName: string; readonly schemaVersion: 2; readonly sharedPackages: { readonly "@salixcommerce/config": string; readonly "@salixcommerce/core": string; readonly "@salixcommerce/stripe": string; }; readonly template: { readonly name: typeof TEMPLATE_NAME; readonly version: typeof TEMPLATE_VERSION; }; } export interface GenerateProjectOptions { readonly businessName: string; readonly clock?: () => Date; readonly configuration?: ApplicationConfigurationInput; readonly cwd: string; readonly dryRun?: boolean; readonly install?: boolean; readonly packageManager: SupportedPackageManager; readonly projectName: string; readonly runCommand?: CommandRunner; readonly signal?: AbortSignal; readonly templateDirectory?: string; } export interface GenerateProjectResult { readonly destination: string; readonly files: readonly string[]; readonly installed: boolean; readonly manifest: ProjectManifest; readonly written: boolean; } type CommandRunner = (command: string, args: readonly string[], options: { readonly cwd: string; readonly signal?: AbortSignal; }) => Promise; export declare function detectPackageManager(userAgent?: string | undefined): SupportedPackageManager; export declare function getTemplateFiles(templateDirectory?: string): Promise; export declare function generateProject(options: GenerateProjectOptions): Promise; export {}; //# sourceMappingURL=generator.d.ts.map