import type { FrontPackageInstallerContext } from '../../front-package-installer.js';
/**
 * Identity (IAM + OAuth) FRONTEND package installer.
 *
 * Runs after both the `iam` and `o-auth` template trees have been copied by
 * the meta-package dispatch in `addFrontPackage`. Responsible for wiring the
 * four shared composition-root files via the three idempotent CodeWriter
 * methods and the new `swapCurrentAccountAdapter` op.
 *
 * Execution order (design D4):
 * 1. For each member BC (`iam`, `o-auth`):
 *    a. `declareFrontBoundedContext()` — wire lazy route in `routes.ts`.
 *    b. `registerFrontNavigation()` — add nav import + spread in `navigation-data.ts`.
 *    c. `registerBcAggregatorInNavMain(srcDirectory, bc)` — add icons spread in `nav-main.ts`.
 * 2. Once (iam-specific): `swapCurrentAccountAdapter(ctx)` — swap provider in `aurora.provider.ts`.
 * 3. Consumer-Prettier format pass on all four touched files (cosmetic, non-fatal).
 *
 * MUST NOT:
 * - Add npm dependencies.
 * - Touch `domains/auth/` or `public/i18n/navigation/`.
 *
 * Returns a concise post-install banner surfaced by the `add` command after
 * `spinner.succeed()`.
 */
export default function install(ctx: FrontPackageInstallerContext): Promise<string>;
