import { type DeployFlowDeps } from "#setup/flows/deploy.js";
import { type Prompter } from "#setup/prompter.js";
export interface DeployCliLogger {
    error(message: string): void;
    log(message: string): void;
}
export interface DeployCommandDependencies {
    createPrompter?: () => Prompter;
    isEveProject(projectPath: string): Promise<boolean>;
    hasInteractiveTerminal(): boolean;
    /** Test seam into the flow's detection and box effects. */
    flowDeps?: Partial<DeployFlowDeps>;
}
/**
 * `eve deploy`: deploy the agent to Vercel production. An already-linked
 * project deploys straight away (interactively or not); an unlinked one walks
 * the same team/project pickers as onboarding when a terminal is present, and
 * refuses with `eve link` guidance otherwise. The flow itself is
 * {@link runDeployFlow}, shared with the dev TUI's `/deploy`.
 */
export declare function runDeployCommand(logger: DeployCliLogger, appRoot: string, dependencies?: DeployCommandDependencies): Promise<void>;
