export type CliRunOptions = { appDir: string; routes: string[] | null; cycles: number | null; /** * How many times to measure each route, from a fresh server each time. * * More cycles watch one process for longer; repetitions watch different * processes. The spreads that make a verdict unpublishable live between * processes: vercel/next.js#84648 gave 602, 826 and 875 MB on three runs of * one build and 39 MB on a fourth. */ repeat: number | null; requests: number | null; connections: number | null; idleSeconds: number | null; warmupRequests: number | null; maxOldSpaceMb: number | null; /** Seconds each measured process gets to boot before the route is failed. */ readyTimeoutSeconds: number | null; quick: boolean; noResolve: boolean; selfCheck: boolean; diffAll: boolean; attributeBuild: boolean; writeConfig: boolean; output: string | null; }; export type CliBuildOptions = { appDir: string; output: string | null; /** Opt-in: signal the worker for snapshots and name what it retains. */ attributeBuild: boolean; }; export type ParsedCli = { kind: "run"; options: CliRunOptions; } | { kind: "build"; options: CliBuildOptions; } | { kind: "help"; } | { kind: "version"; } | { kind: "error"; message: string; }; export declare function helpText(version: string): string; export declare function parseCliArgs(argv: string[]): ParsedCli;