type Project = {
    id: string;
    path: string;
    devServerPort: number;
    devServerHost?: string;
    status: 'detected' | 'connected' | 'error';
    packageManager: 'npm' | 'yarn' | 'pnpm';
    framework: Framework;
    entryPoint?: string;
};
export type Framework = 'nextjs' | 'vite' | 'cra' | 'remix' | 'svelte' | 'static';
export declare class ProjectDetectionService {
    detectFramework(projectPath: string): Framework;
    detectPackageManager(projectPath: string): Promise<'npm' | 'yarn' | 'pnpm'>;
    /**
     * Reads the configured dev server port from framework config files in the project.
     * Returns undefined if no port can be determined from config.
     */
    readConfiguredPort(projectPath: string): number | undefined;
    findRunningDevServer(projectPath: string, excludePorts?: number[], preferredPort?: number): Promise<{
        port: number;
        host: string;
    } | null>;
    detectProject(projectPath: string, overrideFramework?: Framework, entryPath?: string, excludePorts?: number[], preferredDevServerPort?: number): Promise<Project>;
    isPortActive(port: number): Promise<boolean>;
    private normalizeFilesystemPath;
    private isPortOwnedByProject;
    private getListeningPortPids;
    private getProcessCwd;
}
export {};
//# sourceMappingURL=ProjectDetectionService.d.ts.map