/**
 * Build output packaging.
 *
 * After a framework adapter builds the project, the packager:
 * 1. Generates launch metadata (how to start the app)
 * 2. Writes launch.json
 *
 * The output is a self-contained directory ready for deployment
 * as a buildpack image layer or traditional zip upload.
 */
import type { DetectedFramework } from '../detect/types.ts';
import type { MonorepoContext } from '../detect/monorepo.ts';
import type { BuildResult } from '../adapters/types.ts';
import { type LaunchMetadata } from './launch.ts';
export interface PackageResult {
    /** Absolute path to the packaged output */
    outputDir: string;
    /** Launch metadata */
    launch: LaunchMetadata;
    /** Whether the output contains static assets */
    hasStaticAssets: boolean;
    /** Path to static assets (if any) */
    staticDir?: string;
}
/**
 * Package a build result into a deployment-ready directory.
 *
 * If `projectDir` is supplied and contains a user-authored `launch.json`,
 * its fields override the generated launch metadata. See
 * `readUserLaunchOverride` for the merge semantics.
 */
export declare function packageBuildOutput(framework: DetectedFramework, buildResult: BuildResult, outputDir: string, projectDir?: string, monorepo?: MonorepoContext): PackageResult;
export type { LaunchMetadata, ProcessDefinition } from './launch.ts';
//# sourceMappingURL=index.d.ts.map