///
import { SpawnOptions } from 'child_process';
import { ExecaReturns } from 'execa';
import { Files, PackageJson } from '@vercel/build-utils';
import { IOptions } from 'glob';
import { Configuration as NuxtConfiguration } from '@nuxt/types';
declare type Mutable = {
-readonly [P in keyof T]: T[P] extends ReadonlyArray ? Mutable[] : Mutable;
};
export declare type MutablePackageJson = Mutable;
export declare function exec(cmd: string, args: string[], { env, ...opts }?: SpawnOptions): Promise;
/**
* Validate if the entrypoint is allowed to be used
*/
export declare function validateEntrypoint(entrypoint: string): void;
export declare function renameFiles(files: Files, renameFn: (fileName: string) => string): Files;
export declare function globAndRename(pattern: string, opts: IOptions | string, renameFn: (fileName: string) => string): Promise;
export declare function globAndPrefix(pattern: string, opts: IOptions | string, prefix: string): Promise;
interface NuxtVersion {
name: string;
version: string;
semver: string;
suffix: string;
section: string;
}
export declare function findNuxtDep(pkg: MutablePackageJson): void | NuxtVersion;
export declare function preparePkgForProd(pkg: MutablePackageJson): NuxtVersion;
export declare function hrToMs(hr: [number, number]): number;
export declare function endStep(): void;
export declare function startStep(step: string): void;
export declare function getNuxtConfig(rootDir: string, nuxtConfigName: string): NuxtConfiguration;
export declare function getNuxtConfigName(rootDir: string): string;
export {};