import type { Command } from "commander"; import type { Api } from "../../api.js"; import { type ProjectContext } from "./brief.js"; export type StartOptions = { email?: string; oauth?: boolean; workspaceName?: string; workspaceUuid?: string; code?: string; continue?: string; directory?: string; icp?: string; baseUrl?: string; }; /** What the flow needs from the program it was registered on. */ export type StartDeps = { /** The script `project init` is re-run through — normally `process.argv[1]`. */ binPath: string; /** Opens the command palette, part-way down the tree. */ openPalette: (startPath: readonly string[]) => Promise; }; /** * Where the agent is about to be opened. Three cases, all decided locally — * this runs before every handoff, including from the palette, so it must not * touch the network. * * Exported for tests; `go` is the only production caller. */ export declare function resolveProjectContext(cwd: string): ProjectContext; export declare function registerStartCommand(program: Command, getApi: () => Api, deps: StartDeps): void; export declare function runStart(getApi: () => Api, deps: StartDeps, opts: StartOptions): Promise; /** * The command that finishes what this run started, for a machine with no * terminal to type the emailed code into. * * It has to be `start` rather than `login`: `login --code` signs the user in * and stops, so the destination this run was headed for is lost and re-running * `start --email` issues a second code instead of spending the first. Every * flag that decided where this was going is carried over. * * Exported for tests; `signIn` is the only production caller. */ export declare function resumeCommand(email: string, opts: StartOptions): string; //# sourceMappingURL=index.d.ts.map