/** * Shared configuration for generators across CLI and UI */ export interface ProjectTypeChoice { value: 'empty' | 'with-samples'; label: string; shortLabel?: string; description?: string; icon?: string; recommended?: boolean; } export interface GeneratorChoice { value: string; label: string; description?: string; icon?: string; } export interface GeneratorDefaults { projectType: 'empty' | 'with-samples'; skipModels: boolean; skipGit: boolean; getDefaultDestination: () => string; getDefaultNamespace: (projectName: string) => string; } /** * Project type choices - shared between CLI and UI */ export declare const PROJECT_TYPE_CHOICES: ProjectTypeChoice[]; /** * Available generator types - shared between CLI and UI */ export declare const GENERATOR_CHOICES: GeneratorChoice[]; /** * Default configuration values with config manager integration */ export declare const GENERATOR_DEFAULTS: GeneratorDefaults; /** * Validation constants */ export declare const VALIDATION_CONSTANTS: { readonly MAX_NAME_LENGTH: 63; readonly MIN_NAME_LENGTH: 1; readonly NAME_PATTERN: RegExp; }; /** * UI-specific configurations */ export declare const UI_CONFIG: { readonly messages: { readonly projectNamePrompt: "Enter a name for your new agent project:"; readonly projectTypePrompt: "Choose project type:"; readonly generatorTypePrompt: "Choose what you'd like to generate:"; readonly nameTooLong: (max: number) => string; readonly nameEmpty: "Name cannot be empty"; readonly nameInvalid: (suggested: string) => string; readonly generationComplete: "Project Generated Successfully!"; readonly generationFailed: "Generation Failed"; }; readonly steps: { readonly generatorType: "generator-type"; readonly projectName: "project-name"; readonly projectConfig: "project-config"; readonly generating: "generating"; readonly complete: "complete"; readonly error: "error"; }; readonly colors: { readonly primary: "cyan"; readonly success: "green"; readonly error: "red"; readonly warning: "yellow"; readonly secondary: "gray"; }; readonly icons: { readonly generator: "đŸŽ¯"; readonly project: "đŸ“Ļ"; readonly success: "✅"; readonly error: "❌"; readonly warning: "âš ī¸"; readonly info: "â„šī¸"; readonly folder: "📁"; readonly rocket: "🚀"; }; }; /** * CLI-specific configurations */ export declare const CLI_CONFIG: { readonly prompts: { readonly projectType: { readonly type: "list"; readonly name: "projectType"; readonly message: "Project type:"; readonly default: "empty" | "with-samples"; }; readonly parentDir: { readonly type: "input"; readonly name: "parentDir"; readonly message: "Parent directory for project:"; readonly filter: (input: string) => string; }; readonly namespace: { readonly type: "input"; readonly name: "namespace"; readonly message: "Kubernetes namespace:"; }; }; readonly messages: { readonly banner: "🚀 ARK Agent Project Generator"; readonly checkingPrerequisites: "📋 Checking prerequisites..."; readonly projectConfiguration: "📋 Project Configuration"; readonly generatingProject: "📋 Generating project..."; readonly projectGenerated: "✅ Project generated successfully"; }; }; /** * Get project type choices formatted for inquirer (CLI) */ export declare function getInquirerProjectTypeChoices(): { name: string; value: "empty" | "with-samples"; short: string; }[]; /** * Get project type choices formatted for ink-select-input (UI) */ export declare function getUIProjectTypeChoices(): { label: string; value: "empty" | "with-samples"; }[]; /** * Get generator choices formatted for ink-select-input (UI) */ export declare function getUIGeneratorChoices(): { label: string; value: string; }[]; /** * Get the recommended project type */ export declare function getRecommendedProjectType(): 'empty' | 'with-samples'; /** * Get project type by value */ export declare function getProjectTypeChoice(value: 'empty' | 'with-samples'): ProjectTypeChoice | undefined;