export interface SetupResult {
    productName: string;
    productSlug: string;
    targetDirectory: string;
    applications: string[];
    components: string[];
    autoTests: boolean;
    licenseKey: string | undefined;
}
/**
 * SetupService handles the interactive project setup flow using @clack/prompts.
 *
 * This service provides a branded, user-friendly setup experience that:
 * - Guides users through project configuration steps
 * - Validates user inputs and provides helpful defaults
 * - Collects feature selections and optional configurations
 * - Generates project structure using the TemplateService
 * - Creates license files when license keys are provided
 *
 * The setup flow follows the design document specification with:
 * 1. Product name input with validation
 * 2. Auto-generated folder name (editable)
 * 3. Multi-select feature customizations
 * 4. Auto-tests yes/no (defaults to Yes)
 * 5. Optional license key (hidden input)
 * 6. Confirmation before creation
 * 7. Progress indication during generation
 */
export declare class CreateService {
    private logger;
    private templateService;
    /**
     * Run the interactive setup flow
     */
    runSetup(): Promise<void>;
    /**
     * Collect all setup data through interactive prompts
     */
    private collectSetupData;
    private collectComponents;
    /**
     * Collect feature selections using setupUI configuration
     */
    private collectTemplateApplications;
    /**
     * Show confirmation and create the project
     */
    private confirmAndCreate;
    /**
     * Generate NPM-compatible folder name from product name
     */
    private generateFolderName;
    /**
     * Generate license.key file with provided license JSON
     */
    private generateLicenseFile;
}
//# sourceMappingURL=create.service.d.ts.map