import { type LinkFlowDeps } from "#setup/flows/link.js";
import { type Prompter } from "#setup/prompter.js";
export interface LinkCliLogger {
    error(message: string): void;
    log(message: string): void;
}
export interface LinkCommandDependencies {
    createPrompter?: () => Prompter;
    isEveProject(projectPath: string): Promise<boolean>;
    hasInteractiveTerminal(): boolean;
    /** Test seam into the flow's detection and box effects. */
    flowDeps?: Partial<LinkFlowDeps>;
}
/**
 * `eve link`: pick a Vercel team, then create or select a project (re-linking
 * when one is already linked), run `vercel link` for the resolved project,
 * then pull env so the AI Gateway credential lands in `.env.local`. The flow
 * itself is {@link runLinkFlow}, shared with the dev TUI `/model` menu's
 * provider row. Interactive only: the pickers are the point of the command, so
 * a non-TTY run refuses with guidance instead of guessing a project.
 */
export declare function runLinkCommand(logger: LinkCliLogger, appRoot: string, dependencies?: LinkCommandDependencies): Promise<void>;
