import type { ProjectResolution } from "../project-resolution.js";
import type { Prompter } from "../prompter.js";
import { type SetupState } from "../state.js";
import type { OutputSink } from "../step.js";
/**
 * Seeds the in-project {@link SetupState} the link and deploy flows start
 * from: the detected (or deliberately unresolved) link, the directory basename
 * as the agent name (it labels resolve-provisioning's "create a new project
 * named X" row), and the resolved in-place project path. The channels flow
 * seeds its own state instead — it must keep the default empty agent name so
 * the Slack connector slug falls back to the package.json name, exactly like
 * `eve channels add`.
 */
export declare function inProjectSetupState(appRoot: string, project: ProjectResolution, seed?: Partial<SetupState>): SetupState;
/** Routes runner sink output through the prompter's log. */
export declare function prompterSink(prompter: Prompter): OutputSink;
