export interface ProjectConfig { name: string; detection: { files: string[]; extensions: string[]; }; setup: { steps: SetupStep[]; environment: Record; }; validation: { checks: ValidationCheck[]; }; defaultConfig: { interpreter: string; execMode: 'fork' | 'cluster'; supportsCluster: boolean; interpreterPath?: string; startScript?: string; startCommand?: string; }; } export interface SetupStep { name: string; command: string; description: string; required: boolean; conditional?: string; platform?: 'win32' | 'unix'; workingDirectory?: string; useVenv?: boolean; timeout?: number; } export interface ValidationCheck { name: string; file?: string; directory?: string; pattern?: string; optional?: boolean; } export interface SetupResult { success: boolean; steps: StepResult[]; errors: string[]; warnings: string[]; environment: Record; interpreterPath?: string; } export interface StepResult { name: string; success: boolean; output: string; error?: string; skipped?: boolean; duration: number; } export declare class ProjectSetupService { private configs; private logFile; constructor(); private loadConfigs; private ensureLogDirectory; private log; detectProjectType(projectPath: string): string | null; setupProject(projectPath: string, projectType: string, onLog?: (msg: string) => void): Promise; private shouldSkipStep; private executeStep; private validateSetup; getProjectConfig(projectType: string): ProjectConfig | null; getSupportedProjectTypes(): string[]; } export declare const projectSetupService: ProjectSetupService;