/**
 * Framework Detection
 *
 * Examines a project directory and determines which JS framework is being used.
 * Returns a DetectedFramework with all the information needed to build and launch.
 *
 * Detection strategy:
 * 1. Run the framework database engine (rules derived from @vercel/frameworks)
 * 2. Fall back to generic detection (package.json scripts)
 * 3. As a last resort, deploy bare static HTML projects that only have index.html
 */
import type { DetectedFramework, PackageJsonData } from './types.ts';
/**
 * Canonical error message for "no deployable project here." Centralised
 * so adding a new supported entrypoint (e.g. a Python project) only
 * requires updating one string instead of hunting down every caller's
 * copy. Used by build, deploy, discover, and project-reconcile error
 * paths. If you add a new entrypoint, update this string and the
 * `detectBareStaticHtml`-style checks in lockstep.
 */
export declare const NO_DEPLOYABLE_PROJECT_MESSAGE = "Could not detect a deployable project. Expected a package.json with a build script (e.g. \"build\": \"next build\"), or a bare index.html for static HTML deploys.";
export declare function detectFramework(projectDir: string): Promise<DetectedFramework | null>;
/**
 * Detect the framework, but also return the parsed package.json for reuse.
 */
export declare function detectFrameworkWithPackageJson(projectDir: string): Promise<{
    framework: DetectedFramework | null;
    packageJson: PackageJsonData | null;
}>;
export type { DetectedFramework, FrameworkName, PackageJsonData, PackageManager, RuntimeName, } from './types.ts';
//# sourceMappingURL=index.d.ts.map