import { ensureConnection, listAuthoredConnections } from "#setup/scaffold/index.js";
import { cleanupCreatedConnectionConnector, setupConnectionConnector } from "../connection-connector.js";
import { readProjectLink, type ProjectResolution } from "../project-resolution.js";
import type { Prompter } from "../prompter.js";
import { type SetupState } from "../state.js";
import type { SetupBox } from "../step.js";
/** Injected for tests; defaults to the real scaffold and Connect effects. */
export interface AddConnectionsDeps {
    ensureConnection: typeof ensureConnection;
    listAuthoredConnections: typeof listAuthoredConnections;
    readProjectLink: typeof readProjectLink;
    setupConnectionConnector: typeof setupConnectionConnector;
    cleanupCreatedConnectionConnector: typeof cleanupCreatedConnectionConnector;
}
export interface AddConnectionsOptions {
    /** Carries connector selection prompts and provisioning output. */
    prompter: Prompter;
    signal?: AbortSignal;
    deps?: AddConnectionsDeps;
}
/**
 * THE CONNECTIONS BOX: executes the {@link ConnectionPlan}s the
 * select-connections box recorded during the interview. It scaffolds each file
 * and resolves the concrete Connect connector against the linked project.
 */
export declare function addConnections(options: AddConnectionsOptions): SetupBox<SetupState, null, ProjectResolution>;
