import type { Api } from "@cargo-ai/api"; import type { Command } from "commander"; import { type Cookbook } from "../cookbook.js"; export declare function registerInitCommand(parent: Command, getApi: () => Api): void; /** * Create this project's deploy state and write the pointer to it into * cargo.state.json. * * Optional enrichment, like the research above: `cdk init` has always worked * signed out, and a workspace that cannot be reached must not cost anybody the * scaffold. Either way the file lands — without a uuid when the state could not * be created — so the pointer is committed and `cdk state create` only has to * fill it in. * * Exported for tests: surviving a workspace it cannot reach is the whole point * of the two branches below. */ export declare function seedDeployState(getApi: () => Api, targetDir: string): Promise; /** * What the run is about to do, in the order it will do it. * * `add cookbook/` names the write it is about to make and asks before * making it. `init` could not: the cookbook is chosen in the wizard's second * question and copied in four steps' time, so the only place a person could * read what they had agreed to was the output after it had happened. This is * that read, printed while nothing has been written yet. * * It does not ask again — the picker's "Start with ?" is the * confirmation, and a second yes to the same question is a step, not a * safeguard. And it is only for a cookbook: a blank scaffold is one directory * from one repo, which its own success line already says. * * Exported for tests; the `init` action is the only production caller. */ export declare function formatCookbookPlan(payload: { cookbook: Cookbook; /** The directory as the user gave it, so the plan names what they typed. */ directory: string; /** Whether this run will also run `npm install`. */ installing: boolean; /** Whether the company questions will be asked — they are skipped headless. */ interactive: boolean; }): string; /** * What to run next, from the repo root. * * Exported for tests: the `infra/` install that used to be here was a command * that could not work, and a test is what keeps it from coming back. */ export type GithubNextSteps = { initialized: boolean; alreadyInRepository: boolean; createdRemote: boolean; connectedGithub: boolean; }; export declare function formatProjectNextSteps(payload: { targetDir: string; installed: boolean; /** The cookbook layered onto the scaffold, and the files it occupies. */ layered?: { cookbook: Cookbook; files: readonly string[]; }; github?: GithubNextSteps; }): string; //# sourceMappingURL=init.d.ts.map