export declare const MONOREPO_ROOT_PATHS_NOTE = "These must be the monorepo/workspace root paths \u2014 the workspace package.json and the hoisted node_modules folder \u2014 not the app package under apps/ or packages/.";
export declare const MONOREPO_UPLOAD_RETRY_HINT = "If this app lives in a monorepo, retry the upload with the monorepo root package.json and the monorepo root node_modules paths (not the app package folder).";
export type BundleUploadRecoveryChoice = 'retry' | 'retry-with-monorepo-paths';
export declare function getBundleUploadFailureRecoveryOptions(): {
    value: BundleUploadRecoveryChoice;
    label: string;
    hint?: string;
}[];
export declare function joinUniqueUploadPaths(...paths: Array<string | undefined>): string | undefined;
export declare function resolveUploadPaths(paths: string | undefined, baseDir: string): string | undefined;
export declare function mergeMonorepoRootUploadPaths(prompted: {
    packageJson?: string;
    nodeModules?: string;
}, current: {
    packageJson?: string;
    nodeModules?: string;
}, promptCwd: string): {
    packageJson?: string;
    nodeModules?: string;
};
export declare function formatBundleUploadRunnerCommand(runner: string, appId: string, options: {
    bundle?: string;
    channel?: string;
    deltaOnly?: boolean;
    packageJson?: string;
    nodeModules?: string;
}): string;
export declare function withMonorepoUploadRetryHint(error: string): string;
